in proton-j/src/main/java/org/apache/qpid/proton/codec/messaging/FastPathPropertiesType.java [59:132]
public Properties readValue() {
DecoderImpl decoder = getDecoder();
ReadableBuffer buffer = decoder.getBuffer();
byte typeCode = decoder.getBuffer().get();
@SuppressWarnings("unused")
int size = 0;
int count = 0;
switch (typeCode) {
case EncodingCodes.LIST0:
break;
case EncodingCodes.LIST8:
size = buffer.get() & 0xff;
count = buffer.get() & 0xff;
break;
case EncodingCodes.LIST32:
size = buffer.getInt();
count = buffer.getInt();
break;
default:
throw new DecodeException("Incorrect type found in Properties encoding: " + typeCode);
}
Properties properties = new Properties();
for (int index = 0; index < count; ++index) {
switch (index) {
case 0:
properties.setMessageId(decoder.readObject());
break;
case 1:
properties.setUserId(decoder.readBinary(null));
break;
case 2:
properties.setTo(decoder.readString(null));
break;
case 3:
properties.setSubject(decoder.readString(null));
break;
case 4:
properties.setReplyTo(decoder.readString(null));
break;
case 5:
properties.setCorrelationId(decoder.readObject());
break;
case 6:
properties.setContentType(decoder.readSymbol(null));
break;
case 7:
properties.setContentEncoding(decoder.readSymbol(null));
break;
case 8:
properties.setAbsoluteExpiryTime(decoder.readTimestamp(null));
break;
case 9:
properties.setCreationTime(decoder.readTimestamp(null));
break;
case 10:
properties.setGroupId(decoder.readString(null));
break;
case 11:
properties.setGroupSequence(decoder.readUnsignedInteger(null));
break;
case 12:
properties.setReplyToGroupId(decoder.readString(null));
break;
default:
throw new IllegalStateException("To many entries in Properties encoding");
}
}
return properties;
}