in proton-j/src/main/java/org/apache/qpid/proton/codec/transport/DispositionType.java [115:147]
public Disposition newInstance(Object described)
{
List l = (List) described;
Disposition o = new Disposition();
if(l.isEmpty())
{
throw new DecodeException("The first field cannot be omitted");
}
switch(6 - l.size())
{
case 0:
Boolean batchable = (Boolean) l.get(5);
o.setBatchable(batchable == null ? false : batchable);
case 1:
o.setState( (DeliveryState) l.get( 4 ) );
case 2:
Boolean settled = (Boolean) l.get(3);
o.setSettled(settled == null ? false : settled);
case 3:
o.setLast( (UnsignedInteger) l.get( 2 ) );
case 4:
o.setFirst( (UnsignedInteger) l.get( 1 ) );
case 5:
o.setRole( Boolean.TRUE.equals(l.get( 0 )) ? Role.RECEIVER : Role.SENDER );
}
return o;
}