public void writeElement()

in protonj2/src/main/java/org/apache/qpid/protonj2/codec/encoders/messaging/SourceTypeEncoder.java [52:90]


    public void writeElement(Source source, int index, ProtonBuffer buffer, Encoder encoder, EncoderState state) {
        switch (index) {
            case 0:
                encoder.writeString(buffer, state, source.getAddress());
                break;
            case 1:
                encoder.writeUnsignedInteger(buffer, state, source.getDurable().getValue());
                break;
            case 2:
                encoder.writeSymbol(buffer, state, source.getExpiryPolicy().getPolicy());
                break;
            case 3:
                encoder.writeUnsignedInteger(buffer, state, source.getTimeout());
                break;
            case 4:
                buffer.writeByte(source.isDynamic() ? EncodingCodes.BOOLEAN_TRUE : EncodingCodes.BOOLEAN_FALSE);
                break;
            case 5:
                encoder.writeMap(buffer, state, source.getDynamicNodeProperties());
                break;
            case 6:
                encoder.writeSymbol(buffer, state, source.getDistributionMode());
                break;
            case 7:
                encoder.writeMap(buffer, state, source.getFilter());
                break;
            case 8:
                encoder.writeObject(buffer, state, source.getDefaultOutcome());
                break;
            case 9:
                encoder.writeArray(buffer, state, source.getOutcomes());
                break;
            case 10:
                encoder.writeArray(buffer, state, source.getCapabilities());
                break;
            default:
                throw new IllegalArgumentException("Unknown Source value index: " + index);
        }
    }