activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cmacn...@apache.org
Subject svn commit: r909704 [3/10] - in /activemq/sandbox/activemq-apollo-actor/activemq-amqp/src: main/java/org/apache/activemq/amqp/protocol/marshaller/ main/java/org/apache/activemq/amqp/protocol/marshaller/v1_0_0/ main/java/org/apache/activemq/amqp/protoco...
Date Sat, 13 Feb 2010 03:20:18 GMT
Modified: activemq/sandbox/activemq-apollo-actor/activemq-amqp/src/main/java/org/apache/activemq/amqp/protocol/marshaller/v1_0_0/AmqpListMarshaller.java
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-apollo-actor/activemq-amqp/src/main/java/org/apache/activemq/amqp/protocol/marshaller/v1_0_0/AmqpListMarshaller.java?rev=909704&r1=909703&r2=909704&view=diff
==============================================================================
--- activemq/sandbox/activemq-apollo-actor/activemq-amqp/src/main/java/org/apache/activemq/amqp/protocol/marshaller/v1_0_0/AmqpListMarshaller.java (original)
+++ activemq/sandbox/activemq-apollo-actor/activemq-amqp/src/main/java/org/apache/activemq/amqp/protocol/marshaller/v1_0_0/AmqpListMarshaller.java Sat Feb 13 03:20:16 2010
@@ -27,13 +27,14 @@
 import org.apache.activemq.amqp.protocol.marshaller.v1_0_0.Encoder;
 import org.apache.activemq.amqp.protocol.marshaller.v1_0_0.Encoder.*;
 import org.apache.activemq.amqp.protocol.types.AmqpList;
+import org.apache.activemq.amqp.protocol.types.AmqpType;
 import org.apache.activemq.amqp.protocol.types.IAmqpList;
 import org.apache.activemq.util.buffer.Buffer;
 
 public class AmqpListMarshaller {
 
     private static final Encoder ENCODER = Encoder.SINGLETON;
-    private static final Encoded<IAmqpList> NULL_ENCODED = new Encoder.NullEncoded<IAmqpList>();
+    private static final Encoded<IAmqpList<AmqpType<?, ?>>> NULL_ENCODED = new Encoder.NullEncoded<IAmqpList<AmqpType<?, ?>>>();
 
     public static final byte LIST8_FORMAT_CODE = (byte) 0xc0;
     public static final byte LIST32_FORMAT_CODE = (byte) 0xd0;
@@ -101,7 +102,7 @@
             }
             }
         }
