public void writeElement()

in protonj2/src/main/java/org/apache/qpid/protonj2/codec/encoders/transport/AttachTypeEncoder.java [49:100]


    public void writeElement(Attach attach, int index, ProtonBuffer buffer, Encoder encoder, EncoderState state) {
        if (attach.hasElement(index)) {
            switch (index) {
                case 0:
                    encoder.writeString(buffer, state, attach.getName());
                    break;
                case 1:
                    encoder.writeUnsignedInteger(buffer, state, attach.getHandle());
                    break;
                case 2:
                    buffer.writeByte(attach.getRole().encodingCode());
                    break;
                case 3:
                    encoder.writeUnsignedByte(buffer, state, attach.getSenderSettleMode().byteValue());
                    break;
                case 4:
                    encoder.writeUnsignedByte(buffer, state, attach.getReceiverSettleMode().byteValue());
                    break;
                case 5:
                    encoder.writeObject(buffer, state, attach.getSource());
                    break;
                case 6:
                    encoder.writeObject(buffer, state, attach.getTarget());
                    break;
                case 7:
                    encoder.writeMap(buffer, state, attach.getUnsettled());
                    break;
                case 8:
                    buffer.writeByte(attach.getIncompleteUnsettled() ? EncodingCodes.BOOLEAN_TRUE : EncodingCodes.BOOLEAN_FALSE);
                    break;
                case 9:
                    encoder.writeUnsignedInteger(buffer, state, attach.getInitialDeliveryCount());
                    break;
                case 10:
                    encoder.writeUnsignedLong(buffer, state, attach.getMaxMessageSize());
                    break;
                case 11:
                    encoder.writeArray(buffer, state, attach.getOfferedCapabilities());
                    break;
                case 12:
                    encoder.writeArray(buffer, state, attach.getDesiredCapabilities());
                    break;
                case 13:
                    encoder.writeMap(buffer, state, attach.getProperties());
                    break;
                default:
                    throw new IllegalArgumentException("Unknown Attach value index: " + index);
            }
        } else {
            buffer.writeByte(EncodingCodes.NULL);
        }
    }