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);
}
}