-        static final AmqpListEncoded createEncoded(byte formatCode, IAmqpList value) throws AmqpEncodingError {
+        static final AmqpListEncoded createEncoded(byte formatCode, IAmqpList<AmqpType<?, ?>> value) throws AmqpEncodingError {
             switch(formatCode) {
             case LIST8_FORMAT_CODE: {
                 return new AmqpListList8Encoded(value);
@@ -121,14 +122,14 @@
             }
         }
     }
-    public static abstract class AmqpListEncoded extends AbstractEncoded <IAmqpList> {
+    public static abstract class AmqpListEncoded extends AbstractEncoded <IAmqpList<AmqpType<?, ?>>> {
         ListDecoder decoder = Encoder.DEFAULT_LIST_DECODER;
 
         public AmqpListEncoded(EncodedBuffer encoded) {
             super(encoded);
         }
 
-        public AmqpListEncoded(byte formatCode, IAmqpList value) throws AmqpEncodingError {
+        public AmqpListEncoded(byte formatCode, IAmqpList<AmqpType<?, ?>> value) throws AmqpEncodingError {
             super(formatCode, value);
         }
 
@@ -147,7 +148,7 @@
             super(encoded);
         }
 
-        public AmqpListList8Encoded(IAmqpList value) throws AmqpEncodingError {
+        public AmqpListList8Encoded(IAmqpList<AmqpType<?, ?>> value) throws AmqpEncodingError {
             super(LIST_ENCODING.LIST8.FORMAT_CODE, value);
         }
 
@@ -159,20 +160,20 @@
             return ENCODER.getEncodedCountOfList(value, encoding);
         }
 
-        public final void encode(IAmqpList value, Buffer encoded, int offset) throws AmqpEncodingError {
+        public final void encode(IAmqpList<AmqpType<?, ?>> value, Buffer encoded, int offset) throws AmqpEncodingError {
             ENCODER.encodeListList8(value, encoded, offset);
         }
 
-        public final IAmqpList decode(EncodedBuffer encoded) throws AmqpEncodingError {
-            return ENCODER.decodeListList8(encoded.getBuffer(), encoded.getDataOffset(), encoded.getDataCount(), encoded.getDataSize(), decoder);
-        }
-
         public final void marshalData(DataOutput out) throws IOException {
             ENCODER.writeListList8(value, out);
         }
 
-        public final IAmqpList unmarshalData(DataInput in) throws IOException {
-            return ENCODER.readListList8(getDataCount(), getDataSize(), in, decoder);
+        public final IAmqpList<AmqpType<?, ?>> decode(EncodedBuffer encoded) throws AmqpEncodingError {
+            return decoder.decode(encoded.asCompound().constituents());
+        }
+
+        public final IAmqpList<AmqpType<?, ?>> unmarshalData(DataInput in) throws IOException {
+            return decoder.unmarshalType(getDataCount(), getDataSize(), in);
         }
     }
 
@@ -186,7 +187,7 @@
             super(encoded);
         }
 
-        public AmqpListList32Encoded(IAmqpList value) throws AmqpEncodingError {
+        public AmqpListList32Encoded(IAmqpList<AmqpType<?, ?>> value) throws AmqpEncodingError {
             super(LIST_ENCODING.LIST32.FORMAT_CODE, value);
         }
 
@@ -198,20 +199,20 @@
             return ENCODER.getEncodedCountOfList(value, encoding);
         }
 
-        public final void encode(IAmqpList value, Buffer encoded, int offset) throws AmqpEncodingError {
+        public final void encode(IAmqpList<AmqpType<?, ?>> value, Buffer encoded, int offset) throws AmqpEncodingError {
             ENCODER.encodeListList32(value, encoded, offset);
         }
 
-        public final IAmqpList decode(EncodedBuffer encoded) throws AmqpEncodingError {
-            return ENCODER.decodeListList32(encoded.getBuffer(), encoded.getDataOffset(), encoded.getDataCount(), encoded.getDataSize(), decoder);
-        }
-
         public final void marshalData(DataOutput out) throws IOException {
             ENCODER.writeListList32(value, out);
         }
 
-        public final IAmqpList unmarshalData(DataInput in) throws IOException {
-            return ENCODER.readListList32(getDataCount(), getDataSize(), in, decoder);
+        public final IAmqpList<AmqpType<?, ?>> decode(EncodedBuffer encoded) throws AmqpEncodingError {
+            return decoder.decode(encoded.asCompound().constituents());
+        }
+
+        public final IAmqpList<AmqpType<?, ?>> unmarshalData(DataInput in) throws IOException {
+            return decoder.unmarshalType(getDataCount(), getDataSize(), in);
         }
     }
 
@@ -225,7 +226,7 @@
             super(encoded);
         }
 
-        public AmqpListArray8Encoded(IAmqpList value) throws AmqpEncodingError {
+        public AmqpListArray8Encoded(IAmqpList<AmqpType<?, ?>> value) throws AmqpEncodingError {
             super(LIST_ENCODING.ARRAY8.FORMAT_CODE, value);
         }
 
@@ -237,20 +238,20 @@
             return ENCODER.getEncodedCountOfList(value, encoding);
         }
 
-        public final void encode(IAmqpList value, Buffer encoded, int offset) throws AmqpEncodingError {
+        public final void encode(IAmqpList<AmqpType<?, ?>> value, Buffer encoded, int offset) throws AmqpEncodingError {
             ENCODER.encodeListArray8(value, encoded, offset);
         }
 
-        public final IAmqpList decode(EncodedBuffer encoded) throws AmqpEncodingError {
-            return ENCODER.decodeListArray8(encoded.getBuffer(), encoded.getDataOffset(), encoded.getDataCount(), encoded.getDataSize(), decoder);
-        }
-
         public final void marshalData(DataOutput out) throws IOException {
             ENCODER.writeListArray8(value, out);
         }
 
-        public final IAmqpList unmarshalData(DataInput in) throws IOException {
-            return ENCODER.readListArray8(getDataCount(), getDataSize(), in, decoder);
+        public final IAmqpList<AmqpType<?, ?>> decode(EncodedBuffer encoded) throws AmqpEncodingError {
+            return decoder.decode(encoded.asCompound().constituents());
+        }
+
+        public final IAmqpList<AmqpType<?, ?>> unmarshalData(DataInput in) throws IOException {
+            return decoder.unmarshalType(getDataCount(), getDataSize(), in);
         }
     }
 
@@ -264,7 +265,7 @@
             super(encoded);
         }
 
-        public AmqpListArray32Encoded(IAmqpList value) throws AmqpEncodingError {
+        public AmqpListArray32Encoded(IAmqpList<AmqpType<?, ?>> value) throws AmqpEncodingError {
             super(LIST_ENCODING.ARRAY32.FORMAT_CODE, value);
         }
 
@@ -276,63 +277,63 @@
             return ENCODER.getEncodedCountOfList(value, encoding);
         }
 
-        public final void encode(IAmqpList value, Buffer encoded, int offset) throws AmqpEncodingError {
+        public final void encode(IAmqpList<AmqpType<?, ?>> value, Buffer encoded, int offset) throws AmqpEncodingError {
             ENCODER.encodeListArray32(value, encoded, offset);
         }
 
-        public final IAmqpList decode(EncodedBuffer encoded) throws AmqpEncodingError {
-            return ENCODER.decodeListArray32(encoded.getBuffer(), encoded.getDataOffset(), encoded.getDataCount(), encoded.getDataSize(), decoder);
-        }
-
         public final void marshalData(DataOutput out) throws IOException {
             ENCODER.writeListArray32(value, out);
         }
 
-        public final IAmqpList unmarshalData(DataInput in) throws IOException {
-            return ENCODER.readListArray32(getDataCount(), getDataSize(), in, decoder);
+        public final IAmqpList<AmqpType<?, ?>> decode(EncodedBuffer encoded) throws AmqpEncodingError {
+            return decoder.decode(encoded.asCompound().constituents());
+        }
+
+        public final IAmqpList<AmqpType<?, ?>> unmarshalData(DataInput in) throws IOException {
+            return decoder.unmarshalType(getDataCount(), getDataSize(), in);
         }
     }
 
 
     private static final LIST_ENCODING chooseEncoding(AmqpList val) throws AmqpEncodingError {
-        return Encoder.chooseListEncoding(val.getValue());
+        return Encoder.chooseListEncoding(val);
     }
 
-    private static final LIST_ENCODING chooseEncoding(IAmqpList val) throws AmqpEncodingError {
+    private static final LIST_ENCODING chooseEncoding(IAmqpList<AmqpType<?, ?>> val) throws AmqpEncodingError {
         return Encoder.chooseListEncoding(val);
     }
 
-    static final Encoded<IAmqpList> encode(AmqpList data) throws AmqpEncodingError {
+    static final Encoded<IAmqpList<AmqpType<?, ?>>> encode(AmqpList data) throws AmqpEncodingError {
         if(data == null) {
             return NULL_ENCODED;
         }
-        return LIST_ENCODING.createEncoded(chooseEncoding(data).FORMAT_CODE, data.getValue());
+        return LIST_ENCODING.createEncoded(chooseEncoding(data).FORMAT_CODE, data);
     }
 
-    static final Encoded<IAmqpList> createEncoded(Buffer source, int offset) throws AmqpEncodingError {
+    static final Encoded<IAmqpList<AmqpType<?, ?>>> createEncoded(Buffer source, int offset) throws AmqpEncodingError {
         return createEncoded(FormatCategory.createBuffer(source, offset));
     }
 
-    static final Encoded<IAmqpList> createEncoded(IAmqpList val) throws AmqpEncodingError {
+    static final Encoded<IAmqpList<AmqpType<?, ?>>> createEncoded(IAmqpList<AmqpType<?, ?>> val) throws AmqpEncodingError {
         return LIST_ENCODING.createEncoded(chooseEncoding(val).FORMAT_CODE, val);
     }
 
-    static final Encoded<IAmqpList> createEncoded(DataInput in) throws IOException, AmqpEncodingError {
+    static final Encoded<IAmqpList<AmqpType<?, ?>>> createEncoded(DataInput in) throws IOException, AmqpEncodingError {
         return createEncoded(FormatCategory.createBuffer(in.readByte(), in));
     }
 
-    static final Encoded<IAmqpList> createEncoded(EncodedBuffer buffer) throws AmqpEncodingError {
+    static final Encoded<IAmqpList<AmqpType<?, ?>>> createEncoded(EncodedBuffer buffer) throws AmqpEncodingError {
         if(buffer.getEncodingFormatCode() == AmqpNullMarshaller.FORMAT_CODE) {
             return NULL_ENCODED;
         }
         return LIST_ENCODING.createEncoded(buffer);
     }
 
-    static final Encoded<IAmqpList> createEncoded(DataInput in, ListDecoder decoder) throws IOException, AmqpEncodingError {
+    static final Encoded<IAmqpList<AmqpType<?, ?>>> createEncoded(DataInput in, ListDecoder decoder) throws IOException, AmqpEncodingError {
         return createEncoded(FormatCategory.createBuffer(in.readByte(), in), decoder);
     }
 
-    static final Encoded<IAmqpList> createEncoded(EncodedBuffer buffer, ListDecoder decoder) throws AmqpEncodingError {
+    static final Encoded<IAmqpList<AmqpType<?, ?>>> createEncoded(EncodedBuffer buffer, ListDecoder decoder) throws AmqpEncodingError {
         if(buffer.getEncodingFormatCode() == AmqpNullMarshaller.FORMAT_CODE) {
             return NULL_ENCODED;
         }

Modified: activemq/sandbox/activemq-apollo-actor/activemq-amqp/src/main/java/org/apache/activemq/amqp/protocol/marshaller/v1_0_0/AmqpMapMarshaller.java
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-apollo-actor/activemq-amqp/src/main/java/org/apache/activemq/amqp/protocol/marshaller/v1_0_0/AmqpMapMarshaller.java?rev=909704&r1=909703&r2=909704&view=diff
==============================================================================
--- activemq/sandbox/activemq-apollo-actor/activemq-amqp/src/main/java/org/apache/activemq/amqp/protocol/marshaller/v1_0_0/AmqpMapMarshaller.java (original)
+++ activemq/sandbox/activemq-apollo-actor/activemq-amqp/src/main/java/org/apache/activemq/amqp/protocol/marshaller/v1_0_0/AmqpMapMarshaller.java Sat Feb 13 03:20:16 2010
@@ -142,16 +142,16 @@
             ENCODER.encodeMapMap8(value, encoded, offset);
         }
 
-        public final IAmqpMap<AmqpType<?, ?>, AmqpType<?, ?>> decode(EncodedBuffer encoded) throws AmqpEncodingError {
-            return ENCODER.decodeMapMap8(encoded.getBuffer(), encoded.getDataOffset(), encoded.getDataCount(), encoded.getDataSize(), decoder);
-        }
-
         public final void marshalData(DataOutput out) throws IOException {
             ENCODER.writeMapMap8(value, out);
         }
 
+        public final IAmqpMap<AmqpType<?, ?>, AmqpType<?, ?>> decode(EncodedBuffer encoded) throws AmqpEncodingError {
+            return decoder.decode(encoded.asCompound().constituents());
+        }
+
         public final IAmqpMap<AmqpType<?, ?>, AmqpType<?, ?>> unmarshalData(DataInput in) throws IOException {
-            return ENCODER.readMapMap8(getDataCount(), getDataSize(), in, decoder);
+            return decoder.unmarshalType(getDataCount(), getDataSize(), in);
         }
     }
 
@@ -181,22 +181,22 @@
             ENCODER.encodeMapMap32(value, encoded, offset);
         }
 
-        public final IAmqpMap<AmqpType<?, ?>, AmqpType<?, ?>> decode(EncodedBuffer encoded) throws AmqpEncodingError {
-            return ENCODER.decodeMapMap32(encoded.getBuffer(), encoded.getDataOffset(), encoded.getDataCount(), encoded.getDataSize(), decoder);
-        }
-
         public final void marshalData(DataOutput out) throws IOException {
             ENCODER.writeMapMap32(value, out);
         }
 
+        public final IAmqpMap<AmqpType<?, ?>, AmqpType<?, ?>> decode(EncodedBuffer encoded) throws AmqpEncodingError {
+            return decoder.decode(encoded.asCompound().constituents());
+        }
+
         public final IAmqpMap<AmqpType<?, ?>, AmqpType<?, ?>> unmarshalData(DataInput in) throws IOException {
-            return ENCODER.readMapMap32(getDataCount(), getDataSize(), in, decoder);
+            return decoder.unmarshalType(getDataCount(), getDataSize(), in);
         }
     }
 
 
     private static final MAP_ENCODING chooseEncoding(AmqpMap val) throws AmqpEncodingError {
-        return Encoder.chooseMapEncoding(val.getValue());
+        return Encoder.chooseMapEncoding(val);
     }
 
     private static final MAP_ENCODING chooseEncoding(IAmqpMap<AmqpType<?, ?>, AmqpType<?, ?>> val) throws AmqpEncodingError {
@@ -207,7 +207,7 @@
         if(data == null) {
             return NULL_ENCODED;
         }
-        return MAP_ENCODING.createEncoded(chooseEncoding(data).FORMAT_CODE, data.getValue());
+        return MAP_ENCODING.createEncoded(chooseEncoding(data).FORMAT_CODE, data);
     }
 
     static final Encoded<IAmqpMap<AmqpType<?, ?>, AmqpType<?, ?>>> createEncoded(Buffer source, int offset) throws AmqpEncodingError {

Modified: activemq/sandbox/activemq-apollo-actor/activemq-amqp/src/main/java/org/apache/activemq/amqp/protocol/marshaller/v1_0_0/AmqpMarshaller.java
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-apollo-actor/activemq-amqp/src/main/java/org/apache/activemq/amqp/protocol/marshaller/v1_0_0/AmqpMarshaller.java?rev=909704&r1=909703&r2=909704&view=diff
==============================================================================
--- activemq/sandbox/activemq-apollo-actor/activemq-amqp/src/main/java/org/apache/activemq/amqp/protocol/marshaller/v1_0_0/AmqpMarshaller.java (original)
+++ activemq/sandbox/activemq-apollo-actor/activemq-amqp/src/main/java/org/apache/activemq/amqp/protocol/marshaller/v1_0_0/AmqpMarshaller.java Sat Feb 13 03:20:16 2010
@@ -325,15 +325,15 @@
         //an placeholder type
         throw new AmqpEncodingError("Unrecognized described type:" + descriptor);
     }
-    public final Encoded<IAmqpList> encode(AmqpSessionError data) throws AmqpEncodingError {
+    public final Encoded<IAmqpList<AmqpType<?, ?>>> encode(AmqpSessionError data) throws AmqpEncodingError {
         return AmqpSessionErrorMarshaller.encode(data);
     }
 
-    public Encoded<IAmqpList> decodeAmqpSessionError(Buffer source, int offset) throws AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> decodeAmqpSessionError(Buffer source, int offset) throws AmqpEncodingError {
         return AmqpSessionErrorMarshaller.createEncoded(source, offset);
     }
 
-    public Encoded<IAmqpList> unmarshalAmqpSessionError(DataInput in) throws IOException, AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> unmarshalAmqpSessionError(DataInput in) throws IOException, AmqpEncodingError {
         return AmqpSessionErrorMarshaller.createEncoded(in);
     }
 
@@ -349,27 +349,27 @@
         return AmqpCharMarshaller.createEncoded(in);
     }
 
-    public final Encoded<IAmqpList> encode(AmqpUnlink data) throws AmqpEncodingError {
+    public final Encoded<IAmqpList<AmqpType<?, ?>>> encode(AmqpUnlink data) throws AmqpEncodingError {
         return AmqpUnlinkMarshaller.encode(data);
     }
 
-    public Encoded<IAmqpList> decodeAmqpUnlink(Buffer source, int offset) throws AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> decodeAmqpUnlink(Buffer source, int offset) throws AmqpEncodingError {
         return AmqpUnlinkMarshaller.createEncoded(source, offset);
     }
 
-    public Encoded<IAmqpList> unmarshalAmqpUnlink(DataInput in) throws IOException, AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> unmarshalAmqpUnlink(DataInput in) throws IOException, AmqpEncodingError {
         return AmqpUnlinkMarshaller.createEncoded(in);
     }
 
-    public final Encoded<IAmqpList> encode(AmqpFlow data) throws AmqpEncodingError {
+    public final Encoded<IAmqpList<AmqpType<?, ?>>> encode(AmqpFlow data) throws AmqpEncodingError {
         return AmqpFlowMarshaller.encode(data);
     }
 
-    public Encoded<IAmqpList> decodeAmqpFlow(Buffer source, int offset) throws AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> decodeAmqpFlow(Buffer source, int offset) throws AmqpEncodingError {
         return AmqpFlowMarshaller.createEncoded(source, offset);
     }
 
-    public Encoded<IAmqpList> unmarshalAmqpFlow(DataInput in) throws IOException, AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> unmarshalAmqpFlow(DataInput in) throws IOException, AmqpEncodingError {
         return AmqpFlowMarshaller.createEncoded(in);
     }
 
@@ -397,39 +397,39 @@
         return AmqpFloatMarshaller.createEncoded(in);
     }
 
-    public final Encoded<IAmqpList> encode(AmqpRelink data) throws AmqpEncodingError {
+    public final Encoded<IAmqpList<AmqpType<?, ?>>> encode(AmqpRelink data) throws AmqpEncodingError {
         return AmqpRelinkMarshaller.encode(data);
     }
 
-    public Encoded<IAmqpList> decodeAmqpRelink(Buffer source, int offset) throws AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> decodeAmqpRelink(Buffer source, int offset) throws AmqpEncodingError {
         return AmqpRelinkMarshaller.createEncoded(source, offset);
     }
 
-    public Encoded<IAmqpList> unmarshalAmqpRelink(DataInput in) throws IOException, AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> unmarshalAmqpRelink(DataInput in) throws IOException, AmqpEncodingError {
         return AmqpRelinkMarshaller.createEncoded(in);
     }
 
-    public final Encoded<IAmqpList> encode(AmqpClose data) throws AmqpEncodingError {
+    public final Encoded<IAmqpList<AmqpType<?, ?>>> encode(AmqpClose data) throws AmqpEncodingError {
         return AmqpCloseMarshaller.encode(data);
     }
 
-    public Encoded<IAmqpList> decodeAmqpClose(Buffer source, int offset) throws AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> decodeAmqpClose(Buffer source, int offset) throws AmqpEncodingError {
         return AmqpCloseMarshaller.createEncoded(source, offset);
     }
 
-    public Encoded<IAmqpList> unmarshalAmqpClose(DataInput in) throws IOException, AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> unmarshalAmqpClose(DataInput in) throws IOException, AmqpEncodingError {
         return AmqpCloseMarshaller.createEncoded(in);
     }
 
-    public final Encoded<IAmqpList> encode(AmqpOpen data) throws AmqpEncodingError {
+    public final Encoded<IAmqpList<AmqpType<?, ?>>> encode(AmqpOpen data) throws AmqpEncodingError {
         return AmqpOpenMarshaller.encode(data);
     }
 
-    public Encoded<IAmqpList> decodeAmqpOpen(Buffer source, int offset) throws AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> decodeAmqpOpen(Buffer source, int offset) throws AmqpEncodingError {
         return AmqpOpenMarshaller.createEncoded(source, offset);
     }
 
-    public Encoded<IAmqpList> unmarshalAmqpOpen(DataInput in) throws IOException, AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> unmarshalAmqpOpen(DataInput in) throws IOException, AmqpEncodingError {
         return AmqpOpenMarshaller.createEncoded(in);
     }
 
@@ -457,15 +457,15 @@
         return AmqpRejectedMarshaller.createEncoded(in);
     }
 
-    public final Encoded<IAmqpList> encode(AmqpSaslOutcome data) throws AmqpEncodingError {
+    public final Encoded<IAmqpList<AmqpType<?, ?>>> encode(AmqpSaslOutcome data) throws AmqpEncodingError {
         return AmqpSaslOutcomeMarshaller.encode(data);
     }
 
-    public Encoded<IAmqpList> decodeAmqpSaslOutcome(Buffer source, int offset) throws AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> decodeAmqpSaslOutcome(Buffer source, int offset) throws AmqpEncodingError {
         return AmqpSaslOutcomeMarshaller.createEncoded(source, offset);
     }
 
-    public Encoded<IAmqpList> unmarshalAmqpSaslOutcome(DataInput in) throws IOException, AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> unmarshalAmqpSaslOutcome(DataInput in) throws IOException, AmqpEncodingError {
         return AmqpSaslOutcomeMarshaller.createEncoded(in);
     }
 
@@ -493,27 +493,27 @@
         return AmqpUlongMarshaller.createEncoded(in);
     }
 
-    public final Encoded<IAmqpList> encode(AmqpTransfer data) throws AmqpEncodingError {
+    public final Encoded<IAmqpList<AmqpType<?, ?>>> encode(AmqpTransfer data) throws AmqpEncodingError {
         return AmqpTransferMarshaller.encode(data);
     }
 
-    public Encoded<IAmqpList> decodeAmqpTransfer(Buffer source, int offset) throws AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> decodeAmqpTransfer(Buffer source, int offset) throws AmqpEncodingError {
         return AmqpTransferMarshaller.createEncoded(source, offset);
     }
 
-    public Encoded<IAmqpList> unmarshalAmqpTransfer(DataInput in) throws IOException, AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> unmarshalAmqpTransfer(DataInput in) throws IOException, AmqpEncodingError {
         return AmqpTransferMarshaller.createEncoded(in);
     }
 
-    public final Encoded<IAmqpList> encode(AmqpDetach data) throws AmqpEncodingError {
+    public final Encoded<IAmqpList<AmqpType<?, ?>>> encode(AmqpDetach data) throws AmqpEncodingError {
         return AmqpDetachMarshaller.encode(data);
     }
 
-    public Encoded<IAmqpList> decodeAmqpDetach(Buffer source, int offset) throws AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> decodeAmqpDetach(Buffer source, int offset) throws AmqpEncodingError {
         return AmqpDetachMarshaller.createEncoded(source, offset);
     }
 
-    public Encoded<IAmqpList> unmarshalAmqpDetach(DataInput in) throws IOException, AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> unmarshalAmqpDetach(DataInput in) throws IOException, AmqpEncodingError {
         return AmqpDetachMarshaller.createEncoded(in);
     }
 
@@ -529,15 +529,15 @@
         return AmqpSymbolMarshaller.createEncoded(in);
     }
 
-    public final Encoded<IAmqpList> encode(AmqpSaslInit data) throws AmqpEncodingError {
+    public final Encoded<IAmqpList<AmqpType<?, ?>>> encode(AmqpSaslInit data) throws AmqpEncodingError {
         return AmqpSaslInitMarshaller.encode(data);
     }
 
-    public Encoded<IAmqpList> decodeAmqpSaslInit(Buffer source, int offset) throws AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> decodeAmqpSaslInit(Buffer source, int offset) throws AmqpEncodingError {
         return AmqpSaslInitMarshaller.createEncoded(source, offset);
     }
 
-    public Encoded<IAmqpList> unmarshalAmqpSaslInit(DataInput in) throws IOException, AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> unmarshalAmqpSaslInit(DataInput in) throws IOException, AmqpEncodingError {
         return AmqpSaslInitMarshaller.createEncoded(in);
     }
 
@@ -553,27 +553,27 @@
         return AmqpIntMarshaller.createEncoded(in);
     }
 
-    public final Encoded<IAmqpList> encode(AmqpEnlist data) throws AmqpEncodingError {
+    public final Encoded<IAmqpList<AmqpType<?, ?>>> encode(AmqpEnlist data) throws AmqpEncodingError {
         return AmqpEnlistMarshaller.encode(data);
     }
 
-    public Encoded<IAmqpList> decodeAmqpEnlist(Buffer source, int offset) throws AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> decodeAmqpEnlist(Buffer source, int offset) throws AmqpEncodingError {
         return AmqpEnlistMarshaller.createEncoded(source, offset);
     }
 
-    public Encoded<IAmqpList> unmarshalAmqpEnlist(DataInput in) throws IOException, AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> unmarshalAmqpEnlist(DataInput in) throws IOException, AmqpEncodingError {
         return AmqpEnlistMarshaller.createEncoded(in);
     }
 
-    public final Encoded<IAmqpList> encode(AmqpProperties data) throws AmqpEncodingError {
+    public final Encoded<IAmqpList<AmqpType<?, ?>>> encode(AmqpProperties data) throws AmqpEncodingError {
         return AmqpPropertiesMarshaller.encode(data);
     }
 
-    public Encoded<IAmqpList> decodeAmqpProperties(Buffer source, int offset) throws AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> decodeAmqpProperties(Buffer source, int offset) throws AmqpEncodingError {
         return AmqpPropertiesMarshaller.createEncoded(source, offset);
     }
 
-    public Encoded<IAmqpList> unmarshalAmqpProperties(DataInput in) throws IOException, AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> unmarshalAmqpProperties(DataInput in) throws IOException, AmqpEncodingError {
         return AmqpPropertiesMarshaller.createEncoded(in);
     }
 
@@ -589,39 +589,39 @@
         return AmqpDoubleMarshaller.createEncoded(in);
     }
 
-    public final Encoded<IAmqpList> encode(AmqpDrain data) throws AmqpEncodingError {
+    public final Encoded<IAmqpList<AmqpType<?, ?>>> encode(AmqpDrain data) throws AmqpEncodingError {
         return AmqpDrainMarshaller.encode(data);
     }
 
-    public Encoded<IAmqpList> decodeAmqpDrain(Buffer source, int offset) throws AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> decodeAmqpDrain(Buffer source, int offset) throws AmqpEncodingError {
         return AmqpDrainMarshaller.createEncoded(source, offset);
     }
 
-    public Encoded<IAmqpList> unmarshalAmqpDrain(DataInput in) throws IOException, AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> unmarshalAmqpDrain(DataInput in) throws IOException, AmqpEncodingError {
         return AmqpDrainMarshaller.createEncoded(in);
     }
 
-    public final Encoded<IAmqpList> encode(AmqpHeader data) throws AmqpEncodingError {
+    public final Encoded<IAmqpList<AmqpType<?, ?>>> encode(AmqpHeader data) throws AmqpEncodingError {
         return AmqpHeaderMarshaller.encode(data);
     }
 
-    public Encoded<IAmqpList> decodeAmqpHeader(Buffer source, int offset) throws AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> decodeAmqpHeader(Buffer source, int offset) throws AmqpEncodingError {
         return AmqpHeaderMarshaller.createEncoded(source, offset);
     }
 
-    public Encoded<IAmqpList> unmarshalAmqpHeader(DataInput in) throws IOException, AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> unmarshalAmqpHeader(DataInput in) throws IOException, AmqpEncodingError {
         return AmqpHeaderMarshaller.createEncoded(in);
     }
 
-    public final Encoded<IAmqpList> encode(AmqpSaslMechanisms data) throws AmqpEncodingError {
+    public final Encoded<IAmqpList<AmqpType<?, ?>>> encode(AmqpSaslMechanisms data) throws AmqpEncodingError {
         return AmqpSaslMechanismsMarshaller.encode(data);
     }
 
-    public Encoded<IAmqpList> decodeAmqpSaslMechanisms(Buffer source, int offset) throws AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> decodeAmqpSaslMechanisms(Buffer source, int offset) throws AmqpEncodingError {
         return AmqpSaslMechanismsMarshaller.createEncoded(source, offset);
     }
 
-    public Encoded<IAmqpList> unmarshalAmqpSaslMechanisms(DataInput in) throws IOException, AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> unmarshalAmqpSaslMechanisms(DataInput in) throws IOException, AmqpEncodingError {
         return AmqpSaslMechanismsMarshaller.createEncoded(in);
     }
 
@@ -637,27 +637,27 @@
         return AmqpUuidMarshaller.createEncoded(in);
     }
 
-    public final Encoded<IAmqpList> encode(AmqpBar data) throws AmqpEncodingError {
+    public final Encoded<IAmqpList<AmqpType<?, ?>>> encode(AmqpBar data) throws AmqpEncodingError {
         return AmqpBarMarshaller.encode(data);
     }
 
-    public Encoded<IAmqpList> decodeAmqpBar(Buffer source, int offset) throws AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> decodeAmqpBar(Buffer source, int offset) throws AmqpEncodingError {
         return AmqpBarMarshaller.createEncoded(source, offset);
     }
 
-    public Encoded<IAmqpList> unmarshalAmqpBar(DataInput in) throws IOException, AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> unmarshalAmqpBar(DataInput in) throws IOException, AmqpEncodingError {
         return AmqpBarMarshaller.createEncoded(in);
     }
 
-    public final Encoded<IAmqpList> encode(AmqpFilter data) throws AmqpEncodingError {
+    public final Encoded<IAmqpList<AmqpType<?, ?>>> encode(AmqpFilter data) throws AmqpEncodingError {
         return AmqpFilterMarshaller.encode(data);
     }
 
-    public Encoded<IAmqpList> decodeAmqpFilter(Buffer source, int offset) throws AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> decodeAmqpFilter(Buffer source, int offset) throws AmqpEncodingError {
         return AmqpFilterMarshaller.createEncoded(source, offset);
     }
 
-    public Encoded<IAmqpList> unmarshalAmqpFilter(DataInput in) throws IOException, AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> unmarshalAmqpFilter(DataInput in) throws IOException, AmqpEncodingError {
         return AmqpFilterMarshaller.createEncoded(in);
     }
 
@@ -673,27 +673,27 @@
         return AmqpBinaryMarshaller.createEncoded(in);
     }
 
-    public final Encoded<IAmqpList> encode(AmqpNoop data) throws AmqpEncodingError {
+    public final Encoded<IAmqpList<AmqpType<?, ?>>> encode(AmqpNoop data) throws AmqpEncodingError {
         return AmqpNoopMarshaller.encode(data);
     }
 
-    public Encoded<IAmqpList> decodeAmqpNoop(Buffer source, int offset) throws AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> decodeAmqpNoop(Buffer source, int offset) throws AmqpEncodingError {
         return AmqpNoopMarshaller.createEncoded(source, offset);
     }
 
-    public Encoded<IAmqpList> unmarshalAmqpNoop(DataInput in) throws IOException, AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> unmarshalAmqpNoop(DataInput in) throws IOException, AmqpEncodingError {
         return AmqpNoopMarshaller.createEncoded(in);
     }
 
-    public final Encoded<IAmqpList> encode(AmqpLink data) throws AmqpEncodingError {
+    public final Encoded<IAmqpList<AmqpType<?, ?>>> encode(AmqpLink data) throws AmqpEncodingError {
         return AmqpLinkMarshaller.encode(data);
     }
 
-    public Encoded<IAmqpList> decodeAmqpLink(Buffer source, int offset) throws AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> decodeAmqpLink(Buffer source, int offset) throws AmqpEncodingError {
         return AmqpLinkMarshaller.createEncoded(source, offset);
     }
 
-    public Encoded<IAmqpList> unmarshalAmqpLink(DataInput in) throws IOException, AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> unmarshalAmqpLink(DataInput in) throws IOException, AmqpEncodingError {
         return AmqpLinkMarshaller.createEncoded(in);
     }
 
@@ -733,15 +733,15 @@
         return AmqpReleasedMarshaller.createEncoded(in);
     }
 
-    public final Encoded<IAmqpList> encode(AmqpTxn data) throws AmqpEncodingError {
+    public final Encoded<IAmqpList<AmqpType<?, ?>>> encode(AmqpTxn data) throws AmqpEncodingError {
         return AmqpTxnMarshaller.encode(data);
     }
 
-    public Encoded<IAmqpList> decodeAmqpTxn(Buffer source, int offset) throws AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> decodeAmqpTxn(Buffer source, int offset) throws AmqpEncodingError {
         return AmqpTxnMarshaller.createEncoded(source, offset);
     }
 
-    public Encoded<IAmqpList> unmarshalAmqpTxn(DataInput in) throws IOException, AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> unmarshalAmqpTxn(DataInput in) throws IOException, AmqpEncodingError {
         return AmqpTxnMarshaller.createEncoded(in);
     }
 
@@ -757,63 +757,63 @@
         return AmqpMapMarshaller.createEncoded(in);
     }
 
-    public final Encoded<IAmqpList> encode(AmqpLinkError data) throws AmqpEncodingError {
+    public final Encoded<IAmqpList<AmqpType<?, ?>>> encode(AmqpLinkError data) throws AmqpEncodingError {
         return AmqpLinkErrorMarshaller.encode(data);
     }
 
-    public Encoded<IAmqpList> decodeAmqpLinkError(Buffer source, int offset) throws AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> decodeAmqpLinkError(Buffer source, int offset) throws AmqpEncodingError {
         return AmqpLinkErrorMarshaller.createEncoded(source, offset);
     }
 
-    public Encoded<IAmqpList> unmarshalAmqpLinkError(DataInput in) throws IOException, AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> unmarshalAmqpLinkError(DataInput in) throws IOException, AmqpEncodingError {
         return AmqpLinkErrorMarshaller.createEncoded(in);
     }
 
-    public final Encoded<IAmqpList> encode(AmqpConnectionError data) throws AmqpEncodingError {
+    public final Encoded<IAmqpList<AmqpType<?, ?>>> encode(AmqpConnectionError data) throws AmqpEncodingError {
         return AmqpConnectionErrorMarshaller.encode(data);
     }
 
-    public Encoded<IAmqpList> decodeAmqpConnectionError(Buffer source, int offset) throws AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> decodeAmqpConnectionError(Buffer source, int offset) throws AmqpEncodingError {
         return AmqpConnectionErrorMarshaller.createEncoded(source, offset);
     }
 
-    public Encoded<IAmqpList> unmarshalAmqpConnectionError(DataInput in) throws IOException, AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> unmarshalAmqpConnectionError(DataInput in) throws IOException, AmqpEncodingError {
         return AmqpConnectionErrorMarshaller.createEncoded(in);
     }
 
-    public final Encoded<IAmqpList> encode(AmqpSaslResponse data) throws AmqpEncodingError {
+    public final Encoded<IAmqpList<AmqpType<?, ?>>> encode(AmqpSaslResponse data) throws AmqpEncodingError {
         return AmqpSaslResponseMarshaller.encode(data);
     }
 
-    public Encoded<IAmqpList> decodeAmqpSaslResponse(Buffer source, int offset) throws AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> decodeAmqpSaslResponse(Buffer source, int offset) throws AmqpEncodingError {
         return AmqpSaslResponseMarshaller.createEncoded(source, offset);
     }
 
-    public Encoded<IAmqpList> unmarshalAmqpSaslResponse(DataInput in) throws IOException, AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> unmarshalAmqpSaslResponse(DataInput in) throws IOException, AmqpEncodingError {
         return AmqpSaslResponseMarshaller.createEncoded(in);
     }
 
-    public final Encoded<IAmqpList> encode(AmqpFragment data) throws AmqpEncodingError {
+    public final Encoded<IAmqpList<AmqpType<?, ?>>> encode(AmqpFragment data) throws AmqpEncodingError {
         return AmqpFragmentMarshaller.encode(data);
     }
 
-    public Encoded<IAmqpList> decodeAmqpFragment(Buffer source, int offset) throws AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> decodeAmqpFragment(Buffer source, int offset) throws AmqpEncodingError {
         return AmqpFragmentMarshaller.createEncoded(source, offset);
     }
 
-    public Encoded<IAmqpList> unmarshalAmqpFragment(DataInput in) throws IOException, AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> unmarshalAmqpFragment(DataInput in) throws IOException, AmqpEncodingError {
         return AmqpFragmentMarshaller.createEncoded(in);
     }
 
-    public final Encoded<IAmqpList> encode(AmqpDisposition data) throws AmqpEncodingError {
+    public final Encoded<IAmqpList<AmqpType<?, ?>>> encode(AmqpDisposition data) throws AmqpEncodingError {
         return AmqpDispositionMarshaller.encode(data);
     }
 
-    public Encoded<IAmqpList> decodeAmqpDisposition(Buffer source, int offset) throws AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> decodeAmqpDisposition(Buffer source, int offset) throws AmqpEncodingError {
         return AmqpDispositionMarshaller.createEncoded(source, offset);
     }
 
-    public Encoded<IAmqpList> unmarshalAmqpDisposition(DataInput in) throws IOException, AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> unmarshalAmqpDisposition(DataInput in) throws IOException, AmqpEncodingError {
         return AmqpDispositionMarshaller.createEncoded(in);
     }
 
@@ -841,27 +841,27 @@
         return AmqpCompletedMarshaller.createEncoded(in);
     }
 
-    public final Encoded<IAmqpList> encode(AmqpXid data) throws AmqpEncodingError {
+    public final Encoded<IAmqpList<AmqpType<?, ?>>> encode(AmqpXid data) throws AmqpEncodingError {
         return AmqpXidMarshaller.encode(data);
     }
 
-    public Encoded<IAmqpList> decodeAmqpXid(Buffer source, int offset) throws AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> decodeAmqpXid(Buffer source, int offset) throws AmqpEncodingError {
         return AmqpXidMarshaller.createEncoded(source, offset);
     }
 
-    public Encoded<IAmqpList> unmarshalAmqpXid(DataInput in) throws IOException, AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> unmarshalAmqpXid(DataInput in) throws IOException, AmqpEncodingError {
         return AmqpXidMarshaller.createEncoded(in);
     }
 
-    public final Encoded<IAmqpList> encode(AmqpList data) throws AmqpEncodingError {
+    public final Encoded<IAmqpList<AmqpType<?, ?>>> encode(AmqpList data) throws AmqpEncodingError {
         return AmqpListMarshaller.encode(data);
     }
 
-    public Encoded<IAmqpList> decodeAmqpList(Buffer source, int offset) throws AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> decodeAmqpList(Buffer source, int offset) throws AmqpEncodingError {
         return AmqpListMarshaller.createEncoded(source, offset);
     }
 
-    public Encoded<IAmqpList> unmarshalAmqpList(DataInput in) throws IOException, AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> unmarshalAmqpList(DataInput in) throws IOException, AmqpEncodingError {
         return AmqpListMarshaller.createEncoded(in);
     }
 
@@ -877,15 +877,15 @@
         return AmqpUshortMarshaller.createEncoded(in);
     }
 
-    public final Encoded<IAmqpList> encode(AmqpFooter data) throws AmqpEncodingError {
+    public final Encoded<IAmqpList<AmqpType<?, ?>>> encode(AmqpFooter data) throws AmqpEncodingError {
         return AmqpFooterMarshaller.encode(data);
     }
 
-    public Encoded<IAmqpList> decodeAmqpFooter(Buffer source, int offset) throws AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> decodeAmqpFooter(Buffer source, int offset) throws AmqpEncodingError {
         return AmqpFooterMarshaller.createEncoded(source, offset);
     }
 
-    public Encoded<IAmqpList> unmarshalAmqpFooter(DataInput in) throws IOException, AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> unmarshalAmqpFooter(DataInput in) throws IOException, AmqpEncodingError {
         return AmqpFooterMarshaller.createEncoded(in);
     }
 
@@ -901,27 +901,27 @@
         return AmqpSourceMarshaller.createEncoded(in);
     }
 
-    public final Encoded<IAmqpList> encode(AmqpSaslChallenge data) throws AmqpEncodingError {
+    public final Encoded<IAmqpList<AmqpType<?, ?>>> encode(AmqpSaslChallenge data) throws AmqpEncodingError {
         return AmqpSaslChallengeMarshaller.encode(data);
     }
 
-    public Encoded<IAmqpList> decodeAmqpSaslChallenge(Buffer source, int offset) throws AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> decodeAmqpSaslChallenge(Buffer source, int offset) throws AmqpEncodingError {
         return AmqpSaslChallengeMarshaller.createEncoded(source, offset);
     }
 
-    public Encoded<IAmqpList> unmarshalAmqpSaslChallenge(DataInput in) throws IOException, AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> unmarshalAmqpSaslChallenge(DataInput in) throws IOException, AmqpEncodingError {
         return AmqpSaslChallengeMarshaller.createEncoded(in);
     }
 
-    public final Encoded<IAmqpList> encode(AmqpAttach data) throws AmqpEncodingError {
+    public final Encoded<IAmqpList<AmqpType<?, ?>>> encode(AmqpAttach data) throws AmqpEncodingError {
         return AmqpAttachMarshaller.encode(data);
     }
 
-    public Encoded<IAmqpList> decodeAmqpAttach(Buffer source, int offset) throws AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> decodeAmqpAttach(Buffer source, int offset) throws AmqpEncodingError {
         return AmqpAttachMarshaller.createEncoded(source, offset);
     }
 
-    public Encoded<IAmqpList> unmarshalAmqpAttach(DataInput in) throws IOException, AmqpEncodingError {
+    public Encoded<IAmqpList<AmqpType<?, ?>>> unmarshalAmqpAttach(DataInput in) throws IOException, AmqpEncodingError {
         return AmqpAttachMarshaller.createEncoded(in);
     }
 

Modified: activemq/sandbox/activemq-apollo-actor/activemq-amqp/src/main/java/org/apache/activemq/amqp/protocol/marshaller/v1_0_0/AmqpNoopMarshaller.java
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-apollo-actor/activemq-amqp/src/main/java/org/apache/activemq/amqp/protocol/marshaller/v1_0_0/AmqpNoopMarshaller.java?rev=909704&r1=909703&r2=909704&view=diff
==============================================================================
--- activemq/sandbox/activemq-apollo-actor/activemq-amqp/src/main/java/org/apache/activemq/amqp/protocol/marshaller/v1_0_0/AmqpNoopMarshaller.java (original)
+++ activemq/sandbox/activemq-apollo-actor/activemq-amqp/src/main/java/org/apache/activemq/amqp/protocol/marshaller/v1_0_0/AmqpNoopMarshaller.java Sat Feb 13 03:20:16 2010
@@ -34,7 +34,7 @@
 public class AmqpNoopMarshaller implements DescribedTypeMarshaller<AmqpNoop>{
 
     static final AmqpNoopMarshaller SINGLETON = new AmqpNoopMarshaller();
-    private static final Encoded<IAmqpList> NULL_ENCODED = new Encoder.NullEncoded<IAmqpList>();
+    private static final Encoded<IAmqpList<AmqpType<?, ?>>> NULL_ENCODED = new Encoder.NullEncoded<IAmqpList<AmqpType<?, ?>>>();
 
     public static final String SYMBOLIC_ID = "amqp:noop:list";
     //Format code: 0x00000001:0x00000301:
@@ -48,31 +48,36 @@
         (byte) 0x00, (byte) 0x00, (byte) 0x03, (byte) 0x01   // DESCRIPTOR ID CODE
     }), 0);
 
-    private static final ListDecoder DECODER = new ListDecoder() {
-        public final AmqpType<?, ?> unmarshalType(int pos, DataInput in) throws IOException {
-            switch(pos) {
-            case 0: {
-                return AmqpOptions.AmqpOptionsBuffer.create(AmqpMapMarshaller.createEncoded(in));
-            }
-            default: {
-                return AmqpMarshaller.SINGLETON.unmarshalType(in);
-            }
-            }
-        }
-
-        public final AmqpType<?, ?> decodeType(int pos, EncodedBuffer buffer) throws AmqpEncodingError {
-            switch(pos) {
-            case 0: {
-                return AmqpOptions.AmqpOptionsBuffer.create(AmqpMapMarshaller.createEncoded(buffer));
-            }
-            default: {
-                return AmqpMarshaller.SINGLETON.decodeType(buffer);
-            }
+    private static final ListDecoder<AmqpType<?, ?>> DECODER = new ListDecoder<AmqpType<?, ?>>() {
+        public final IAmqpList<AmqpType<?, ?>> unmarshalType(int dataCount, int dataSize, DataInput in) throws AmqpEncodingError, IOException {
+            if (dataCount > 1) {
+                throw new AmqpEncodingError("Too many fields for " + SYMBOLIC_ID + ": " + dataCount);
+            }
+            IAmqpList<AmqpType<?, ?>> rc = new IAmqpList.ArrayBackedList<AmqpType<?, ?>>(new AmqpType<?, ?>[1]);
+            //options:
+            if(dataCount > 0) {
+                rc.set(0, AmqpOptions.AmqpOptionsBuffer.create(AmqpMapMarshaller.createEncoded(in)));
+                dataCount--;
+            }
+            return rc;
+        }
+
+        public IAmqpList<AmqpType<?, ?>> decode(EncodedBuffer[] constituents) {
+            if (constituents.length > 1) {
+                throw new AmqpEncodingError("Too many fields for " + SYMBOLIC_ID + ":" + constituents.length);
+            }
+            int dataCount = constituents.length;
+            IAmqpList<AmqpType<?, ?>> rc = new IAmqpList.ArrayBackedList<AmqpType<?, ?>>(new AmqpType<?, ?>[1]);
+            //options:
+            if(dataCount > 0) {
+                rc.set(0, AmqpOptions.AmqpOptionsBuffer.create(AmqpMapMarshaller.createEncoded(constituents[0])));
+                dataCount--;
             }
+            return rc;
         }
     };
 
-    public static class AmqpNoopEncoded extends DescribedEncoded<IAmqpList> {
+    public static class AmqpNoopEncoded extends DescribedEncoded<IAmqpList<AmqpType<?, ?>>> {
 
         public AmqpNoopEncoded(DescribedBuffer buffer) {
             super(buffer);
@@ -90,11 +95,11 @@
             return NUMERIC_ID;
         }
 
-        protected final Encoded<IAmqpList> decodeDescribed(EncodedBuffer encoded) throws AmqpEncodingError {
+        protected final Encoded<IAmqpList<AmqpType<?, ?>>> decodeDescribed(EncodedBuffer encoded) throws AmqpEncodingError {
             return AmqpListMarshaller.createEncoded(encoded, DECODER);
         }
 
-        protected final Encoded<IAmqpList> unmarshalDescribed(DataInput in) throws IOException {
+        protected final Encoded<IAmqpList<AmqpType<?, ?>>> unmarshalDescribed(DataInput in) throws IOException {
             return AmqpListMarshaller.createEncoded(in, DECODER);
         }
 
@@ -103,19 +108,19 @@
         }
     }
 
-    public static final Encoded<IAmqpList> encode(AmqpNoop value) throws AmqpEncodingError {
+    public static final Encoded<IAmqpList<AmqpType<?, ?>>> encode(AmqpNoop value) throws AmqpEncodingError {
         return new AmqpNoopEncoded(value);
     }
 
-    static final Encoded<IAmqpList> createEncoded(Buffer source, int offset) throws AmqpEncodingError {
+    static final Encoded<IAmqpList<AmqpType<?, ?>>> createEncoded(Buffer source, int offset) throws AmqpEncodingError {
         return createEncoded(FormatCategory.createBuffer(source, offset));
     }
 
-    static final Encoded<IAmqpList> createEncoded(DataInput in) throws IOException, AmqpEncodingError {
+    static final Encoded<IAmqpList<AmqpType<?, ?>>> createEncoded(DataInput in) throws IOException, AmqpEncodingError {
         return createEncoded(FormatCategory.createBuffer(in.readByte(), in));
     }
 
-    static final Encoded<IAmqpList> createEncoded(EncodedBuffer buffer) throws AmqpEncodingError {
+    static final Encoded<IAmqpList<AmqpType<?, ?>>> createEncoded(EncodedBuffer buffer) throws AmqpEncodingError {
         byte fc = buffer.getEncodingFormatCode();
         if (fc == Encoder.NULL_FORMAT_CODE) {
             return NULL_ENCODED;

Modified: activemq/sandbox/activemq-apollo-actor/activemq-amqp/src/main/java/org/apache/activemq/amqp/protocol/marshaller/v1_0_0/AmqpOpenMarshaller.java
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-apollo-actor/activemq-amqp/src/main/java/org/apache/activemq/amqp/protocol/marshaller/v1_0_0/AmqpOpenMarshaller.java?rev=909704&r1=909703&r2=909704&view=diff
==============================================================================
--- activemq/sandbox/activemq-apollo-actor/activemq-amqp/src/main/java/org/apache/activemq/amqp/protocol/marshaller/v1_0_0/AmqpOpenMarshaller.java (original)
+++ activemq/sandbox/activemq-apollo-actor/activemq-amqp/src/main/java/org/apache/activemq/amqp/protocol/marshaller/v1_0_0/AmqpOpenMarshaller.java Sat Feb 13 03:20:16 2010
@@ -39,7 +39,7 @@
 public class AmqpOpenMarshaller implements DescribedTypeMarshaller<AmqpOpen>{
 
     static final AmqpOpenMarshaller SINGLETON = new AmqpOpenMarshaller();
-    private static final Encoded<IAmqpList> NULL_ENCODED = new Encoder.NullEncoded<IAmqpList>();
+    private static final Encoded<IAmqpList<AmqpType<?, ?>>> NULL_ENCODED = new Encoder.NullEncoded<IAmqpList<AmqpType<?, ?>>>();
 
     public static final String SYMBOLIC_ID = "amqp:open:list";
     //Format code: 0x00000001:0x00000201:
@@ -53,91 +53,168 @@
         (byte) 0x00, (byte) 0x00, (byte) 0x02, (byte) 0x01   // DESCRIPTOR ID CODE
     }), 0);
 
-    private static final ListDecoder DECODER = new ListDecoder() {
-        public final AmqpType<?, ?> unmarshalType(int pos, DataInput in) throws IOException {
-            switch(pos) {
-            case 0: {
-                return AmqpOptions.AmqpOptionsBuffer.create(AmqpMapMarshaller.createEncoded(in));
+    private static final ListDecoder<AmqpType<?, ?>> DECODER = new ListDecoder<AmqpType<?, ?>>() {
+        public final IAmqpList<AmqpType<?, ?>> unmarshalType(int dataCount, int dataSize, DataInput in) throws AmqpEncodingError, IOException {
+            if (dataCount > 11) {
+                throw new AmqpEncodingError("Too many fields for " + SYMBOLIC_ID + ": " + dataCount);
             }
-            case 1: {
-                return AmqpString.AmqpStringBuffer.create(AmqpStringMarshaller.createEncoded(in));
+            IAmqpList<AmqpType<?, ?>> rc = new IAmqpList.ArrayBackedList<AmqpType<?, ?>>(new AmqpType<?, ?>[11]);
+            //options:
+            if(dataCount > 0) {
+                rc.set(0, AmqpOptions.AmqpOptionsBuffer.create(AmqpMapMarshaller.createEncoded(in)));
+                dataCount--;
             }
-            case 2: {
-                return AmqpString.AmqpStringBuffer.create(AmqpStringMarshaller.createEncoded(in));
+
+            //container-id:
+            if(dataCount > 0) {
+                rc.set(1, AmqpString.AmqpStringBuffer.create(AmqpStringMarshaller.createEncoded(in)));
+                dataCount--;
             }
-            case 3: {
-                return AmqpUint.AmqpUintBuffer.create(AmqpUintMarshaller.createEncoded(in));
+            else {
+                throw new AmqpEncodingError("Missing required field for " + SYMBOLIC_ID + ": container-id");
             }
-            case 4: {
-                return AmqpUshort.AmqpUshortBuffer.create(AmqpUshortMarshaller.createEncoded(in));
+
+            //hostname:
+            if(dataCount > 0) {
+                rc.set(2, AmqpString.AmqpStringBuffer.create(AmqpStringMarshaller.createEncoded(in)));
+                dataCount--;
             }
-            case 5: {
-                return AmqpUshort.AmqpUshortBuffer.create(AmqpUshortMarshaller.createEncoded(in));
+
+            //max-frame-size:
+            if(dataCount > 0) {
+                rc.set(3, AmqpUint.AmqpUintBuffer.create(AmqpUintMarshaller.createEncoded(in)));
+                dataCount--;
             }
-            case 6: {
-                return AmqpList.AmqpListBuffer.create(AmqpListMarshaller.createEncoded(in));
+
+            //channel-max:
+            if(dataCount > 0) {
+                rc.set(4, AmqpUshort.AmqpUshortBuffer.create(AmqpUshortMarshaller.createEncoded(in)));
+                dataCount--;
             }
-            case 7: {
-                return AmqpList.AmqpListBuffer.create(AmqpListMarshaller.createEncoded(in));
+            else {
+                throw new AmqpEncodingError("Missing required field for " + SYMBOLIC_ID + ": channel-max");
             }
-            case 8: {
-                return AmqpMap.AmqpMapBuffer.create(AmqpMapMarshaller.createEncoded(in));
+
+            //heartbeat-interval:
+            if(dataCount > 0) {
+                rc.set(5, AmqpUshort.AmqpUshortBuffer.create(AmqpUshortMarshaller.createEncoded(in)));
+                dataCount--;
             }
-            case 9: {
-                return AmqpList.AmqpListBuffer.create(AmqpListMarshaller.createEncoded(in));
+
+            //outgoing-locales:
+            if(dataCount > 0) {
+                rc.set(6, AmqpList.AmqpListBuffer.create(AmqpListMarshaller.createEncoded(in)));
+                dataCount--;
             }
-            case 10: {
-                return AmqpList.AmqpListBuffer.create(AmqpListMarshaller.createEncoded(in));
+
+            //incoming-locales:
+            if(dataCount > 0) {
+                rc.set(7, AmqpList.AmqpListBuffer.create(AmqpListMarshaller.createEncoded(in)));
+                dataCount--;
             }
-            default: {
-                return AmqpMarshaller.SINGLETON.unmarshalType(in);
+
+            //peer-properties:
+            if(dataCount > 0) {
+                rc.set(8, AmqpMap.AmqpMapBuffer.create(AmqpMapMarshaller.createEncoded(in)));
+                dataCount--;
             }
+
+            //offered-capabilities:
+            if(dataCount > 0) {
+                rc.set(9, AmqpList.AmqpListBuffer.create(AmqpListMarshaller.createEncoded(in)));
+                dataCount--;
+            }
+
+            //desired-capabilities:
+            if(dataCount > 0) {
+                rc.set(10, AmqpList.AmqpListBuffer.create(AmqpListMarshaller.createEncoded(in)));
+                dataCount--;
             }
+            return rc;
         }
 
-        public final AmqpType<?, ?> decodeType(int pos, EncodedBuffer buffer) throws AmqpEncodingError {
-            switch(pos) {
-            case 0: {
-                return AmqpOptions.AmqpOptionsBuffer.create(AmqpMapMarshaller.createEncoded(buffer));
+        public IAmqpList<AmqpType<?, ?>> decode(EncodedBuffer[] constituents) {
+            if (constituents.length > 11) {
+                throw new AmqpEncodingError("Too many fields for " + SYMBOLIC_ID + ":" + constituents.length);
             }
-            case 1: {
-                return AmqpString.AmqpStringBuffer.create(AmqpStringMarshaller.createEncoded(buffer));
+            int dataCount = constituents.length;
+            IAmqpList<AmqpType<?, ?>> rc = new IAmqpList.ArrayBackedList<AmqpType<?, ?>>(new AmqpType<?, ?>[11]);
+            //options:
+            if(dataCount > 0) {
+                rc.set(0, AmqpOptions.AmqpOptionsBuffer.create(AmqpMapMarshaller.createEncoded(constituents[0])));
+                dataCount--;
             }
-            case 2: {
-                return AmqpString.AmqpStringBuffer.create(AmqpStringMarshaller.createEncoded(buffer));
+
+            //container-id:
+            if(dataCount > 0) {
+                rc.set(1, AmqpString.AmqpStringBuffer.create(AmqpStringMarshaller.createEncoded(constituents[1])));
+                dataCount--;
             }
-            case 3: {
-                return AmqpUint.AmqpUintBuffer.create(AmqpUintMarshaller.createEncoded(buffer));
+            else {
+                throw new AmqpEncodingError("Missing required field for " + SYMBOLIC_ID + ": container-id");
             }
-            case 4: {
-                return AmqpUshort.AmqpUshortBuffer.create(AmqpUshortMarshaller.createEncoded(buffer));
+
+            //hostname:
+            if(dataCount > 0) {
+                rc.set(2, AmqpString.AmqpStringBuffer.create(AmqpStringMarshaller.createEncoded(constituents[2])));
+                dataCount--;
             }
-            case 5: {
-                return AmqpUshort.AmqpUshortBuffer.create(AmqpUshortMarshaller.createEncoded(buffer));
+
+            //max-frame-size:
+            if(dataCount > 0) {
+                rc.set(3, AmqpUint.AmqpUintBuffer.create(AmqpUintMarshaller.createEncoded(constituents[3])));
+                dataCount--;
             }
-            case 6: {
-                return AmqpList.AmqpListBuffer.create(AmqpListMarshaller.createEncoded(buffer));
+
+            //channel-max:
+            if(dataCount > 0) {
+                rc.set(4, AmqpUshort.AmqpUshortBuffer.create(AmqpUshortMarshaller.createEncoded(constituents[4])));
+                dataCount--;
             }
-            case 7: {
-                return AmqpList.AmqpListBuffer.create(AmqpListMarshaller.createEncoded(buffer));
+            else {
+                throw new AmqpEncodingError("Missing required field for " + SYMBOLIC_ID + ": channel-max");
             }
-            case 8: {
-                return AmqpMap.AmqpMapBuffer.create(AmqpMapMarshaller.createEncoded(buffer));
+
+            //heartbeat-interval:
+            if(dataCount > 0) {
+                rc.set(5, AmqpUshort.AmqpUshortBuffer.create(AmqpUshortMarshaller.createEncoded(constituents[5])));
+                dataCount--;
             }
-            case 9: {
-                return AmqpList.AmqpListBuffer.create(AmqpListMarshaller.createEncoded(buffer));
+
+            //outgoing-locales:
+            if(dataCount > 0) {
+                rc.set(6, AmqpList.AmqpListBuffer.create(AmqpListMarshaller.createEncoded(constituents[6])));
+                dataCount--;
             }
-            case 10: {
-                return AmqpList.AmqpListBuffer.create(AmqpListMarshaller.createEncoded(buffer));
+
+            //incoming-locales:
+            if(dataCount > 0) {
+                rc.set(7, AmqpList.AmqpListBuffer.create(AmqpListMarshaller.createEncoded(constituents[7])));
+                dataCount--;
             }
-            default: {
-                return AmqpMarshaller.SINGLETON.decodeType(buffer);
+
+            //peer-properties:
+            if(dataCount > 0) {
+                rc.set(8, AmqpMap.AmqpMapBuffer.create(AmqpMapMarshaller.createEncoded(constituents[8])));
+                dataCount--;
             }
+
+            //offered-capabilities:
+            if(dataCount > 0) {
+                rc.set(9, AmqpList.AmqpListBuffer.create(AmqpListMarshaller.createEncoded(constituents[9])));
+                dataCount--;
+            }
+
+            //desired-capabilities:
+            if(dataCount > 0) {
+                rc.set(10, AmqpList.AmqpListBuffer.create(AmqpListMarshaller.createEncoded(constituents[10])));
+                dataCount--;
             }
+            return rc;
         }
     };
 
-    public static class AmqpOpenEncoded extends DescribedEncoded<IAmqpList> {
+    public static class AmqpOpenEncoded extends DescribedEncoded<IAmqpList<AmqpType<?, ?>>> {
 
         public AmqpOpenEncoded(DescribedBuffer buffer) {
             super(buffer);
@@ -155,11 +232,11 @@
             return NUMERIC_ID;
         }
 
-        protected final Encoded<IAmqpList> decodeDescribed(EncodedBuffer encoded) throws AmqpEncodingError {
+        protected final Encoded<IAmqpList<AmqpType<?, ?>>> decodeDescribed(EncodedBuffer encoded) throws AmqpEncodingError {
             return AmqpListMarshaller.createEncoded(encoded, DECODER);
         }
 
-        protected final Encoded<IAmqpList> unmarshalDescribed(DataInput in) throws IOException {
+        protected final Encoded<IAmqpList<AmqpType<?, ?>>> unmarshalDescribed(DataInput in) throws IOException {
             return AmqpListMarshaller.createEncoded(in, DECODER);
         }
 
@@ -168,19 +245,19 @@
         }
     }
 
-    public static final Encoded<IAmqpList> encode(AmqpOpen value) throws AmqpEncodingError {
+    public static final Encoded<IAmqpList<AmqpType<?, ?>>> encode(AmqpOpen value) throws AmqpEncodingError {
         return new AmqpOpenEncoded(value);
     }
 
-    static final Encoded<IAmqpList> createEncoded(Buffer source, int offset) throws AmqpEncodingError {
+    static final Encoded<IAmqpList<AmqpType<?, ?>>> createEncoded(Buffer source, int offset) throws AmqpEncodingError {
         return createEncoded(FormatCategory.createBuffer(source, offset));
     }
 
-    static final Encoded<IAmqpList> createEncoded(DataInput in) throws IOException, AmqpEncodingError {
+    static final Encoded<IAmqpList<AmqpType<?, ?>>> createEncoded(DataInput in) throws IOException, AmqpEncodingError {
         return createEncoded(FormatCategory.createBuffer(in.readByte(), in));
     }
 
-    static final Encoded<IAmqpList> createEncoded(EncodedBuffer buffer) throws AmqpEncodingError {
+    static final Encoded<IAmqpList<AmqpType<?, ?>>> createEncoded(EncodedBuffer buffer) throws AmqpEncodingError {
         byte fc = buffer.getEncodingFormatCode();
         if (fc == Encoder.NULL_FORMAT_CODE) {
             return NULL_ENCODED;

Modified: activemq/sandbox/activemq-apollo-actor/activemq-amqp/src/main/java/org/apache/activemq/amqp/protocol/marshaller/v1_0_0/AmqpPropertiesMarshaller.java
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-apollo-actor/activemq-amqp/src/main/java/org/apache/activemq/amqp/protocol/marshaller/v1_0_0/AmqpPropertiesMarshaller.java?rev=909704&r1=909703&r2=909704&view=diff
==============================================================================
--- activemq/sandbox/activemq-apollo-actor/activemq-amqp/src/main/java/org/apache/activemq/amqp/protocol/marshaller/v1_0_0/AmqpPropertiesMarshaller.java (original)
+++ activemq/sandbox/activemq-apollo-actor/activemq-amqp/src/main/java/org/apache/activemq/amqp/protocol/marshaller/v1_0_0/AmqpPropertiesMarshaller.java Sat Feb 13 03:20:16 2010
@@ -35,7 +35,7 @@
 public class AmqpPropertiesMarshaller implements DescribedTypeMarshaller<AmqpProperties>{
 
     static final AmqpPropertiesMarshaller SINGLETON = new AmqpPropertiesMarshaller();
-    private static final Encoded<IAmqpList> NULL_ENCODED = new Encoder.NullEncoded<IAmqpList>();
+    private static final Encoded<IAmqpList<AmqpType<?, ?>>> NULL_ENCODED = new Encoder.NullEncoded<IAmqpList<AmqpType<?, ?>>>();
 
     public static final String SYMBOLIC_ID = "amqp:properties:list";
     //Format code: 0x00000001:0x00009802:
@@ -49,67 +49,108 @@
         (byte) 0x00, (byte) 0x00, (byte) 0x98, (byte) 0x02   // DESCRIPTOR ID CODE
     }), 0);
 
-    private static final ListDecoder DECODER = new ListDecoder() {
-        public final AmqpType<?, ?> unmarshalType(int pos, DataInput in) throws IOException {
-            switch(pos) {
-            case 0: {
-                return AmqpBinary.AmqpBinaryBuffer.create(AmqpBinaryMarshaller.createEncoded(in));
+    private static final ListDecoder<AmqpType<?, ?>> DECODER = new ListDecoder<AmqpType<?, ?>>() {
+        public final IAmqpList<AmqpType<?, ?>> unmarshalType(int dataCount, int dataSize, DataInput in) throws AmqpEncodingError, IOException {
+            if (dataCount > 7) {
+                throw new AmqpEncodingError("Too many fields for " + SYMBOLIC_ID + ": " + dataCount);
             }
-            case 1: {
-                return AmqpBinary.AmqpBinaryBuffer.create(AmqpBinaryMarshaller.createEncoded(in));
+            IAmqpList<AmqpType<?, ?>> rc = new IAmqpList.ArrayBackedList<AmqpType<?, ?>>(new AmqpType<?, ?>[7]);
+            //message-id:
+            if(dataCount > 0) {
+                rc.set(0, AmqpBinary.AmqpBinaryBuffer.create(AmqpBinaryMarshaller.createEncoded(in)));
+                dataCount--;
             }
-            case 2: {
-                return AmqpString.AmqpStringBuffer.create(AmqpStringMarshaller.createEncoded(in));
-            }
-            case 3: {
-                return AmqpString.AmqpStringBuffer.create(AmqpStringMarshaller.createEncoded(in));
+
+            //user-id:
+            if(dataCount > 0) {
+                rc.set(1, AmqpBinary.AmqpBinaryBuffer.create(AmqpBinaryMarshaller.createEncoded(in)));
+                dataCount--;
             }
-            case 4: {
-                return AmqpBinary.AmqpBinaryBuffer.create(AmqpBinaryMarshaller.createEncoded(in));
+
+            //to:
+            if(dataCount > 0) {
+                rc.set(2, AmqpString.AmqpStringBuffer.create(AmqpStringMarshaller.createEncoded(in)));
+                dataCount--;
             }
-            case 5: {
-                return AmqpUlong.AmqpUlongBuffer.create(AmqpUlongMarshaller.createEncoded(in));
+
+            //reply-to:
+            if(dataCount > 0) {
+                rc.set(3, AmqpString.AmqpStringBuffer.create(AmqpStringMarshaller.createEncoded(in)));
+                dataCount--;
             }
-            case 6: {
-                return AmqpSymbol.AmqpSymbolBuffer.create(AmqpSymbolMarshaller.createEncoded(in));
+
+            //correlation-id:
+            if(dataCount > 0) {
+                rc.set(4, AmqpBinary.AmqpBinaryBuffer.create(AmqpBinaryMarshaller.createEncoded(in)));
+                dataCount--;
             }
-            default: {
-                return AmqpMarshaller.SINGLETON.unmarshalType(in);
+
+            //content-length:
+            if(dataCount > 0) {
+                rc.set(5, AmqpUlong.AmqpUlongBuffer.create(AmqpUlongMarshaller.createEncoded(in)));
+                dataCount--;
             }
+
+            //content-type:
+            if(dataCount > 0) {
+                rc.set(6, AmqpSymbol.AmqpSymbolBuffer.create(AmqpSymbolMarshaller.createEncoded(in)));
+                dataCount--;
             }
+            return rc;
         }
 
-        public final AmqpType<?, ?> decodeType(int pos, EncodedBuffer buffer) throws AmqpEncodingError {
-            switch(pos) {
-            case 0: {
-                return AmqpBinary.AmqpBinaryBuffer.create(AmqpBinaryMarshaller.createEncoded(buffer));
+        public IAmqpList<AmqpType<?, ?>> decode(EncodedBuffer[] constituents) {
+            if (constituents.length > 7) {
+                throw new AmqpEncodingError("Too many fields for " + SYMBOLIC_ID + ":" + constituents.length);
             }
-            case 1: {
-                return AmqpBinary.AmqpBinaryBuffer.create(AmqpBinaryMarshaller.createEncoded(buffer));
+            int dataCount = constituents.length;
+            IAmqpList<AmqpType<?, ?>> rc = new IAmqpList.ArrayBackedList<AmqpType<?, ?>>(new AmqpType<?, ?>[7]);
+            //message-id:
+            if(dataCount > 0) {
+                rc.set(0, AmqpBinary.AmqpBinaryBuffer.create(AmqpBinaryMarshaller.createEncoded(constituents[0])));
+                dataCount--;
             }
-            case 2: {
-                return AmqpString.AmqpStringBuffer.create(AmqpStringMarshaller.createEncoded(buffer));
-            }
-            case 3: {
-                return AmqpString.AmqpStringBuffer.create(AmqpStringMarshaller.createEncoded(buffer));
+
+            //user-id:
+            if(dataCount > 0) {
+                rc.set(1, AmqpBinary.AmqpBinaryBuffer.create(AmqpBinaryMarshaller.createEncoded(constituents[1])));
+                dataCount--;
             }
-            case 4: {
-                return AmqpBinary.AmqpBinaryBuffer.create(AmqpBinaryMarshaller.createEncoded(buffer));
+
+            //to:
+            if(dataCount > 0) {
+                rc.set(2, AmqpString.AmqpStringBuffer.create(AmqpStringMarshaller.createEncoded(constituents[2])));
+                dataCount--;
             }
-            case 5: {
-                return AmqpUlong.AmqpUlongBuffer.create(AmqpUlongMarshaller.createEncoded(buffer));
+
+            //reply-to:
+            if(dataCount > 0) {
+                rc.set(3, AmqpString.AmqpStringBuffer.create(AmqpStringMarshaller.createEncoded(constituents[3])));
+                dataCount--;
             }
-            case 6: {
-                return AmqpSymbol.AmqpSymbolBuffer.create(AmqpSymbolMarshaller.createEncoded(buffer));
+
+            //correlation-id:
+            if(dataCount > 0) {
+                rc.set(4, AmqpBinary.AmqpBinaryBuffer.create(AmqpBinaryMarshaller.createEncoded(constituents[4])));
+                dataCount--;
             }
-            default: {
-                return AmqpMarshaller.SINGLETON.decodeType(buffer);
+
+            //content-length:
+            if(dataCount > 0) {
+                rc.set(5, AmqpUlong.AmqpUlongBuffer.create(AmqpUlongMarshaller.createEncoded(constituents[5])));
+                dataCount--;
             }
+
+            //content-type:
+            if(dataCount > 0) {
+                rc.set(6, AmqpSymbol.AmqpSymbolBuffer.create(AmqpSymbolMarshaller.createEncoded(constituents[6])));
+                dataCount--;
             }
+            return rc;
         }
     };
 
-    public static class AmqpPropertiesEncoded extends DescribedEncoded<IAmqpList> {
+    public static class AmqpPropertiesEncoded extends DescribedEncoded<IAmqpList<AmqpType<?, ?>>> {
 
         public AmqpPropertiesEncoded(DescribedBuffer buffer) {
             super(buffer);
@@ -127,11 +168,11 @@
             return NUMERIC_ID;
         }
 
-        protected final Encoded<IAmqpList> decodeDescribed(EncodedBuffer encoded) throws AmqpEncodingError {
+        protected final Encoded<IAmqpList<AmqpType<?, ?>>> decodeDescribed(EncodedBuffer encoded) throws AmqpEncodingError {
             return AmqpListMarshaller.createEncoded(encoded, DECODER);
         }
 
-        protected final Encoded<IAmqpList> unmarshalDescribed(DataInput in) throws IOException {
+        protected final Encoded<IAmqpList<AmqpType<?, ?>>> unmarshalDescribed(DataInput in) throws IOException {
             return AmqpListMarshaller.createEncoded(in, DECODER);
         }
 
@@ -140,19 +181,19 @@
         }
     }
 
-    public static final Encoded<IAmqpList> encode(AmqpProperties value) throws AmqpEncodingError {
+    public static final Encoded<IAmqpList<AmqpType<?, ?>>> encode(AmqpProperties value) throws AmqpEncodingError {
         return new AmqpPropertiesEncoded(value);
     }
 
-    static final Encoded<IAmqpList> createEncoded(Buffer source, int offset) throws AmqpEncodingError {
+    static final Encoded<IAmqpList<AmqpType<?, ?>>> createEncoded(Buffer source, int offset) throws AmqpEncodingError {
         return createEncoded(FormatCategory.createBuffer(source, offset));
     }
 
-    static final Encoded<IAmqpList> createEncoded(DataInput in) throws IOException, AmqpEncodingError {
+    static final Encoded<IAmqpList<AmqpType<?, ?>>> createEncoded(DataInput in) throws IOException, AmqpEncodingError {
         return createEncoded(FormatCategory.createBuffer(in.readByte(), in));
     }
 
-    static final Encoded<IAmqpList> createEncoded(EncodedBuffer buffer) throws AmqpEncodingError {
+    static final Encoded<IAmqpList<AmqpType<?, ?>>> createEncoded(EncodedBuffer buffer) throws AmqpEncodingError {
         byte fc = buffer.getEncodingFormatCode();
         if (fc == Encoder.NULL_FORMAT_CODE) {
             return NULL_ENCODED;

Modified: activemq/sandbox/activemq-apollo-actor/activemq-amqp/src/main/java/org/apache/activemq/amqp/protocol/marshaller/v1_0_0/AmqpRejectedMarshaller.java
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-apollo-actor/activemq-amqp/src/main/java/org/apache/activemq/amqp/protocol/marshaller/v1_0_0/AmqpRejectedMarshaller.java?rev=909704&r1=909703&r2=909704&view=diff
==============================================================================
--- activemq/sandbox/activemq-apollo-actor/activemq-amqp/src/main/java/org/apache/activemq/amqp/protocol/marshaller/v1_0_0/AmqpRejectedMarshaller.java (original)
+++ activemq/sandbox/activemq-apollo-actor/activemq-amqp/src/main/java/org/apache/activemq/amqp/protocol/marshaller/v1_0_0/AmqpRejectedMarshaller.java Sat Feb 13 03:20:16 2010
@@ -52,43 +52,52 @@
 
     private static final MapDecoder<AmqpSymbol, AmqpType<?, ?>> DECODER = new MapDecoder<AmqpSymbol, AmqpType<?, ?>>() {
 
-        public IAmqpMap<AmqpSymbol, AmqpType<?, ?>> createMap(int entryCount) {
-            return new IAmqpMap.AmqpWrapperMap<AmqpSymbol, AmqpType<?,?>>(new HashMap<AmqpSymbol, AmqpType<?,?>>());
-
-        }
-
-        public void decodeToMap(EncodedBuffer encodedKey, EncodedBuffer encodedValue, IAmqpMap<AmqpSymbol,AmqpType<?, ?>> map) throws AmqpEncodingError {
-            AmqpSymbol key = AmqpSymbol.AmqpSymbolBuffer.create(AmqpSymbolMarshaller.createEncoded(encodedKey));
-            if (key == null) {
-                throw new AmqpEncodingError("Null Key for " + SYMBOLIC_ID);
-            }
-
-            if (key.equals(AmqpRejected.TRUNCATE_KEY)){
-                map.put(AmqpRejected.TRUNCATE_KEY, AmqpBoolean.AmqpBooleanBuffer.create(AmqpBooleanMarshaller.createEncoded(encodedValue)));
-            }
-            if (key.equals(AmqpRejected.REJECT_PROPERTIES_KEY)){
-                map.put(AmqpRejected.REJECT_PROPERTIES_KEY, AmqpMap.AmqpMapBuffer.create(AmqpMapMarshaller.createEncoded(encodedValue)));
-            }
-            else {
-                throw new UnexpectedTypeException("Invalid Key for " + SYMBOLIC_ID + " : " + key);
-            }
-        }
-
-        public void unmarshalToMap(DataInput in, IAmqpMap<AmqpSymbol,AmqpType<?, ?>> map) throws IOException, AmqpEncodingError {
-            AmqpSymbol key = AmqpSymbol.AmqpSymbolBuffer.create(AmqpSymbolMarshaller.createEncoded(in));
-            if (key == null) {
-                throw new AmqpEncodingError("Null Key for " + SYMBOLIC_ID);
-            }
-
-            if (key.equals(AmqpRejected.TRUNCATE_KEY)){
-                map.put(AmqpRejected.TRUNCATE_KEY, AmqpBoolean.AmqpBooleanBuffer.create(AmqpBooleanMarshaller.createEncoded(in)));
-            }
-            if (key.equals(AmqpRejected.REJECT_PROPERTIES_KEY)){
-                map.put(AmqpRejected.REJECT_PROPERTIES_KEY, AmqpMap.AmqpMapBuffer.create(AmqpMapMarshaller.createEncoded(in)));
-            }
-            else {
-                throw new UnexpectedTypeException("Invalid Key for " + SYMBOLIC_ID + " : " + key);
+        public IAmqpMap<AmqpSymbol, AmqpType<?, ?>> decode(EncodedBuffer[] constituents) throws AmqpEncodingError {
+            IAmqpMap<AmqpSymbol, AmqpType<?, ?>> rc = new IAmqpMap.AmqpWrapperMap<AmqpSymbol, AmqpType<?,?>>(new HashMap<AmqpSymbol, AmqpType<?,?>>());
+            if (constituents.length % 2 != 0) {
+                throw new AmqpEncodingError("Invalid number of compound constituents for " + SYMBOLIC_ID + ": " + constituents.length);
+            }
+            for (int i = 0; i < constituents.length; i += 2) {
+                AmqpSymbol key = AmqpSymbol.AmqpSymbolBuffer.create(AmqpSymbolMarshaller.createEncoded(constituents[i]));
+                if (key == null) {
+                    throw new AmqpEncodingError("Null Key for " + SYMBOLIC_ID);
+                }
+
+                if (key.equals(AmqpRejected.TRUNCATE_KEY)){
+                    rc.put(AmqpRejected.TRUNCATE_KEY, AmqpBoolean.AmqpBooleanBuffer.create(AmqpBooleanMarshaller.createEncoded(constituents[i + 1])));
+                }
+                if (key.equals(AmqpRejected.REJECT_PROPERTIES_KEY)){
+                    rc.put(AmqpRejected.REJECT_PROPERTIES_KEY, AmqpMap.AmqpMapBuffer.create(AmqpMapMarshaller.createEncoded(constituents[i + 1])));
+                }
+                else {
+                    throw new UnexpectedTypeException("Invalid field key for " + SYMBOLIC_ID + " : " + key);
+                }
+            }
+            return rc;
+        }
+
+        public IAmqpMap<AmqpSymbol, AmqpType<?, ?>> unmarshalType(int dataCount, int dataSize, DataInput in) throws IOException, AmqpEncodingError {
+            IAmqpMap<AmqpSymbol, AmqpType<?, ?>> rc = new IAmqpMap.AmqpWrapperMap<AmqpSymbol, AmqpType<?,?>>(new HashMap<AmqpSymbol, AmqpType<?,?>>());
+            if (dataCount % 2 != 0) {
+                throw new AmqpEncodingError("Invalid number of compound constituents for " + SYMBOLIC_ID + ": " + dataCount);
+            }
+            for (int i = 0; i < dataCount; i += 2) {
+                AmqpSymbol key = AmqpSymbol.AmqpSymbolBuffer.create(AmqpSymbolMarshaller.createEncoded(in));
+                if (key == null) {
+                    throw new AmqpEncodingError("Null Key for " + SYMBOLIC_ID);
+                }
+
+                if (key.equals(AmqpRejected.TRUNCATE_KEY)){
+                    rc.put(AmqpRejected.TRUNCATE_KEY, AmqpBoolean.AmqpBooleanBuffer.create(AmqpBooleanMarshaller.createEncoded(in)));
+                }
+                if (key.equals(AmqpRejected.REJECT_PROPERTIES_KEY)){
+                    rc.put(AmqpRejected.REJECT_PROPERTIES_KEY, AmqpMap.AmqpMapBuffer.create(AmqpMapMarshaller.createEncoded(in)));
+                }
+                else {
+                    throw new UnexpectedTypeException("Invalid field key for " + SYMBOLIC_ID + " : " + key);
+                }
             }
+            return rc;
         }
     };
 

Modified: activemq/sandbox/activemq-apollo-actor/activemq-amqp/src/main/java/org/apache/activemq/amqp/protocol/marshaller/v1_0_0/AmqpReleasedMarshaller.java
URL: http://svn.apache.org/viewvc/activemq/sandbox/activemq-apollo-actor/activemq-amqp/src/main/java/org/apache/activemq/amqp/protocol/marshaller/v1_0_0/AmqpReleasedMarshaller.java?rev=909704&r1=909703&r2=909704&view=diff
==============================================================================
--- activemq/sandbox/activemq-apollo-actor/activemq-amqp/src/main/java/org/apache/activemq/amqp/protocol/marshaller/v1_0_0/AmqpReleasedMarshaller.java (original)
+++ activemq/sandbox/activemq-apollo-actor/activemq-amqp/src/main/java/org/apache/activemq/amqp/protocol/marshaller/v1_0_0/AmqpReleasedMarshaller.java Sat Feb 13 03:20:16 2010
@@ -52,61 +52,70 @@
 
     private static final MapDecoder<AmqpSymbol, AmqpType<?, ?>> DECODER = new MapDecoder<AmqpSymbol, AmqpType<?, ?>>() {
 
-        public IAmqpMap<AmqpSymbol, AmqpType<?, ?>> createMap(int entryCount) {
-            return new IAmqpMap.AmqpWrapperMap<AmqpSymbol, AmqpType<?,?>>(new HashMap<AmqpSymbol, AmqpType<?,?>>());
-
-        }
-
-        public void decodeToMap(EncodedBuffer encodedKey, EncodedBuffer encodedValue, IAmqpMap<AmqpSymbol,AmqpType<?, ?>> map) throws AmqpEncodingError {
-            AmqpSymbol key = AmqpSymbol.AmqpSymbolBuffer.create(AmqpSymbolMarshaller.createEncoded(encodedKey));
-            if (key == null) {
-                throw new AmqpEncodingError("Null Key for " + SYMBOLIC_ID);
-            }
-
-            if (key.equals(AmqpReleased.TRUNCATE_KEY)){
-                map.put(AmqpReleased.TRUNCATE_KEY, AmqpBoolean.AmqpBooleanBuffer.create(AmqpBooleanMarshaller.createEncoded(encodedValue)));
-            }
-            if (key.equals(AmqpReleased.DELIVERY_FAILED_KEY)){
-                map.put(AmqpReleased.DELIVERY_FAILED_KEY, AmqpBoolean.AmqpBooleanBuffer.create(AmqpBooleanMarshaller.createEncoded(encodedValue)));
-            }
-            if (key.equals(AmqpReleased.DELIVER_ELSEWHERE_KEY)){
-                map.put(AmqpReleased.DELIVER_ELSEWHERE_KEY, AmqpBoolean.AmqpBooleanBuffer.create(AmqpBooleanMarshaller.createEncoded(encodedValue)));
-            }
-            if (key.equals(AmqpReleased.MESSAGE_ATTRS_KEY)){
-                map.put(AmqpReleased.MESSAGE_ATTRS_KEY, AmqpMessageAttributes.AmqpMessageAttributesBuffer.create(AmqpMapMarshaller.createEncoded(encodedValue)));
-            }
-            if (key.equals(AmqpReleased.DELIVERY_ATTRS_KEY)){
-                map.put(AmqpReleased.DELIVERY_ATTRS_KEY, AmqpMessageAttributes.AmqpMessageAttributesBuffer.create(AmqpMapMarshaller.createEncoded(encodedValue)));
-            }
-            else {
-                throw new UnexpectedTypeException("Invalid Key for " + SYMBOLIC_ID + " : " + key);
-            }
-        }
-
-        public void unmarshalToMap(DataInput in, IAmqpMap<AmqpSymbol,AmqpType<?, ?>> map) throws IOException, AmqpEncodingError {
-            AmqpSymbol key = AmqpSymbol.AmqpSymbolBuffer.create(AmqpSymbolMarshaller.createEncoded(in));
-            if (key == null) {
-                throw new AmqpEncodingError("Null Key for " + SYMBOLIC_ID);
-            }
-
-            if (key.equals(AmqpReleased.TRUNCATE_KEY)){
-                map.put(AmqpReleased.TRUNCATE_KEY, AmqpBoolean.AmqpBooleanBuffer.create(AmqpBooleanMarshaller.createEncoded(in)));
-            }
-            if (key.equals(AmqpReleased.DELIVERY_FAILED_KEY)){
-                map.put(AmqpReleased.DELIVERY_FAILED_KEY, AmqpBoolean.AmqpBooleanBuffer.create(AmqpBooleanMarshaller.createEncoded(in)));
-            }
-            if (key.equals(AmqpReleased.DELIVER_ELSEWHERE_KEY)){
-                map.put(AmqpReleased.DELIVER_ELSEWHERE_KEY, AmqpBoolean.AmqpBooleanBuffer.create(AmqpBooleanMarshaller.createEncoded(in)));
-            }
-            if (key.equals(AmqpReleased.MESSAGE_ATTRS_KEY)){
-                map.put(AmqpReleased.MESSAGE_ATTRS_KEY, AmqpMessageAttributes.AmqpMessageAttributesBuffer.create(AmqpMapMarshaller.createEncoded(in)));
-            }
-            if (key.equals(AmqpReleased.DELIVERY_ATTRS_KEY)){
-                map.put(AmqpReleased.DELIVERY_ATTRS_KEY, AmqpMessageAttributes.AmqpMessageAttributesBuffer.create(AmqpMapMarshaller.createEncoded(in)));
-            }
-            else {
-                throw new UnexpectedTypeException("Invalid Key for " + SYMBOLIC_ID + " : " + key);
+        public IAmqpMap<AmqpSymbol, AmqpType<?, ?>> decode(EncodedBuffer[] constituents) throws AmqpEncodingError {
+            IAmqpMap<AmqpSymbol, AmqpType<?, ?>> rc = new IAmqpMap.AmqpWrapperMap<AmqpSymbol, AmqpType<?,?>>(new HashMap<AmqpSymbol, AmqpType<?,?>>());
+            if (constituents.length % 2 != 0) {
+                throw new AmqpEncodingError("Invalid number of compound constituents for " + SYMBOLIC_ID + ": " + constituents.length);
+            }
+            for (int i = 0; i < constituents.length; i += 2) {
+                AmqpSymbol key = AmqpSymbol.AmqpSymbolBuffer.create(AmqpSymbolMarshaller.createEncoded(constituents[i]));
+                if (key == null) {
+                    throw new AmqpEncodingError("Null Key for " + SYMBOLIC_ID);
+                }
+
+                if (key.equals(AmqpReleased.TRUNCATE_KEY)){
+                    rc.put(AmqpReleased.TRUNCATE_KEY, AmqpBoolean.AmqpBooleanBuffer.create(AmqpBooleanMarshaller.createEncoded(constituents[i + 1])));
+                }
+                if (key.equals(AmqpReleased.DELIVERY_FAILED_KEY)){
+                    rc.put(AmqpReleased.DELIVERY_FAILED_KEY, AmqpBoolean.AmqpBooleanBuffer.create(AmqpBooleanMarshaller.createEncoded(constituents[i + 1])));
+                }
+                if (key.equals(AmqpReleased.DELIVER_ELSEWHERE_KEY)){
+                    rc.put(AmqpReleased.DELIVER_ELSEWHERE_KEY, AmqpBoolean.AmqpBooleanBuffer.create(AmqpBooleanMarshaller.createEncoded(constituents[i + 1])));
+                }
+                if (key.equals(AmqpReleased.MESSAGE_ATTRS_KEY)){
+                    rc.put(AmqpReleased.MESSAGE_ATTRS_KEY, AmqpMessageAttributes.AmqpMessageAttributesBuffer.create(AmqpMapMarshaller.createEncoded(constituents[i + 1])));
+                }
+                if (key.equals(AmqpReleased.DELIVERY_ATTRS_KEY)){
+                    rc.put(AmqpReleased.DELIVERY_ATTRS_KEY, AmqpMessageAttributes.AmqpMessageAttributesBuffer.create(AmqpMapMarshaller.createEncoded(constituents[i + 1])));
+                }
+                else {
+                    throw new UnexpectedTypeException("Invalid field key for " + SYMBOLIC_ID + " : " + key);
+                }
+            }
+            return rc;
+        }
+
+        public IAmqpMap<AmqpSymbol, AmqpType<?, ?>> unmarshalType(int dataCount, int dataSize, DataInput in) throws IOException, AmqpEncodingError {
+            IAmqpMap<AmqpSymbol, AmqpType<?, ?>> rc = new IAmqpMap.AmqpWrapperMap<AmqpSymbol, AmqpType<?,?>>(new HashMap<AmqpSymbol, AmqpType<?,?>>());
+            if (dataCount % 2 != 0) {
+                throw new AmqpEncodingError("Invalid number of compound constituents for " + SYMBOLIC_ID + ": " + dataCount);
+            }
+            for (int i = 0; i < dataCount; i += 2) {
+                AmqpSymbol key = AmqpSymbol.AmqpSymbolBuffer.create(AmqpSymbolMarshaller.createEncoded(in));
+                if (key == null) {
+                    throw new AmqpEncodingError("Null Key for " + SYMBOLIC_ID);
+                }
+
+                if (key.equals(AmqpReleased.TRUNCATE_KEY)){
+                    rc.put(AmqpReleased.TRUNCATE_KEY, AmqpBoolean.AmqpBooleanBuffer.create(AmqpBooleanMarshaller.createEncoded(in)));
+                }
+                if (key.equals(AmqpReleased.DELIVERY_FAILED_KEY)){
+                    rc.put(AmqpReleased.DELIVERY_FAILED_KEY, AmqpBoolean.AmqpBooleanBuffer.create(AmqpBooleanMarshaller.createEncoded(in)));
+                }
+                if (key.equals(AmqpReleased.DELIVER_ELSEWHERE_KEY)){
+                    rc.put(AmqpReleased.DELIVER_ELSEWHERE_KEY, AmqpBoolean.AmqpBooleanBuffer.create(AmqpBooleanMarshaller.createEncoded(in)));
+                }
+                if (key.equals(AmqpReleased.MESSAGE_ATTRS_KEY)){
+                    rc.put(AmqpReleased.MESSAGE_ATTRS_KEY, AmqpMessageAttributes.AmqpMessageAttributesBuffer.create(AmqpMapMarshaller.createEncoded(in)));
+                }
+                if (key.equals(AmqpReleased.DELIVERY_ATTRS_KEY)){
+                    rc.put(AmqpReleased.DELIVERY_ATTRS_KEY, AmqpMessageAttributes.AmqpMessageAttributesBuffer.create(AmqpMapMarshaller.createEncoded(in)));
+                }
+                else {
+                    throw new UnexpectedTypeException("Invalid field key for " + SYMBOLIC_ID + " : " + key);
+                }
             }
+            return rc;
         }
     };
 



Mime
View raw message