[PATCH 2/7] Update JavaDocs.


Gary Molloy <GMolloy@...>
 

Testing

 

Build OpenMAMA with docs and review the associated html files.

 

 

 

From a1a8d0cafb5093e95cbf07b4f6bee7c50afb888b Mon Sep 17 00:00:00 2001

From: Gary Molloy <gmolloy@...>

Date: Mon, 23 Jun 2014 14:11:57 +0100

Subject: [PATCH 2/7] Update JavaDocs.

 

[OMAMA-269]

 

Description - Completely updated the JavaDocs for MamaDQPublisher, MamaDQPublisherManager and MamaMsg. 

Fixed several JavaDoc build warnings in:

Mama.java,

MamaBasicSubscription.java

MamaPrice.java

MamaSource.java

MamaTransport.java

 

 

Signed-off-by: Gary Molloy <gmolloy@...>

---

mama/jni/src/com/wombat/mama/Mama.java             |   12 +-

.../src/com/wombat/mama/MamaBasicSubscription.java |   11 +-

mama/jni/src/com/wombat/mama/MamaDQPublisher.java  |   44 +

.../com/wombat/mama/MamaDQPublisherManager.java    |  104 ++

mama/jni/src/com/wombat/mama/MamaMsg.java          | 1976 +++++++++++++++++++-

mama/jni/src/com/wombat/mama/MamaPrice.java        |    2 +-

mama/jni/src/com/wombat/mama/MamaSource.java       |    7 +-

mama/jni/src/com/wombat/mama/MamaTransport.java    |   16 +-

8 files changed, 2067 insertions(+), 105 deletions(-)

 

diff --git a/mama/jni/src/com/wombat/mama/Mama.java b/mama/jni/src/com/wombat/mama/Mama.java

index ca965bc..ae6caf6 100644

--- a/mama/jni/src/com/wombat/mama/Mama.java

+++ b/mama/jni/src/com/wombat/mama/Mama.java

@@ -120,9 +120,9 @@ public class Mama

      * If null is passed as the filename the API will look for the default

      * filename of mama.properties.

      *

-     * @param[in] path Fully qualified path to the directory containing the properties

+     * @param path Fully qualified path to the directory containing the properties

      * file

-     * @param[in] filename The name of the file containing MAMA properties.

+     * @param filename The name of the file containing MAMA properties.

      *    

      */

     public static native void open (String path, String filename);

@@ -141,7 +141,7 @@ public class Mama

      *

      * This function is thread safe.

      *

-     * @param[in] bridge The bridge specific structure.

+     * @param bridge The bridge specific structure.

      */

     public static native void start (MamaBridge bridge);

@@ -149,8 +149,8 @@ public class Mama

      * Start processing MAMA internal events in the background. This

      * method invokes Mama::start () in a separate thread.

      *

-     * @param[in] bridge The middleware-specific bridge structure

-     * @param[in] callback The callback for asynchronous status.

+     * @param bridge The middleware-specific bridge structure

+     * @param callback The callback for asynchronous status.

      */

     public static native void startBackground (MamaBridge bridge, MamaStartBackgroundCallback callback);

@@ -164,7 +164,7 @@ public class Mama

      *

      * This function is thread safe.

      *

-     * @param[in] bridgeImpl The bridge specific structure.

+     * @param bridge The bridge specific structure.

      */

     public static native void stop (MamaBridge bridge);

diff --git a/mama/jni/src/com/wombat/mama/MamaBasicSubscription.java b/mama/jni/src/com/wombat/mama/MamaBasicSubscription.java

index bb76ae8..ec99cc9 100644

--- a/mama/jni/src/com/wombat/mama/MamaBasicSubscription.java

+++ b/mama/jni/src/com/wombat/mama/MamaBasicSubscription.java

@@ -124,16 +124,15 @@ public class MamaBasicSubscription

     * naming service. A publishing transport can be assigned a name with the

     * publish_name property.

     *

-    * @param subscription The subscription.

+    * @param callbacks The mamaMsgCallbacks structure containing the callback

+    *                   functions.

     * @param transport The transport to use.

     * @param queue The mama queue.

-    * @param callbacks The mamaMsgCallbacks structure containing the callback

-    * functions.

     * @param source The source name of the feed handler to provide the

-    * subscription.

-    * @param symbol The symbol name.

+    *                   subscription.

+    * @param topic The symbol name.

     * @param closure The closure will be passed to subsequent callback

-    * invocations for this subscription.

+    *                   invocations for this subscription.

     */

     public void createBasicWildCardSubscription(

         final MamaBasicWildCardSubscriptionCallback callback,

diff --git a/mama/jni/src/com/wombat/mama/MamaDQPublisher.java b/mama/jni/src/com/wombat/mama/MamaDQPublisher.java

index a40fe36..366f5ad 100644

--- a/mama/jni/src/com/wombat/mama/MamaDQPublisher.java

+++ b/mama/jni/src/com/wombat/mama/MamaDQPublisher.java

@@ -21,6 +21,12 @@

 package com.wombat.mama;

+/**

+ * The <code>MamaDQPublisher</code> interface represents a subscription for a symbol.

+ * It can also allow for the broadcast and point-to-point publishing of messages to clients.

+ *

+ * @see Mama

+ */

public class MamaDQPublisher

{

               /*A long value containing a pointer to the underlying C dqpublisher structure*/

@@ -31,46 +37,84 @@ public class MamaDQPublisher

                               initIDs();

               }

+    /**

+     * Constructor for MamaDQPublisher

+     */

     public MamaDQPublisher()

     {

         /* nothing to do */

     }

    

+    /**

+     * Create a new MamaDQPublisher

+     *

+     * @param transport The transport for which to create the new publisher against

+     * @param topic The topic associated with the new publisher

+     */

               public void create (MamaTransport transport, String topic)

               {

                               _create (transport, topic);

               }

+    /**

+     * Send a message (broadcast) from the MamaDQPublisher

+     *

+     * @param msg The MamaMsg that will be sent from this publisher

+     */

               public void send (MamaMsg msg)

               {

                               checkIsCreated("send");

                               _send(msg);

               }

+    /**

+     * Send a message (point-to-point) from the MamaDQPublisher

+     *

+     * @param request The request message (from an inbox)

+     * @param reply The reply message containing the relevant data

+     */

               public void sendReply (MamaMsg request, MamaMsg reply)

               {

                               checkIsCreated ("sendReply");

                               _sendReply(request, reply);

               }

+    /**

+     * Destroy the MamaDQPublisher

+     */

               public void destroy ()

               {

                               checkIsCreated ("destroy");

                               _destroy();

               }

+    /**

+     * Set the status for the MamaDQPublisher

+     *

+     * @param status The mamaMsgStatus to set for the publisher

+     */

               public void setStatus (int status)

               {

                               checkIsCreated ("setStatus");

                               _setStatus (status);

               }

+    /**

+     * Set the sender ID for the MamaDQPublisher

+     *

+     * @param id The publisher sender id to set for the publisher

+     */

               public void setSenderId (long id)

               {

                               checkIsCreated ("setSenderId");

                               _setSenderId (id);

               }

+    /**

+     * Set the message sequence number for the MamaDQPublisher

+     *

+     * @param num The sequence number to set for the publisher

+     */

               public void setSeqNum (long num)

               {

                               checkIsCreated ("setSeqNum");

diff --git a/mama/jni/src/com/wombat/mama/MamaDQPublisherManager.java b/mama/jni/src/com/wombat/mama/MamaDQPublisherManager.java

index 76beeec..533a59b 100644

--- a/mama/jni/src/com/wombat/mama/MamaDQPublisherManager.java

+++ b/mama/jni/src/com/wombat/mama/MamaDQPublisherManager.java

@@ -23,6 +23,13 @@ package com.wombat.mama;

 import java.util.ArrayList;

+/**

+ * The <code>MamaDQPublisherManager</code> interface represents a collection of subscriptions.

+ * It has the ability to provide all the aspects of a Mama Publisher including initials,

+ * recaps, and data quality.

+ *

+ * @see Mama

+ */

public class MamaDQPublisherManager

{

               /*A long value containing a pointer to the underlying C publisher manager structure*/

@@ -35,6 +42,14 @@ public class MamaDQPublisherManager

                               initIDs();

               }

+    /**

+     * Create in instance of the MamaDQPublisherManager

+     *

+     * @param transport The transport to create the publishermanager on

+     * @param queue The queue to create the publisher manager on

+     * @param callback The associated callback to use

+     * @param source The source namepaceto create the publisher manager with

+     */

     public void create (MamaTransport transport,

                         MamaQueue queue,

                                               MamaDQPublisherManagerCallback callback,

@@ -43,6 +58,15 @@ public class MamaDQPublisherManager

                               _create (transport, queue, callback, source, "_MD");

               }

    

+    /**

+     * Create in instance of the MamaDQPublisherManager

+     *

+     * @param transport The transport to create the publishermanager on

+     * @param queue The queue to create the publisher manager on

+     * @param callback The associated callback to use

+     * @param source The source name to create the publisher manager with

+     * @param root The root of the source namespace

+     */

               public void create (MamaTransport transport,

                         MamaQueue queue,

                                               MamaDQPublisherManagerCallback callback,

@@ -52,12 +76,22 @@ public class MamaDQPublisherManager

                               _create (transport, queue, callback, source, root);

               }

+    /**

+     * Destroy the instance of the MamaDQPublisherManager

+     */

               public void destroy()

               {

                               checkIsCreated("destroy");

                               _destroy();        

               }

+    /**

+     * Add a new Publisher to the MamaDQPublisherManager

+     *

+     * @param symbol The symbol associated with the new publisher

+     * @param publisher The new publisher instance

+     * @param cache The callback associated with the new publisher

+     */

               // Probably needs to be more defensive in terms of dealing with nulls

               public void addPublisher (String symbol,

                               MamaDQPublisher publisher,

@@ -68,18 +102,36 @@ public class MamaDQPublisherManager

               }

     

+    /**

+     * Remove a Publisher from the MamaDQPublisherManager

+     *

+     * @param symbol The symbol for which the associated publisher will be removed

+     */

     public MamaDQPublisher removePublisher (String symbol)

     {

         checkIsCreated("addPublisher");

         return _removePublisher(symbol);

     }

    

+    /**

+     * Remove a Publisher from the MamaDQPublisherManager

+     *

+     * @param symbol The symbol for which the associated publisher will be destroyed and free'd

+     */

     public void destroyPublisher (String symbol)

     {

         checkIsCreated("addPublisher");

         _destroyPublisher(symbol);

     }

    

+    /**

+     * Create a new Publisher and associate it with the MamaDQPublisherManager

+     *

+     * @param symbol The symbol for which the new publisher will be created

+     * @param cache The callback that will be associated with the new publisher

+     *

+     * @return MamaDQPublisher The newly created MamaDQPublisher

+     */

     // Probably needs to be more defensive in terms of dealing with nulls

               public MamaDQPublisher createPublisher (String symbol, Object cache)

               {

@@ -92,30 +144,57 @@ public class MamaDQPublisherManager

         return myPub;

               }

+    /**

+     * Set the status for the MamaDQPublisherManager

+     *

+     * @param status The mamaMsgStatus to set for the publisher manager

+     */

               public void setStatus (int status)

               {

                               checkIsCreated("setStatus");

                               _setStatus(status);

               }

+    /**

+     * Set the message sequence number for the MamaDQPublisherManager

+     *

+     * @param seqNum The sequence number to set for the publisher manager

+     */

               public void setSeqNum (long seqNum)

               {

                               checkIsCreated("setSeqNum");

                               _setSeqNum(seqNum);

               }

+    /**

+     * Set the sender ID for the MamaDQPublisherManager

+     *

+     * @param id The publisher sender id to set for the publisher manager

+     */

     public void setSenderId (long id)

               {

                               checkIsCreated("setSenderId");

                               _setSenderId(id);

               }

    

+    /**

+     * Send out a synchronization request from the MamaDQPublisherManager

+     *

+     * @param numMsg The number of topics to include per sync response message

+     * @param delay The Interval (in seconds) for the responder to wait before sending the first response

+     * @param duration The Interval (in seconds) over which to send the responses

+     */

               public void sendSyncRequest (int numMsg, double delay, double duration)

               {

                               checkIsCreated("sendSyncRequest");

                               _sendSyncRequest(numMsg, delay, duration);

               }

+    /**

+     * Publish a NO_SUBSCRIBERS message for the given symbol

+     *

+     * @param symbol The symbol to publish a NO_SUBSCRIBERS message against

+     */

               public void sendNoSubscribers (String symbol)

               {

                               checkIsCreated("sendSyncRequest");

@@ -161,12 +240,22 @@ public class MamaDQPublisherManager

                               }

               }

+    /**

+     * This class is used to contain information on each publisher within the MamaDQPublisherManager

+     */

               public static class MamaPublishTopic

               {

                               private final MamaDQPublisher dqPublisher;

                               private final String symbol;

         private final Object cache;

        

+        /**

+         * Constructor for MamaPublishTopic

+         *

+         * @param symbol The symbol

+         * @param dqPublisher The publisher

+         * @param cache The cache

+         */

                               public MamaPublishTopic (String          symbol,

                                  MamaDQPublisher dqPublisher,

                                                                                                                                Object          cache)

@@ -176,16 +265,31 @@ public class MamaDQPublisherManager

                                               this.symbol = symbol;

                               }

+        /**

+         * Return the publisher for the MamaPublishTopic

+         *

+         * @return MamaDQPublisher The publisher

+         */

                               public MamaDQPublisher getPublisher()

                               {

                                               return dqPublisher;       

                               }

+        /**

+         * Return the cache for the MamaPublishTopic

+         *

+         * @return Object The cache

+         */

                               public Object getCache()

                               {

                                               return cache;

                               }

+        /**

+         * Return the symbol for the MamaPublishTopic

+         *

+         * @return String The symbol

+         */

                               public String getSymbol()

                               {

                                               return symbol;

diff --git a/mama/jni/src/com/wombat/mama/MamaMsg.java b/mama/jni/src/com/wombat/mama/MamaMsg.java

index 83afc50..1e2c767 100644

--- a/mama/jni/src/com/wombat/mama/MamaMsg.java

+++ b/mama/jni/src/com/wombat/mama/MamaMsg.java

@@ -25,9 +25,45 @@ import com.wombat.common.WombatException;

import java.util.Iterator;

import java.nio.*;

-/*

-* Wrapper class for the native C mama msg structure

-*/

+/**

+ * Wrapper class for the native C mama msg structure.

+ *

+ * <p/>

+ * Field identifiers must be >=0. A field identifier of 0 indicates that there

+ * is no unique FID and multiple fields with the same name may have FID == 0.

+ * <p/>

+ * Field lookup proceeds in the following manner.

+ * <ol>

+ * <li>

+ * If the fid supplied is non-zero, search for a field with the

+ * specified fid and return the field if it exists (the name is not validated).

+ * Otherwise return null.

+ * </li>

+ * <p/>

+ * <li>

+ * If the fid supplied is 0, return the first field encountered with the

+ * supplied name or null if no such field exists.

+ * </li>

+ * </ol>

+ * <p/>

+ * Get methods for numeric values may result in loss of information through

+ * either rounding or truncation when a larger data type is accessed as a

+ * smaller one. The result may be the same as the result of casting the larger

+ * value to the smaller. For example calling <code>getShort</code> for an

+ * integer field with a value greater than <code>Short.MAX_VALUE</code>

+ * might return <code>Short.MIN_VALUE</code>. It is also valid to throw a

+ * <code>ClassCastException</code> or other appropriate

+ * <code>RuntimeException</code>.

+ * <p/>

+ * Since some message implementations may not natively support all data types,

+ * the behaviour may vary substantially. In creating and accessing messages the

+ * Wombat APIs assume that the underlying values are stored in the smallest

+ * possible fields, and accesses them accordingly. For this reason the minimal

+ * requirement is that the methods for accessing and creating fields support

+ * the full range of values appropriate for their type. How they deal with

+ * larger values should be irrelevant.

+ *

+ */

public class MamaMsg

{

     /* ************************************************** */

@@ -77,8 +113,8 @@ public class MamaMsg

     /**

      * The default construction behaviour is to create the underlying

-     * C message structure. We need this when users are creating their

-     * own messages when using the publishing API.

+     * C message structure.

+     * We need this when users are creating their own messages when using the publishing API.

      */

     public MamaMsg()

     {

@@ -133,7 +169,7 @@ public class MamaMsg

      * inside a MamaBuffer object without performing any memory allocation that

      * would cause future garbage collection.

      *

-     * @param[in] fieldDesc The field descriptor.

+     * @param fieldDesc The field descriptor.

      * @return A MamaBuffer containing single byte ASCII characters, to obtain

      *         a unicode string call MamaBuffer.asCharBuffer.

      * @exception  WombatException Thrown if the field descriptor is null.

@@ -155,8 +191,8 @@ public class MamaMsg

      * inside a MamaBuffer object without performing any memory allocation that

      * would cause future garbage collection.

      *

-     * @param[in] name The field name.

-     * @param[in] fid The field Id.

+     * @param name The field name.

+     * @param fid The field Id.

      * @return A MamaBuffer containing single byte ASCII characters, to obtain

      *         a unicode string call MamaBuffer.asCharBuffer.

      */

@@ -205,9 +241,9 @@ public class MamaMsg

      * would cause future garbage collection. If the field is not in the message

      * the function will return FALSE.

      *

-     * @param[in] name The field name.

-     * @param[in] fid The field Id.

-     * @param[in] buffer A MamaBuffer that will contain the string if it is present

+     * @param name The field name.

+     * @param fid The field Id.

+     * @param buffer A MamaBuffer that will contain the string if it is present

      *             in the message.

      * @return Boolean indicating of the field was present in the message or not.

      */

@@ -244,11 +280,23 @@ public class MamaMsg

         return true;

     }

+    /**

+      * Return the native message pointer.

+      *

+      * @return The message pointer (Long)

+      */

     public long getPointerVal()

     {

         return msgPointer_i;

     }

    

+    /**

+      * Return a iterator for use with this MamaMsg

+      *

+      * @param dictionary The dictionary to use for iterating over the message

+      *

+      * @return The message iterator (Iterator)

+      */

     public Iterator iterator (MamaDictionary dictionary)

     {

              

@@ -264,6 +312,11 @@ public class MamaMsg

         return myIterator;

     }

    

+    /**

+      * Return an iterator for use with this MamaMsg

+      *

+      * @return A message iterator (Iterator)

+      */

     public Iterator iterator ()

     {

         iterator (null);

@@ -271,11 +324,34 @@ public class MamaMsg

         return myIterator;

     }

    

-    /* Returns the total number of fields in the message. */

+    /** Returns the total number of fields in the message.

+      *

+      * @return Number of fields in the message as in int

+      */

     public native int getNumFields();

+    /**

+      * Returns a Boolean value from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      *

+      * @return The field value as a boolean

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native boolean  getBoolean (String name, int fid);

    

+    /**

+      * Returns a Boolean value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a boolean

+      *

+      * @exception WombatException will be thrown if the fieldDesc is null

+      */

     public boolean getBoolean (MamaFieldDescriptor fieldDesc)

     {

         if (null!=fieldDesc)

@@ -289,10 +365,28 @@ public class MamaMsg

         }

     }

-    /* Get a I8, U8 or I16 field as Java char.*/

+    /**

+      * Returns a Char value from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      *

+      * @return The field value as a char

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native char getChar( String name, int fid );

-    /* Get a I8, U8 or I16 field as Java char. */

+    /**

+      * Returns a Char value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a boolean

+      *

+      * @exception WombatException will be thrown if the fieldDesc is null

+      */

     public char getChar( MamaFieldDescriptor fieldDesc )

     {

         final String METHOD_NAME = "getChar(): ";

@@ -308,8 +402,28 @@ public class MamaMsg

         }

     }

+    /**

+      * Returns an I8 value from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      *

+      * @return The field value as a byte

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native byte getI8 (String name, int fid);

    

+    /**

+      * Returns a Integer (I8) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a byte

+      *

+      * @exception WombatException will be thrown if the fieldDesc is null

+      */

     public byte getI8 (MamaFieldDescriptor fieldDesc)

     {

         if (null!=fieldDesc)

@@ -323,8 +437,28 @@ public class MamaMsg

         }

     }

+    /**

+      * Returns a U8 value from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      *

+      * @return The field value as a short

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native short getU8 (String name, int fid);

    

+    /**

+      * Returns a Unsigned Integer (U8) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a short

+      *

+      * @exception WombatException will be thrown if the fieldDesc is null

+      */

     public short getU8 (MamaFieldDescriptor fieldDesc)

     {

         if (null!=fieldDesc)

@@ -339,11 +473,28 @@ public class MamaMsg

     }

 

-

-    /* Get a U8 or U16 field. */

+    /**

+      * Returns an I16 value from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      *

+      * @return The field value as a short

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native short getI16 (String name, int fid);

-    /* Get a U8 or U16 field. */

+    /**

+      * Returns a Integer (U16) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a short

+      *

+      * @exception WombatException will be thrown if the fieldDesc is null

+      */

     public short getI16 (MamaFieldDescriptor fieldDesc)

     {

         if (null != fieldDesc)

@@ -357,8 +508,28 @@ public class MamaMsg

         }

     }

+    /**

+      * Returns a U16 value from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      *

+      * @return The field value as a int

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native int getU16 (String name, int fid);

    

+    /**

+      * Returns a Unsigned Integer (U16) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a int

+      *

+      * @exception WombatException will be thrown if the fieldDesc is null

+      */

     public int getU16 (MamaFieldDescriptor fieldDesc)

     {

         if (null != fieldDesc)

@@ -372,10 +543,28 @@ public class MamaMsg

         }

     }

-    /* Get a I32 field. */

+    /**

+      * Returns an I32 value from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      *

+      * @return The field value as a int

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native int getI32 (String name, int fid);

-    /* Get a I32 field. */

+    /**

+      * Returns a Integer (I32) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a int

+      *

+      * @exception WombatException will be thrown if the fieldDesc is null

+      */

     public int getI32 (MamaFieldDescriptor fieldDesc)

     {

         if (null != fieldDesc)

@@ -390,8 +579,28 @@ public class MamaMsg

     }

 

+    /**

+      * Returns a U32 value from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      *

+      * @return The field value as a long

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native long getU32 (String name, int fid);

+    /**

+      * Returns a Unsigned Integer (U32) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a long

+      *

+      * @exception WombatException will be thrown if the fieldDesc is null

+      */

     public long getU32 (MamaFieldDescriptor fieldDesc)

     {

         if (null != fieldDesc)

@@ -406,10 +615,28 @@ public class MamaMsg

     }

 

-    /* Get a I64 field. */

+    /**

+      * Returns an I64 value from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      *

+      * @return The field value as a long

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native long getI64 (String name, int fid);

-    /* Get a I64 field. */

+    /**

+      * Returns a Integer (I64) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a long

+      *

+      * @exception WombatException will be thrown if the fieldDesc is null

+      */

     public long getI64 (MamaFieldDescriptor fieldDesc)

     {

         if (null != fieldDesc)

@@ -422,8 +649,28 @@ public class MamaMsg

         }

     }

+    /**

+      * Returns a U64 value from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      *

+      * @return The field value as a long

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native long getU64 (String name, int fid);

+    /**

+      * Returns a Unsigned Integer (U64) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a long

+      *

+      * @exception WombatException will be thrown if the fieldDesc is null

+      */

     public long getU64 (MamaFieldDescriptor fieldDesc)

     {

         if (null != fieldDesc)

@@ -437,10 +684,28 @@ public class MamaMsg

         }

     }

-    /* Get a float field. */

+    /**

+      * Returns an F32 value from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      *

+      * @return The field value as a float

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native float getF32 (String name, int fid);

-    /* Get a float field. */

+    /**

+      * Returns a Float (F32) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a float

+      *

+      * @exception WombatException will be thrown if the fieldDesc is null

+      */

     public float getF32 (MamaFieldDescriptor fieldDesc)

     {

         if (null != fieldDesc)

@@ -454,10 +719,28 @@ public class MamaMsg

         }

     }

-    /* Get a double field. */

+    /**

+      * Returns an F64 value from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      *

+      * @return The field value as a double

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native double getF64 (String name, int fid);

-    /* Get a double field. */

+    /**

+      * Returns a Double (F64) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a double

+      *

+      * @exception WombatException will be thrown if the fieldDesc is null

+      */

     public double getF64 (MamaFieldDescriptor fieldDesc)

     {

         if (null != fieldDesc)

@@ -471,10 +754,28 @@ public class MamaMsg

         }

     }

-    /* Get a String field. */

+    /**

+      * Returns a String value from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      *

+      * @return The field value as a String

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native String getString (String name, int fid);

    

-    /* Get a String field. */

+    /**

+      * Returns a String value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a string

+      *

+      * @exception WombatException will be thrown if the fieldDesc is null

+      */

     public String getString (MamaFieldDescriptor fieldDesc)

     {

         if (null != fieldDesc)

@@ -488,8 +789,28 @@ public class MamaMsg

         }

     }

+    /**

+      * Returns a MamaMsg value from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      *

+      * @return The field value as a MamaMsg

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native MamaMsg getMsg (String name, int fid);

+    /**

+      * Returns a MamaMsg value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a MamaMsg

+      *

+      * @exception WombatException will be thrown if the fieldDesc is null

+      */

     public MamaMsg getMsg (MamaFieldDescriptor fieldDesc)

     {

         if (null != fieldDesc)

@@ -537,7 +858,10 @@ public class MamaMsg

                 * Set a new buffer for an existing mamaMsg. This approach is faster than

                 * creating a new message for buffers as the message can reuse memory

                 * allocated during previous use.

+      *

                 * @param byteArray The byte array containing the wire format of the message

+      *

+      * @exception WombatException will be thrown if the byteArray is null

                 */ 

                public void setNewBuffer(byte[] byteArray)

               {

@@ -552,8 +876,25 @@ public class MamaMsg

              

                private native void _setNewBuffer(byte[] byteArray);

   

+    /**

+      * Returns a Opaque value from the underlying message.

+      *

+      * @param name The name of the field

+      * @param fid The FID of the field

+      *

+      * @return The field value as a byte[]

+      */

     public native byte[] getOpaque (String name, int fid);

+    /**

+      * Returns a Opaque (byte[]) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a byte[]

+      *

+      * @exception WombatException will be thrown if the fieldDesc is null

+      */

     public byte[] getOpaque (MamaFieldDescriptor fieldDesc)

     {

         if (null != fieldDesc)

@@ -567,6 +908,14 @@ public class MamaMsg

         }

     }

         

+    /**

+      * Returns a MamaDateTime value from the underlying message.

+      *

+      * @param name The name of the field

+      * @param fid The FID of the field

+      *

+      * @return The field value as a MamaDateTime

+      */

     public MamaDateTime getDateTime (String name, int fid)

     {

         if (myDateTime == null)

@@ -578,6 +927,13 @@ public class MamaMsg

         return myDateTime;   

     }

 

+    /**

+      * Returns a MamaDateTime value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a MamaDateTime

+      */

     public MamaDateTime getDateTime(MamaFieldDescriptor fieldDesc)

     {

         return getDateTime (fieldDesc.getName (), fieldDesc.getFid());

@@ -585,6 +941,14 @@ public class MamaMsg

     private native void _getDateTime (String name, int fid);

     

+    /**

+      * Returns a MamaPrice value from the underlying message.

+      *

+      * @param name The name of the field

+      * @param fid The FID of the field

+      *

+      * @return The field value as a MamaPrice

+      */

     public MamaPrice getPrice (String name, int fid)

     {

         if (myPrice == null)

@@ -596,6 +960,13 @@ public class MamaMsg

         return myPrice;

     }

+    /**

+      * Returns a MamaPrice value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a MamaPrice

+      */

     public MamaPrice getPrice( MamaFieldDescriptor fieldDesc )

     {

         return getPrice (fieldDesc.getName(), fieldDesc.getFid());

@@ -603,10 +974,25 @@ public class MamaMsg

    

     private native void _getPrice (String name, int fid);

-    /* Get an array of submessage field. */

+    /**

+      * Returns a Message Array value from the underlying message.

+      *

+      * @param name The name of the field

+      * @param fid The FID of the field

+      *

+      * @return The field value as a MamaMsg[]

+      */

     public native MamaMsg[] getArrayMsg( String name, int fid );

-    /* Get an array of submessage field. */

+    /**

+      * Returns a MamaMsg Array (MamaMsg[]) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a MamaMsg[]

+      *

+      * @exception WombatException will be thrown if the fieldDesc is null

+      */

     public MamaMsg[] getArrayMsg( MamaFieldDescriptor fieldDesc )

     {

         if (null != fieldDesc)

@@ -620,81 +1006,245 @@ public class MamaMsg

         }

     }

+    /**

+      * Returns an I8 Array value from the underlying message.

+      *

+      * @param name The name of the field

+      * @param fid The FID of the field

+      *

+      * @return The field value as a byte[]

+      */

     public native byte[] getArrayI8 (String name, int fid);

-

+    /**

+      * Returns an I8 Array (byte[]) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a byte[]

+      */

     public byte[] getArrayI8 (MamaFieldDescriptor fieldDesc)

     {

         return getArrayI8 (fieldDesc.getName(), fieldDesc.getFid());

     }

    

+    /**

+      * Returns a U8 Array value from the underlying message.

+      *

+      * @param name The name of the field

+      * @param fid The FID of the field

+      *

+      * @return The field value as a short[]

+      */

     public native short[] getArrayU8 (String name, int fid);

+    /**

+      * Returns a U8 Array (short[]) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a short[]

+      */

     public short[] getArrayU8 (MamaFieldDescriptor fieldDesc)

     {

         return getArrayU8 (fieldDesc.getName(), fieldDesc.getFid());

     }

    

+    /**

+      * Returns an I16 Array value from the underlying message.

+      *

+      * @param name The name of the field

+      * @param fid The FID of the field

+      *

+      * @return The field value as a short[]

+      */

     public native short[] getArrayI16 (String name, int fid);

+    /**

+      * Returns a I16 Array (short[]) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a short[]

+      */

     public short[] getArrayI16 (MamaFieldDescriptor fieldDesc)

     {

         return getArrayI16 (fieldDesc.getName(), fieldDesc.getFid());

     }

    

+    /**

+      * Returns a U16 Array value from the underlying message.

+      *

+      * @param name The name of the field

+      * @param fid The FID of the field

+      *

+      * @return The field value as a int[]

+      */

     public native int[] getArrayU16 (String name, int fid);

+    /**

+      * Returns a U16 Array (int[]) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a int[]

+      */

     public int[] getArrayU16 (MamaFieldDescriptor fieldDesc)

     {

         return getArrayU16 (fieldDesc.getName(), fieldDesc.getFid());

     }

    

+    /**

+      * Returns an I32 Array value from the underlying message.

+      *

+      * @param name The name of the field

+      * @param fid The FID of the field

+      *

+      * @return The field value as a int[]

+      */

     public native int[] getArrayI32 (String name, int fid);

+    /**

+      * Returns a I32 Array (int[]) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a int[]

+      */

     public int[] getArrayI32 (MamaFieldDescriptor fieldDesc)

     {

         return getArrayI32 (fieldDesc.getName (), fieldDesc.getFid ());

     }

    

+    /**

+      * Returns a U32 Array value from the underlying message.

+      *

+      * @param name The name of the field

+      * @param fid The FID of the field

+      *

+      * @return The field value as a long[]

+      */

     public native long[] getArrayU32 (String name, int fid);

+    /**

+      * Returns a U32 Array (long[]) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a long[]

+      */

     public long[] getArrayU32 (MamaFieldDescriptor fieldDesc)

     {

         return getArrayU32 (fieldDesc.getName(), fieldDesc.getFid());

     }

+    /**

+      * Returns an I64 Array value from the underlying message.

+      *

+      * @param name The name of the field

+      * @param fid The FID of the field

+      *

+      * @return The field value as a long[]

+      */

     public native long[] getArrayI64 (String name, int fid);

+    /**

+      * Returns a I64 Array (long[]) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a long[]

+      */

     public long[] getArrayI64 (MamaFieldDescriptor fieldDesc)

     {

         return getArrayI64 (fieldDesc.getName(), fieldDesc.getFid());

     }

    

+    /**

+      * Returns an U64 Array value from the underlying message.

+      *

+      * @param name The name of the field

+      * @param fid The FID of the field

+      *

+      * @return The field value as a long[]

+      */

     public native long[] getArrayU64 (String name, int fid);

+    /**

+      * Returns a U64 Array (long[]) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a long[]

+      */

     public long[] getArrayU64 (MamaFieldDescriptor fieldDesc)

     {

         return getArrayU64 (fieldDesc.getName (), fieldDesc.getFid ());

     }   

 

+    /**

+      * Returns an F32 Array value from the underlying message.

+      *

+      * @param name The name of the field

+      * @param fid The FID of the field

+      *

+      * @return The field value as a float[]

+      */

     public native float[] getArrayF32 (String name, int fid);

+    /**

+      * Returns a F32 Array (float[]) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a float[]

+      */

     public float[] getArrayF32 (MamaFieldDescriptor fieldDesc)

     {

         return getArrayF32 (fieldDesc.getName(), fieldDesc.getFid());

     }

    

+    /**

+      * Returns an F64 Array value from the underlying message.

+      *

+      * @param name The name of the field

+      * @param fid The FID of the field

+      *

+      * @return The field value as a double[]

+      */

     public native double[] getArrayF64 (String name, int fid);

+    /**

+      * Returns a F32 Array (double[]) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a double[]

+      */

     public double[] getArrayF64 (MamaFieldDescriptor fieldDesc)

     {

         return getArrayF64 (fieldDesc.getName(), fieldDesc.getFid());

     }

    

-    /* Get an array of string field. */

+    /**

+      * Returns an String Array value from the underlying message.

+      *

+      * @param name The name of the field

+      * @param fid The FID of the field

+      *

+      * @return The field value as a string[]

+      */

     public native String[] getArrayString (String name, int fid);

-    /* Get an array of string field. */

+    /**

+      * Returns a String Array (string[]) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a string[]

+      *

+      * @exception WombatException will be thrown if the fieldDesc is null

+      */

     public String[] getArrayString (MamaFieldDescriptor fieldDesc)

     {

         if (null != fieldDesc)

@@ -708,18 +1258,73 @@ public class MamaMsg

         }

     }

+    /**

+      * Returns Boolean indiciating whether the underlying message is definitely duplicate.

+      *

+      * @return Boolean indiciating whether the message is a duplicate

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native boolean getIsDefinitelyDuplicate ();

+    /**

+      * Returns Boolean indiciating whether the underlying message is possibly duplicate.

+      *

+      * @return Boolean indiciating whether the message is a possibly a duplicate

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native boolean getIsPossiblyDuplicate ();

+    /**

+      * Returns Boolean indiciating whether the underlying message is possibly delayed.

+      *

+      * @return Boolean indiciating whether the message is a possibly delayed

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native boolean getIsPossiblyDelayed ();

+    /**

+      * Returns Boolean indiciating whether the underlying message is definitely delayed.

+      *

+      * @return Boolean indiciating whether the message is a definitely delayed

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native boolean getIsDefinitelyDelayed ();

+    /**

+      * Returns Boolean indiciating whether the underlying message is out of sequence.

+      *

+      * @return Boolean indiciating whether the message is out of sequence

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native boolean getIsOutOfSequence ();

+    /**

+      * Returns the Sequence Number from the underlying message.

+      *

+      * @return The field value as a long

+      */

     public native long getSeqNum();

+    /**

+      * Add a Boolean value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public void addBool (String name,int fid, boolean value)

     {

         /* addBoolean is the one we "should" be using anyway,

@@ -728,124 +1333,695 @@ public class MamaMsg

         addBoolean (name, fid, value);

     }

+    /**

+      * Add a Boolean value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addBoolean (String name,int fid, boolean value);

+    /**

+      * Add a Char value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addChar (String name, int fid, char value);

+    /**

+      * Add an I8 (byte) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addI8 (String name, int fid, byte value);

        

+    /**

+      * Add an U8 (byte) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addU8 (String name, int fid, short value);

    

+    /**

+      * Add an I16 (short) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addI16 (String name, int fid, short value);

    

+    /**

+      * Add an U16 (short) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addU16 (String name, int fid, int value);

    

+    /**

+      * Add an I32 (int) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addI32 (String name, int fid, int value);

       

+    /**

+      * Add an U32 (int) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addU32 (String name, int fid, long value);

    

+    /**

+      * Add an I64 (long) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addI64 (String name, int fid, long value);

    

+    /**

+      * Add an U64 (long) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addU64 (String name, int fid, long value);

+    /**

+      * Add an F32 (float) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addF32 (String name, int fid, float value);

    

+    /**

+      * Add an F64 (double) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addF64 (String name, int fid, double value);

+    /**

+      * Add an String (Java String) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addString (String name, int fid, String value);

    

+    /**

+      * Add an MamaDateTime value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addDateTime (String name, int fid, MamaDateTime value);

    

+    /**

+      * Add an MamaPrice value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

    public native void addPrice (String name, int fid, MamaPrice value);

    

+    /**

+      * Add an MamaMsg value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addMsg (String name, int fid, MamaMsg value);

+    /**

+      * Add an Opaque (byte[]) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addOpaque (String name, int fid,byte[] value);

    

+    /**

+      * Add an I8 Array (byte[]) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addArrayI8 (String name, int fid, byte[] value);

    

+    /**

+      * Add a U8 Array (short[]) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addArrayU8 (String name, int fid, short[] value);

+    /**

+      * Add an I16 Array (short[]) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addArrayI16 (String name, int fid, short[] value);

    

+    /**

+      * Add a U16 Array (int[]) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addArrayU16 (String name, int fid, int[] value);

+    /**

+      * Add an I32 Array (int[]) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addArrayI32 (String name, int fid, int[] value);

+    /**

+      * Add a U32 Array (long[]) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addArrayU32 (String name, int fid, long[] value);

+    /**

+      * Add an I64 Array (long[]) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addArrayI64 (String name, int fid, long[] value);

    

+    /**

+      * Add a U64 Array (long[]) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addArrayU64 (String name, int fid, long[] value);

+    /**

+      * Add a F32 Array (float[]) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addArrayF32 (String name, int fid, float[] value);

    

+    /**

+      * Add a F64 Array (double[]) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addArrayF64 (String name, int fid, double[] value);

+    /**

+      * Add a MamaMsg Array (MamaMsg[]) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addArrayMsg (String name, int fid, MamaMsg[] value);

 

     /**

      * This function will add a new field containing an array of messages.

      * Unlinke addArrayMsg it will not add the entire array but only the

      * number of messages supplied in the length parameter.

-     * @param name (in) the field name.

-     * @param fid (in) the field id.

-     * @param value (in) the array of messages.

-     * @param length (in) the number of messages to add from the array, if this

+     * @param name the field name.

+     * @param fid the field id.

+     * @param value the array of messages.

+     * @param length the number of messages to add from the array, if this

      *                    parameter is outside the array bounds then an

      *                    exception will be thrown.

      * @exception com.wombat.mama.MamaException

      */

     public native void addArrayMsgWithLength (String name, int fid, MamaMsg[] value, int length);

    

+    /**

+      * Add a String Array (String[]) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The array of strings

+      * @param length The number of strings to add from the string array, if this

+      *                    parameter is outside the array bounds then an

+      *                    exception will be thrown.

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addArrayString (String name, int fid, String[] value, int length); 

     

+    /**

+      * Add a String Array (String[]) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The array of strings

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public void addArrayString (String name, int fid, String[] value)   

     {

         addArrayString (name, fid, value, value.length);   

     }

    

+    /**

+      * Update the value of an I8 (byte) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateI8 (String name, int fid, byte value);

    

+    /**

+      * Update the value of a U8 (byte) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateU8( String name, int fid, short value );

+    /**

+      * Update the value of an I16 (short) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateI16 (String name, int fid, short value);

+    /**

+      * Update the value of a U16 (short) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateU16( String name, int fid, int value );

    

+    /**

+      * Update the value of an I32 (int) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateI32 (String name, int fid, int value);

+    /**

+      * Update the value of a U32 (int) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateU32( String name, int fid, long value );

 

+    /**

+      * Update the value of an I64 (long) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateI64 (String name, int fid, long value);

    

+    /**

+      * Update the value of a U64 (long) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateU64 (String name, int fid, long value);

    

+    /**

+      * Update the value of an F32 (float) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateF32 (String name, int fid, float value);

+    /**

+      * Update the value of an F64 (double) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateF64 (String name, int fid, double value);

+    /**

+      * Update the value of an String (Java String) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateString (String name, int fid, String value);

    

+    /**

+      * Update the value of a MamaPrice value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updatePrice (String name, int fid, MamaPrice value);

+    /**

+      * Update the value of a Boolean value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateBoolean (String name, int fid, boolean value);

+    /**

+      * Update the value of an Char value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateChar (String name, int fid, char value);

+    /**

+      * Update the value of an MamaDateTime value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateDateTime (String name, int fid, MamaDateTime value);

+    /**

+      * Update the value of an I8 (byte[]) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateArrayI8 (String name, int fid, byte[] value);

+

+    /**

+      * Update the value of a U8 (short[]) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateArrayU8 (String name, int fid, short[] value);

+

+    /**

+      * Update the value of an I16 (short[]) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateArrayI16 (String name, int fid, short[] value);

+

+    /**

+      * Update the value of a U16 (int[]) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateArrayU16 (String name, int fid, int[] value);

+

+    /**

+      * Update the value of an I32 (int[]) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateArrayI32 (String name, int fid, int[] value);

+

+    /**

+      * Update the value of a U32 (long[]) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateArrayU32 (String name, int fid, long[] value);

+

+    /**

+      * Update the value of an I64 (long[]) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateArrayI64 (String name, int fid, long[] value);

+

+    /**

+      * Update the value of a U64 (long[]) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateArrayU64 (String name, int fid, long[] value);

+

+    /**

+      * Update the value of an F32 (float[]) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateArrayF32 (String name, int fid, float[] value);

+

+    /**

+      * Update the value of an F64 (double[]) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateArrayF64 (String name, int fid, double[] value);

    

+    /**

+      * Return the value of a Char field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a char

+      */

     public char getChar (String  name,

                          int     fid,

                          char    defaultValue)

@@ -859,11 +2035,28 @@ public class MamaMsg

         return field.getChar();

     }

    

+    /**

+      * Return the value of a Char field from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor for the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a char

+      */

     public char getChar (MamaFieldDescriptor fieldDesc, char defaultValue)

     {

         return getChar (fieldDesc.getName(), fieldDesc.getFid(), defaultValue);

     } 

             

+    /**

+      * Return the value of an I8 field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value  as a byte

+      */

     public byte getI8 (String  name,

                         int     fid,

                         byte   defaultValue)

@@ -877,11 +2070,28 @@ public class MamaMsg

         return field.getI8();

     }

    

+    /**

+      * Return the value of an I8 field from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor for the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a byte

+      */

     public byte getI8 (MamaFieldDescriptor fieldDesc, byte defaultValue)

     {

         return getI8 (fieldDesc.getName(), fieldDesc.getFid(), defaultValue);

     } 

     

+    /**

+      * Return the value of a U8 field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a short

+      */

     public short getU8 (String  name,

                         int     fid,

                         short   defaultValue)

@@ -894,7 +2104,15 @@ public class MamaMsg

                                                                                                                                

         return field.getU8();

     }

-                                                                                                                               

+

+    /**

+      * Return the value of a U8 field from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor for the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a short

+      */

     public short getU8 (MamaFieldDescriptor fieldDesc,

                         short               defaultValue)

     {

@@ -902,6 +2120,15 @@ public class MamaMsg

     }

     

+    /**

+      * Return the value of an I16 field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a short

+      */

     public short getI16 (String  name,

                         int     fid,

                         short   defaultValue)

@@ -914,11 +2141,29 @@ public class MamaMsg

                                                                                                                                 

         return field.getI16();

     }   

+

+    /**

+      * Return the value of an I16 field from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor for the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a short

+      */

     public short getI16 (MamaFieldDescriptor fieldDesc, short defaultValue)

     {

         return getI16(fieldDesc.getName(), fieldDesc.getFid(), defaultValue);

     } 

 

+    /**

+      * Return the value of a U16 field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a int

+      */

     public int getU16 (String  name,

                         int     fid,

                         int   defaultValue)

@@ -931,11 +2176,29 @@ public class MamaMsg

                                                                                                                                

         return field.getU16();

     }       

+

+    /**

+      * Return the value of a U16 field from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor for the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a int

+      */

     public int getU16 (MamaFieldDescriptor fieldDesc, int defaultValue)

     {

         return getU16(fieldDesc.getName(), fieldDesc.getFid(), defaultValue);

     }

    

+    /**

+      * Return the value of an I32 field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a int

+      */

     public int getI32 (String   name,

                        int      fid,

                        int      defaultValue)

@@ -949,12 +2212,28 @@ public class MamaMsg

         return field.getI32();

     }

    

+    /**

+      * Return the value of an I32 field from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor for the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a int

+      */

     public int getI32 (MamaFieldDescriptor fieldDesc, int defaultValue)

     {

         return getI32(fieldDesc.getName(), fieldDesc.getFid(), defaultValue);

     } 

     

-   

+    /**

+      * Return the value of a U32 field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a long

+      */

     public long getU32 (String  name,

                         int     fid,

                         long    defaultValue)

@@ -967,11 +2246,29 @@ public class MamaMsg

                                                                                                                                

         return field.getU32();

     }

+

+    /**

+      * Return the value of a U32 field from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor for the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a long

+      */

     public long getU32 (MamaFieldDescriptor fieldDesc, long defaultValue)

     {

         return getU32(fieldDesc.getName(), fieldDesc.getFid(), defaultValue);

     }

    

+    /**

+      * Return the value of an I64 field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a long

+      */

     public long getI64 (String  name,

                         int     fid,

                         long    defaultValue)

@@ -984,11 +2281,29 @@ public class MamaMsg

                                                                                                                                

         return field.getI64();

     }  

+

+    /**

+      * Return the value of an I64 field from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor for the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a long

+      */

     public long getI64 (MamaFieldDescriptor fieldDesc, long defaultValue)

     {

         return getI64(fieldDesc.getName(), fieldDesc.getFid(), defaultValue);

     }

+    /**

+      * Return the value of a U64 field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a long

+      */

     public long getU64 (String  name,

                         int     fid,

                         long    defaultValue)

@@ -1001,11 +2316,29 @@ public class MamaMsg

                                                                                                                                

         return field.getU64();

     }

+

+    /**

+      * Return the value of a U64 field from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor for the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a long

+      */

     public long getU64 (MamaFieldDescriptor fieldDesc, long defaultValue)

     {

         return getU64(fieldDesc.getName(), fieldDesc.getFid(), defaultValue);

     }

    

+    /**

+      * Return the value of an F32 field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a float

+      */

     public float getF32 (String  name,

                          int     fid,

                          float   defaultValue)

@@ -1018,11 +2351,29 @@ public class MamaMsg

                                                                                                                                

         return field.getF32();

     }   

+

+    /**

+      * Return the value of an F32 field from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor for the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a float

+      */

     public float getF32 (MamaFieldDescriptor fieldDesc, float defaultValue)

     {

         return getF32(fieldDesc.getName(), fieldDesc.getFid(), defaultValue);

     } 

     

+    /**

+      * Return the value of an F64 field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a double

+      */

     public double getF64(String  name,

                          int     fid,

                          double  defaultValue)

@@ -1035,12 +2386,29 @@ public class MamaMsg

                                                                                                                                 

         return field.getF64();

     }       

+

+    /**

+      * Return the value of an F64 field from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor for the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a double

+      */

     public double getF64 (MamaFieldDescriptor fieldDesc, double defaultValue)

     {

         return getF64(fieldDesc.getName(), fieldDesc.getFid(), defaultValue);

     }

-   

-   

+

+    /**

+      * Return the value of a String field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a String

+      */

     public String getString(String  name,

                             int     fid,

                             String  defaultValue)

@@ -1053,12 +2421,29 @@ public class MamaMsg

                                                                                                                                

         return field.getString();

     }        

+

+    /**

+      * Return the value of a String field from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor for the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a String

+      */

     public String getString (MamaFieldDescriptor fieldDesc, String defaultValue)

     {

         return getString(fieldDesc.getName(), fieldDesc.getFid(), defaultValue);

     } 

     

-       

+    /**

+      * Return the value of a MamaPrice field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a MamaPrice

+      */

     public MamaPrice getPrice(String     name,

                               int        fid,

                               MamaPrice  defaultValue)

@@ -1071,12 +2456,28 @@ public class MamaMsg

                                                                                                                                

         return field.getPrice();

     }         

+

+    /**

+      * Return the value of a MamaPrice field from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor for the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a MamaPrice

+      */

     public MamaPrice getPrice (MamaFieldDescriptor fieldDesc, MamaPrice defaultValue)

     {

         return getPrice(fieldDesc.getName(), fieldDesc.getFid(), defaultValue);

     } 

     

-    

+    /**

+      * Return the value of a MamaMsg field from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor for the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a MamaMsg

+      */

     public MamaMsg getMsg (MamaFieldDescriptor fieldDesc, MamaMsg defaultValue)

     {

         if (null == fieldDesc)

@@ -1093,6 +2494,14 @@ public class MamaMsg

         return field.getMsg();

    }

    

+    /**

+      * Return the value of an I32 Array field from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor for the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a int[]

+      */

     public int[] getArrayI32 (MamaFieldDescriptor fieldDesc, int[] defaultValue)

     {

         if (null == fieldDesc)

@@ -1109,7 +2518,14 @@ public class MamaMsg

         return field.getArrayI32();

     } 

     

-   

+    /**

+      * Return the value of a MamaMsg Array field from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor for the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a MamaMsg[]

+      */

     public MamaMsg[] getArrayMsg (MamaFieldDescriptor fieldDesc,

                                   MamaMsg[]           defaultValue)

     {

@@ -1128,57 +2544,150 @@ public class MamaMsg

         return field.getArrayMsg();   

     }

    

+    /**

+      * Try to get the value of a Boolean field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

               public native boolean tryBoolean(String name, int fid, MamaBoolean result);

-    /* Try to get a MamaBoolean field. */

+    /**

+      * Return the value of a MamaBoolean field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryBoolean( MamaFieldDescriptor field, MamaBoolean result )

     {

         if (null == field) return false;

         return tryBoolean (field.getName(), field.getFid(), result );

     }

-    /* Try to get a MamaChar field. */

+    /**

+      * Try to get the value of a MamaChar field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

               public native boolean tryChar(String name, int fid, MamaChar result);

-

-    /* Try to get a MamaChar field. */

+    /**

+      * Return the value of a MamaChar field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryChar( MamaFieldDescriptor field, MamaChar result )

     {

         if (null == field) return false;

         return tryChar (field.getName(), field.getFid(), result );

     }

+    /**

+      * Try to get the value of a MamaByte field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

               public native boolean tryI8(String name, int fid, MamaByte result);

+    /**

+      * Return the value of a MamaByte field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean  tryI8 (MamaFieldDescriptor field, MamaByte result)

     {

         if (null == field) return false;

         return tryI8 (field.getName(), field.getFid(), result );

     }

   

+    /**

+      * Try to get the value of a MamaShort field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

               public native boolean tryU8(String name, int fid, MamaShort result);

-

+    /**

+      * Return the value of a MamaShort field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryU8 (MamaFieldDescriptor field, MamaShort result)

     {

         if (null == field) return false;

         return tryU8 (field.getName(), field.getFid(), result );

     }

-    /* Try to get a MamaShort field. */

+    /**

+      * Try to get the value of a MamaShort field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

               public native boolean tryI16(String name, int fid, MamaShort result);

-

-    /* Try to get a MamaShort field. */

+    /**

+      * Return the value of a MamaShort field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryI16 (MamaFieldDescriptor field, MamaShort result)

     {

         if (null == field) return false;

         return tryI16 (field.getName(), field.getFid(), result );

     }

+    /**

+      * Try to get the value of a MamaInteger field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

               public native boolean tryU16(String name, int fid, MamaInteger result);

-

+    /**

+      * Return the value of a MamaInteger field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean  tryU16 (MamaFieldDescriptor field, MamaInteger

                 result)

     {

@@ -1186,67 +2695,164 @@ public class MamaMsg

         return tryU16 (field.getName(), field.getFid(), result );

     }

    

-

-    /* Try to get a MamaInteger field. */

+    /**

+      * Try to get the value of a MamaInteger field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

               public native boolean tryI32(String name, int fid, MamaInteger result);

-

-    /* Try to get a MamaInteger field. */

+    /**

+      * Return the value of a MamaInteger field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryI32 (MamaFieldDescriptor field, MamaInteger result)

     {

         if (null == field) return false;

         return tryI32 (field.getName(), field.getFid(), result);

     }

+    /**

+      * Try to get the value of a MamaLong field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

               public native boolean tryU32(String name, int fid, MamaLong result);

-

+    /**

+      * Return the value of a MamaLong field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean  tryU32 (MamaFieldDescriptor field, MamaLong result)

     {

         if (null == field) return false;

         return tryU32 (field.getName(), field.getFid(), result);

     }

-    /* Try to get a MamaLong field. */

+    /**

+      * Try to get the value of a MamaLong field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

               public native boolean tryI64(String name, int fid, MamaLong result);

-

-    /* Try to get a MamaLong field. */

+    /**

+      * Return the value of a MamaLong field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryI64 (MamaFieldDescriptor field, MamaLong result)

     {

         if (null == field) return false;

         return tryI64 (field.getName(), field.getFid(), result);

     }

+    /**

+      * Try to get the value of a MamaLong field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

               public native boolean tryU64(String name, int fid, MamaLong result);

-

+    /**

+      * Return the value of a MamaLong field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean  tryU64 (MamaFieldDescriptor field, MamaLong result)

     {

         if (null == field) return false;

         return tryU64 (field.getName(), field.getFid(), result);

     }

+    /**

+      * Try to get the value of a MamaFloat field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

               public native boolean tryF32(String name, int fid, MamaFloat result);

-

+    /**

+      * Return the value of a MamaFloat field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean  tryF32 (MamaFieldDescriptor field, MamaFloat result)

     {

         if (null == field) return false;

         return tryF32 (field.getName(), field.getFid(), result);

     }

-    /* Try to get a MamaDouble field  */

+    /**

+      * Try to get the value of a MamaDouble field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

               public native boolean tryF64(String name, int fid, MamaDouble result);

-

-    /* Try to get a MamaDouble field. */

+    /**

+      * Return the value of a MamaDouble field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryF64 (MamaFieldDescriptor field, MamaDouble result)

     {

         if (null == field) return false;

         return tryF64 (field.getName(), field.getFid(), result);

     }

+    /**

+      * Return the value of a MamaDateTime field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryDateTime (MamaFieldDescriptor field,MamaDateTime result)

     {

         if (null == field) return false;

@@ -1254,26 +2860,76 @@ public class MamaMsg

                 result);

     }

+    /**

+      * Try to get the value of a MamaDateTime field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

               public native boolean tryDateTime(String name, int fid, MamaDateTime result);

+    /**

+      * Return the value of a MamaPrice field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryPrice (MamaFieldDescriptor field, MamaPrice result)

     {

         if (null == field) return false;

         return tryPrice (field.getName (), field.getFid(), result);

     }

+    /**

+      * Try to get the value of a MamaPrice field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

               public native boolean tryPrice(String name, int fid, MamaPrice result);

-    /* Try to get a MamaString field. */

+    /**

+      * Try to get the value of a MamaString field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public native boolean tryString( String name, int fid, MamaString result );

-    /* Try to get a MamaString field. */

+    /**

+      * Return the value of a MamaString field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryString( MamaFieldDescriptor field, MamaString result )

     {

         if (null == field) return false;

         return tryString (field.getName(), field.getFid(), result );

     }

+    /**

+      * Try to get the value of a MamaOpaque field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryOpaque (String name, int fid, MamaOpaque result)

     {

         MamaMsgField field = getField (name, fid, null);

@@ -1282,6 +2938,14 @@ public class MamaMsg

         return true;

     }

+    /**

+      * Return the value of a MamaOpaque field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryOpaque (MamaFieldDescriptor field, MamaOpaque

                 result)

     {

@@ -1289,6 +2953,15 @@ public class MamaMsg

         return tryOpaque (field.getName(), field.getFid(), result );

     }

+    /**

+      * Try to get the value of a MamaMessage field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryMsg (String name, int fid, MamaMessage result)

     {

         MamaMsgField field = getField (name, fid, null);

@@ -1297,12 +2970,29 @@ public class MamaMsg

         return true;

     }

+    /**

+      * Return the value of a MamaMessage field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryMsg (MamaFieldDescriptor field, MamaMessage result)

     {

         if (null == field) return false;

         return tryMsg (field.getName(), field.getFid(), result );

     }

+    /**

+      * Try to get the value of a MamaArrayInt field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryArrayI32 (String name, int fid, MamaArrayInt result)

     {

         MamaMsgField field = getField (name, fid, null);

@@ -1311,6 +3001,14 @@ public class MamaMsg

         return true;

     }

+    /**

+      * Return the value of a MamaArrayInt field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryArrayI32 (MamaFieldDescriptor field, MamaArrayInt

                 result)

     {

@@ -1318,6 +3016,15 @@ public class MamaMsg

         return tryArrayI32 (field.getName(), field.getFid(), result );

     }

+    /**

+      * Try to get the value of a MamaArrayInt field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryArrayU16 (String name, int fid, MamaArrayInt result)

     {

         MamaMsgField field = getField (name, fid, null);

@@ -1326,6 +3033,14 @@ public class MamaMsg

         return true;

     }

+    /**

+      * Return the value of a MamaArrayInt field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryArrayU16 (MamaFieldDescriptor field, MamaArrayInt

                 result)

     {

@@ -1333,7 +3048,15 @@ public class MamaMsg

         return tryArrayU16 (field.getName(), field.getFid(), result );

     }

-   

+    /**

+      * Try to get the value of a MamaArrayMsg field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryArrayMsg (String name, int fid, MamaArrayMsg result)

     {

         MamaMsgField field = getField (name, fid, null);

@@ -1342,6 +3065,14 @@ public class MamaMsg

         return true;

     }

+    /**

+      * Return the value of a MamaArrayMsg field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryArrayMsg (MamaFieldDescriptor field, MamaArrayMsg

                 result)

     {

@@ -1349,6 +3080,15 @@ public class MamaMsg

         return tryArrayMsg (field.getName(), field.getFid(), result );

     }

    

+    /**

+      * Try to get the value of a MamaArrayString field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryArrayString (String name, int fid, MamaArrayString result)

     {

         MamaMsgField field = getField (name, fid, null);

@@ -1357,13 +3097,31 @@ public class MamaMsg

         return true;

     }

+    /**

+      * Return the value of a MamaArrayMsg field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryArrayString (MamaFieldDescriptor field, MamaArrayString result)

     {

         if (null == field) return false;

         return tryArrayString (field.getName(), field.getFid(), result);

     }

-    /*Invokes the onField method on the iterator for each field in the message*/

+    /**

+      * Iterate over all of the fields within the message.

+      * The <code>onField()</code> method of the

+      * <code>MamaMsgFieldIterator</code> instance will be invoked for each

+      * field in the underlying message.

+      *

+      * @param iterator Callback object implementing the MamaMsgFieldIterator interface

+      * @param dictionary Optional MamaDictionary object

+      * @param closure Optional user supplied arbitrary closure data which will be

+      *                 passed back in <code>onField()</code>

+      */

     public void iterateFields(MamaMsgFieldIterator iterator,

                               MamaDictionary dictionary,

                               Object closure)

@@ -1380,13 +3138,28 @@ public class MamaMsg

                                         MamaDictionary dictionary,

                                         Object closure);

                              

-    /* Return a String representation the field with the given fid. */

+    /**

+      * Return a String representation of the entire message.

+

+      * @param fid The FID of the field

+      * @param dictionary Optional MamaDictionary object

+      *

+      * @return Return a String representation the field with the given fid

+      */

     public native String getFieldAsString( int fid, MamaDictionary dictionary );

-    /* Indicates whether this message is a p2p request */

+    /**

+      * Return a String representation of the entire message.

+      *

+      * @return Boolean indicating whether this message is a p2p request

+      */

     public native boolean isFromInbox();

-    /* Return a String representation of the entire message. */

+    /**

+      * Return a String representation of the entire message.

+      *

+      * @return the String representation of the entire message.

+      */

     public native String toString();

     /**

@@ -1397,10 +3170,13 @@ public class MamaMsg

      */

     public native char getPayloadType();

-    /*Needed for JNI so we know when to free the underlying C strucure

-     Should only be called if the client app has created the message.

-     i.e. do not call on messages passed in the callbacks as these are

-     managed internal to the MAMA API*/

+    /**

+      * Destroy the internal state of the MamaMsg object.

+      * Needed for JNI so we know when to free the underlying C strucure.

+      * Should only be called if the client app has created the message.

+      * i.e. do not call on messages passed in the callbacks as these are

+      * managed internal to the MAMA API

+      */

     public void destroy ()

     {

         mamaBuffer = null;

@@ -1415,12 +3191,31 @@ public class MamaMsg

     private native void _destroy();

+    /**

+      * Clear the message.

+      * All fields are removed

+      */

     public native void clear();

+    /**

+      * Create a deep copy of the message.

+      *

+      * @param rhs The MamaMsg to be copied

+      */

     public native void copy(MamaMsg rhs);

+    /**

+      * Detach the message.

+      * This will take a deep copy of the MamaMsg and transfer the ownership to the application

+      * and it will be the responsibility of the user to destroy.

+      */

     public native MamaMsg detach ();

    

+    /**

+      * Update the MamaMsg with the fields of another MamaMsg.

+      *

+      * @param rhs The MamaMsg to be used to update the current message

+      */

     public native void apply(MamaMsg rhs);

    

     /*Will create the underlying C Message and set the pointer value

@@ -1434,12 +3229,29 @@ public class MamaMsg

     /*Used to cache ids for callback methods/fields*/

     private static native void initIDs();

+    /**

+      * Get a specified field from a message, or null if not found.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param dict Optional MamaDictionary object

+      *

+      * @return The MamaMsgField or null

+      */

     public MamaMsgField getField (MamaFieldDescriptor field,

                                   MamaDictionary dict)

     {

         return getField (field.getName (), field.getFid(),dict);

     }

+    /**

+      * Get a specified field from a message, or null if not found.

+      *

+      * @param fieldName The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param dict Optional MamaDictionary object

+      *

+      * @return The MamaMsgField or null

+      */

     public MamaMsgField getField (String fieldName, int fid,

                                   MamaDictionary dict)

     {

@@ -1461,7 +3273,7 @@ public class MamaMsg

         return msgField_i;

     }

-    public native void  _getField(String fieldName, int fid,

+    private native void  _getField(String fieldName, int fid,

                                   MamaDictionary dict);

     protected void finalize ()

@@ -1475,11 +3287,11 @@ public class MamaMsg

     /**

      * This function

-     * @param[in] name The field name.

-     * @param[in] fid The field Id.

-     * @param[in] byteArray The byte array to populate.

-     * @param[in] arraySize The size of the array.

-     * @param[in] throwOnError Whether we want this function to return an exception or not.

+     * @param name The field name.

+     * @param fid The field Id.

+     * @param byteArray The byte array to populate.

+     * @param arraySize The size of the array.

+     * @param throwOnError Whether we want this function to return an exception or not.

      * @return The number of bytes copied to the buffer. If the buffer isn't

      *         big enough then the return will be the negative number of bytes

      *         required. Note that if anything goes wrong exceptions will be

diff --git a/mama/jni/src/com/wombat/mama/MamaPrice.java b/mama/jni/src/com/wombat/mama/MamaPrice.java

index cc8e013..27734c7 100644

--- a/mama/jni/src/com/wombat/mama/MamaPrice.java

+++ b/mama/jni/src/com/wombat/mama/MamaPrice.java

@@ -165,7 +165,7 @@ public class MamaPrice implements Comparable

               /**

                * This function obtains the double value of the price rounded to the supplied precision.

                 *

-              * @param[in] precision The precision to use for rounding.

+             * @param precision The precision to use for rounding.

                * @return The rounded value.

                * @exception com.wombat.mama MamaException thrown if the underlying JNI object has been destroyed.

                * @exception com.wombat.common.WombatException for other general MAMA errors.

diff --git a/mama/jni/src/com/wombat/mama/MamaSource.java b/mama/jni/src/com/wombat/mama/MamaSource.java

index 13c4b66..4c5858a 100644

--- a/mama/jni/src/com/wombat/mama/MamaSource.java

+++ b/mama/jni/src/com/wombat/mama/MamaSource.java

@@ -144,7 +144,10 @@ public class MamaSource extends MamaSourceManager

    

     /**

      * Add a subscriptions to the mamaSource

-     * @param MamaSubscription object

+     *

+     * @param key Key value to use to insert Subscription into a Subscription Map

+     * @param subscription MamaSubscription object

+     * @exception MamaException will be thrown is the key value already exists in the Map

      */

     public void addSubscription (final String key,

                                  MamaSubscription subscription)

@@ -162,7 +165,7 @@ public class MamaSource extends MamaSourceManager

     }

     /**

      * find a MamaSubscription, null will be returned if not found

-     * @param The String identifier key for the subscription

+     * @param key The String identifier key for the subscription

      * @return The mama subscription object

      */

     public MamaSubscription findSubscription (final String key)

diff --git a/mama/jni/src/com/wombat/mama/MamaTransport.java b/mama/jni/src/com/wombat/mama/MamaTransport.java

index 01ebb14..5fde5ee 100644

--- a/mama/jni/src/com/wombat/mama/MamaTransport.java

+++ b/mama/jni/src/com/wombat/mama/MamaTransport.java

@@ -140,7 +140,7 @@ public class MamaTransport

          * This function will set the client listener which will then

          * receive events from the transport.

          *

-         * @param[in] clientListener The client listener.

+         * @param clientListener The client listener.

          */

         public void setClientListener(MamaTransportListener clientListener)

         {

@@ -205,7 +205,7 @@ public class MamaTransport

          * This function will set the client topic listener which will then

          * receive events from the transport.

          *

-         * @param[in] clientTopicListener The client topic listener.

+         * @param clientTopicListener The client topic listener.

          */

         public void setClientTopicListener(MamaTransportTopicListener clientTopicListener)

         {

@@ -280,7 +280,7 @@ public class MamaTransport

     /**

      * This function will allocate the underlying transport.

      *

-     * @param[in] connection The re-usable connection object that will be passed

+     * @param connection The re-usable connection object that will be passed

      *                       back up into listener callbacks.

      */

     private native void allocateTransport(MamaConnection connection);

@@ -292,7 +292,7 @@ public class MamaTransport

      * Unregistration at the C layer will only occur whenever the transport

      * is destroyed.

      *

-     * @param[in] listenerEx The listener to add.

+     * @param listenerEx The listener to add.

      */

     private native void nativeAddListener(MamaTransportListener listener);

@@ -303,7 +303,7 @@ public class MamaTransport

      * Unregistration at the C layer will only occur whenever the transport

      * is destroyed.

      *

-     * @param[in] listenerEx The listener to add.

+     * @param listenerEx The listener to add.

      */

     private native void nativeAddTopicListener(MamaTransportTopicListener topicListener);

@@ -315,7 +315,7 @@ public class MamaTransport

      * This function will set the client listener, note that only one

      * listener or extended listener is supported at any one time.

      *

-     * @param[in] transportListener The new listener, null can be passed to

+     * @param transportListener The new listener, null can be passed to

      *                              remove the current listener.

      */

     public void addTransportListener(MamaTransportListener transportListener)

@@ -338,7 +338,7 @@ public class MamaTransport

      * This function will set the client topic listener, note that only one

      * topic listener is supported at any one time.

      *

-     * @param[in] transportTopicListener The new listener, null can be passed

+     * @param transportTopicListener The new listener, null can be passed

      *                                   to remove the current listener.

      */

     public void addTransportTopicListener(MamaTransportTopicListener transportTopicListener)

@@ -361,7 +361,7 @@ public class MamaTransport

      * This function will remove the current transport listener.

      * It will actually remove both the basic and extended listeners.

      *

-     * @param[in] transportListener The transport listener. Note that this

+     * @param transportListener The transport listener. Note that this

      *                              parameter is currently redundant.

      */

     public void removeTransportListener(MamaTransportListener transportListener)

--

1.8.3.1

 


This message may contain confidential information and is intended for specific recipients unless explicitly noted otherwise. If you have reason to believe you are not an intended recipient of this message, please delete it and notify the sender. This message may not represent the opinion of IntercontinentalExchange Group, Inc. (ICE), NYSE Euronext or any of their subsidiaries or affiliates, and does not constitute a contract or guarantee. Unencrypted electronic mail is not secure and the recipient of this message is expected to provide safeguards from viruses and pursue alternate means of communication where privacy or a binding message is desired.


Damian Maguire <DMaguire@...>
 

Cheers Gary, raised as BZ132

D

From: Gary Molloy <GMolloy@...>
Date: Tuesday, June 24, 2014 10:52 AM
To: "openmama-dev@..." <openmama-dev@...>
Subject: [Openmama-dev] [PATCH 2/7] Update JavaDocs.

Testing

 

Build OpenMAMA with docs and review the associated html files.

 

 

 

From a1a8d0cafb5093e95cbf07b4f6bee7c50afb888b Mon Sep 17 00:00:00 2001

From: Gary Molloy <gmolloy@...>

Date: Mon, 23 Jun 2014 14:11:57 +0100

Subject: [PATCH 2/7] Update JavaDocs.

 

[OMAMA-269]

 

Description - Completely updated the JavaDocs for MamaDQPublisher, MamaDQPublisherManager and MamaMsg. 

Fixed several JavaDoc build warnings in:

Mama.java,

MamaBasicSubscription.java

MamaPrice.java

MamaSource.java

MamaTransport.java

 

 

Signed-off-by: Gary Molloy <gmolloy@...>

---

mama/jni/src/com/wombat/mama/Mama.java             |   12 +-

.../src/com/wombat/mama/MamaBasicSubscription.java |   11 +-

mama/jni/src/com/wombat/mama/MamaDQPublisher.java  |   44 +

.../com/wombat/mama/MamaDQPublisherManager.java    |  104 ++

mama/jni/src/com/wombat/mama/MamaMsg.java          | 1976 +++++++++++++++++++-

mama/jni/src/com/wombat/mama/MamaPrice.java        |    2 +-

mama/jni/src/com/wombat/mama/MamaSource.java       |    7 +-

mama/jni/src/com/wombat/mama/MamaTransport.java    |   16 +-

8 files changed, 2067 insertions(+), 105 deletions(-)

 

diff --git a/mama/jni/src/com/wombat/mama/Mama.java b/mama/jni/src/com/wombat/mama/Mama.java

index ca965bc..ae6caf6 100644

--- a/mama/jni/src/com/wombat/mama/Mama.java

+++ b/mama/jni/src/com/wombat/mama/Mama.java

@@ -120,9 +120,9 @@ public class Mama

      * If null is passed as the filename the API will look for the default

      * filename of mama.properties.

      *

-     * @param[in] path Fully qualified path to the directory containing the properties

+     * @param path Fully qualified path to the directory containing the properties

      * file

-     * @param[in] filename The name of the file containing MAMA properties.

+     * @param filename The name of the file containing MAMA properties.

      *    

      */

     public static native void open (String path, String filename);

@@ -141,7 +141,7 @@ public class Mama

      *

      * This function is thread safe.

      *

-     * @param[in] bridge The bridge specific structure.

+     * @param bridge The bridge specific structure.

      */

     public static native void start (MamaBridge bridge);

@@ -149,8 +149,8 @@ public class Mama

      * Start processing MAMA internal events in the background. This

      * method invokes Mama::start () in a separate thread.

      *

-     * @param[in] bridge The middleware-specific bridge structure

-     * @param[in] callback The callback for asynchronous status.

+     * @param bridge The middleware-specific bridge structure

+     * @param callback The callback for asynchronous status.

      */

     public static native void startBackground (MamaBridge bridge, MamaStartBackgroundCallback callback);

@@ -164,7 +164,7 @@ public class Mama

      *

      * This function is thread safe.

      *

-     * @param[in] bridgeImpl The bridge specific structure.

+     * @param bridge The bridge specific structure.

      */

     public static native void stop (MamaBridge bridge);

diff --git a/mama/jni/src/com/wombat/mama/MamaBasicSubscription.java b/mama/jni/src/com/wombat/mama/MamaBasicSubscription.java

index bb76ae8..ec99cc9 100644

--- a/mama/jni/src/com/wombat/mama/MamaBasicSubscription.java

+++ b/mama/jni/src/com/wombat/mama/MamaBasicSubscription.java

@@ -124,16 +124,15 @@ public class MamaBasicSubscription

     * naming service. A publishing transport can be assigned a name with the

     * publish_name property.

     *

-    * @param subscription The subscription.

+    * @param callbacks The mamaMsgCallbacks structure containing the callback

+    *                   functions.

     * @param transport The transport to use.

     * @param queue The mama queue.

-    * @param callbacks The mamaMsgCallbacks structure containing the callback

-    * functions.

     * @param source The source name of the feed handler to provide the

-    * subscription.

-    * @param symbol The symbol name.

+    *                   subscription.

+    * @param topic The symbol name.

     * @param closure The closure will be passed to subsequent callback

-    * invocations for this subscription.

+    *                   invocations for this subscription.

     */

     public void createBasicWildCardSubscription(

         final MamaBasicWildCardSubscriptionCallback callback,

diff --git a/mama/jni/src/com/wombat/mama/MamaDQPublisher.java b/mama/jni/src/com/wombat/mama/MamaDQPublisher.java

index a40fe36..366f5ad 100644

--- a/mama/jni/src/com/wombat/mama/MamaDQPublisher.java

+++ b/mama/jni/src/com/wombat/mama/MamaDQPublisher.java

@@ -21,6 +21,12 @@

 package com.wombat.mama;

+/**

+ * The <code>MamaDQPublisher</code> interface represents a subscription for a symbol.

+ * It can also allow for the broadcast and point-to-point publishing of messages to clients.

+ *

+ * @see Mama

+ */

public class MamaDQPublisher

{

               /*A long value containing a pointer to the underlying C dqpublisher structure*/

@@ -31,46 +37,84 @@ public class MamaDQPublisher

                               initIDs();

               }

+    /**

+     * Constructor for MamaDQPublisher

+     */

     public MamaDQPublisher()

     {

         /* nothing to do */

     }

    

+    /**

+     * Create a new MamaDQPublisher

+     *

+     * @param transport The transport for which to create the new publisher against

+     * @param topic The topic associated with the new publisher

+     */

               public void create (MamaTransport transport, String topic)

               {

                               _create (transport, topic);

               }

+    /**

+     * Send a message (broadcast) from the MamaDQPublisher

+     *

+     * @param msg The MamaMsg that will be sent from this publisher

+     */

               public void send (MamaMsg msg)

               {

                               checkIsCreated("send");

                               _send(msg);

               }

+    /**

+     * Send a message (point-to-point) from the MamaDQPublisher

+     *

+     * @param request The request message (from an inbox)

+     * @param reply The reply message containing the relevant data

+     */

               public void sendReply (MamaMsg request, MamaMsg reply)

               {

                               checkIsCreated ("sendReply");

                               _sendReply(request, reply);

               }

+    /**

+     * Destroy the MamaDQPublisher

+     */

               public void destroy ()

               {

                               checkIsCreated ("destroy");

                               _destroy();

               }

+    /**

+     * Set the status for the MamaDQPublisher

+     *

+     * @param status The mamaMsgStatus to set for the publisher

+     */

               public void setStatus (int status)

               {

                               checkIsCreated ("setStatus");

                               _setStatus (status);

               }

+    /**

+     * Set the sender ID for the MamaDQPublisher

+     *

+     * @param id The publisher sender id to set for the publisher

+     */

               public void setSenderId (long id)

               {

                               checkIsCreated ("setSenderId");

                               _setSenderId (id);

               }

+    /**

+     * Set the message sequence number for the MamaDQPublisher

+     *

+     * @param num The sequence number to set for the publisher

+     */

               public void setSeqNum (long num)

               {

                               checkIsCreated ("setSeqNum");

diff --git a/mama/jni/src/com/wombat/mama/MamaDQPublisherManager.java b/mama/jni/src/com/wombat/mama/MamaDQPublisherManager.java

index 76beeec..533a59b 100644

--- a/mama/jni/src/com/wombat/mama/MamaDQPublisherManager.java

+++ b/mama/jni/src/com/wombat/mama/MamaDQPublisherManager.java

@@ -23,6 +23,13 @@ package com.wombat.mama;

 import java.util.ArrayList;

+/**

+ * The <code>MamaDQPublisherManager</code> interface represents a collection of subscriptions.

+ * It has the ability to provide all the aspects of a Mama Publisher including initials,

+ * recaps, and data quality.

+ *

+ * @see Mama

+ */

public class MamaDQPublisherManager

{

               /*A long value containing a pointer to the underlying C publisher manager structure*/

@@ -35,6 +42,14 @@ public class MamaDQPublisherManager

                               initIDs();

               }

+    /**

+     * Create in instance of the MamaDQPublisherManager

+     *

+     * @param transport The transport to create the publishermanager on

+     * @param queue The queue to create the publisher manager on

+     * @param callback The associated callback to use

+     * @param source The source namepaceto create the publisher manager with

+     */

     public void create (MamaTransport transport,

                         MamaQueue queue,

                                               MamaDQPublisherManagerCallback callback,

@@ -43,6 +58,15 @@ public class MamaDQPublisherManager

                               _create (transport, queue, callback, source, "_MD");

               }

    

+    /**

+     * Create in instance of the MamaDQPublisherManager

+     *

+     * @param transport The transport to create the publishermanager on

+     * @param queue The queue to create the publisher manager on

+     * @param callback The associated callback to use

+     * @param source The source name to create the publisher manager with

+     * @param root The root of the source namespace

+     */

               public void create (MamaTransport transport,

                         MamaQueue queue,

                                               MamaDQPublisherManagerCallback callback,

@@ -52,12 +76,22 @@ public class MamaDQPublisherManager

                               _create (transport, queue, callback, source, root);

               }

+    /**

+     * Destroy the instance of the MamaDQPublisherManager

+     */

               public void destroy()

               {

                               checkIsCreated("destroy");

                               _destroy();        

               }

+    /**

+     * Add a new Publisher to the MamaDQPublisherManager

+     *

+     * @param symbol The symbol associated with the new publisher

+     * @param publisher The new publisher instance

+     * @param cache The callback associated with the new publisher

+     */

               // Probably needs to be more defensive in terms of dealing with nulls

               public void addPublisher (String symbol,

                               MamaDQPublisher publisher,

@@ -68,18 +102,36 @@ public class MamaDQPublisherManager

               }

     

+    /**

+     * Remove a Publisher from the MamaDQPublisherManager

+     *

+     * @param symbol The symbol for which the associated publisher will be removed

+     */

     public MamaDQPublisher removePublisher (String symbol)

     {

         checkIsCreated("addPublisher");

         return _removePublisher(symbol);

     }

    

+    /**

+     * Remove a Publisher from the MamaDQPublisherManager

+     *

+     * @param symbol The symbol for which the associated publisher will be destroyed and free'd

+     */

     public void destroyPublisher (String symbol)

     {

         checkIsCreated("addPublisher");

         _destroyPublisher(symbol);

     }

    

+    /**

+     * Create a new Publisher and associate it with the MamaDQPublisherManager

+     *

+     * @param symbol The symbol for which the new publisher will be created

+     * @param cache The callback that will be associated with the new publisher

+     *

+     * @return MamaDQPublisher The newly created MamaDQPublisher

+     */

     // Probably needs to be more defensive in terms of dealing with nulls

               public MamaDQPublisher createPublisher (String symbol, Object cache)

               {

@@ -92,30 +144,57 @@ public class MamaDQPublisherManager

         return myPub;

               }

+    /**

+     * Set the status for the MamaDQPublisherManager

+     *

+     * @param status The mamaMsgStatus to set for the publisher manager

+     */

               public void setStatus (int status)

               {

                               checkIsCreated("setStatus");

                               _setStatus(status);

               }

+    /**

+     * Set the message sequence number for the MamaDQPublisherManager

+     *

+     * @param seqNum The sequence number to set for the publisher manager

+     */

               public void setSeqNum (long seqNum)

               {

                               checkIsCreated("setSeqNum");

                               _setSeqNum(seqNum);

               }

+    /**

+     * Set the sender ID for the MamaDQPublisherManager

+     *

+     * @param id The publisher sender id to set for the publisher manager

+     */

     public void setSenderId (long id)

               {

                               checkIsCreated("setSenderId");

                               _setSenderId(id);

               }

    

+    /**

+     * Send out a synchronization request from the MamaDQPublisherManager

+     *

+     * @param numMsg The number of topics to include per sync response message

+     * @param delay The Interval (in seconds) for the responder to wait before sending the first response

+     * @param duration The Interval (in seconds) over which to send the responses

+     */

               public void sendSyncRequest (int numMsg, double delay, double duration)

               {

                               checkIsCreated("sendSyncRequest");

                               _sendSyncRequest(numMsg, delay, duration);

               }

+    /**

+     * Publish a NO_SUBSCRIBERS message for the given symbol

+     *

+     * @param symbol The symbol to publish a NO_SUBSCRIBERS message against

+     */

               public void sendNoSubscribers (String symbol)

               {

                               checkIsCreated("sendSyncRequest");

@@ -161,12 +240,22 @@ public class MamaDQPublisherManager

                               }

               }

+    /**

+     * This class is used to contain information on each publisher within the MamaDQPublisherManager

+     */

               public static class MamaPublishTopic

               {

                               private final MamaDQPublisher dqPublisher;

                               private final String symbol;

         private final Object cache;

        

+        /**

+         * Constructor for MamaPublishTopic

+         *

+         * @param symbol The symbol

+         * @param dqPublisher The publisher

+         * @param cache The cache

+         */

                               public MamaPublishTopic (String          symbol,

                                  MamaDQPublisher dqPublisher,

                                                                                                                                Object          cache)

@@ -176,16 +265,31 @@ public class MamaDQPublisherManager

                                               this.symbol = symbol;

                               }

+        /**

+         * Return the publisher for the MamaPublishTopic

+         *

+         * @return MamaDQPublisher The publisher

+         */

                               public MamaDQPublisher getPublisher()

                               {

                                               return dqPublisher;       

                               }

+        /**

+         * Return the cache for the MamaPublishTopic

+         *

+         * @return Object The cache

+         */

                               public Object getCache()

                               {

                                               return cache;

                               }

+        /**

+         * Return the symbol for the MamaPublishTopic

+         *

+         * @return String The symbol

+         */

                               public String getSymbol()

                               {

                                               return symbol;

diff --git a/mama/jni/src/com/wombat/mama/MamaMsg.java b/mama/jni/src/com/wombat/mama/MamaMsg.java

index 83afc50..1e2c767 100644

--- a/mama/jni/src/com/wombat/mama/MamaMsg.java

+++ b/mama/jni/src/com/wombat/mama/MamaMsg.java

@@ -25,9 +25,45 @@ import com.wombat.common.WombatException;

import java.util.Iterator;

import java.nio.*;

-/*

-* Wrapper class for the native C mama msg structure

-*/

+/**

+ * Wrapper class for the native C mama msg structure.

+ *

+ * <p/>

+ * Field identifiers must be >=0. A field identifier of 0 indicates that there

+ * is no unique FID and multiple fields with the same name may have FID == 0.

+ * <p/>

+ * Field lookup proceeds in the following manner.

+ * <ol>

+ * <li>

+ * If the fid supplied is non-zero, search for a field with the

+ * specified fid and return the field if it exists (the name is not validated).

+ * Otherwise return null.

+ * </li>

+ * <p/>

+ * <li>

+ * If the fid supplied is 0, return the first field encountered with the

+ * supplied name or null if no such field exists.

+ * </li>

+ * </ol>

+ * <p/>

+ * Get methods for numeric values may result in loss of information through

+ * either rounding or truncation when a larger data type is accessed as a

+ * smaller one. The result may be the same as the result of casting the larger

+ * value to the smaller. For example calling <code>getShort</code> for an

+ * integer field with a value greater than <code>Short.MAX_VALUE</code>

+ * might return <code>Short.MIN_VALUE</code>. It is also valid to throw a

+ * <code>ClassCastException</code> or other appropriate

+ * <code>RuntimeException</code>.

+ * <p/>

+ * Since some message implementations may not natively support all data types,

+ * the behaviour may vary substantially. In creating and accessing messages the

+ * Wombat APIs assume that the underlying values are stored in the smallest

+ * possible fields, and accesses them accordingly. For this reason the minimal

+ * requirement is that the methods for accessing and creating fields support

+ * the full range of values appropriate for their type. How they deal with

+ * larger values should be irrelevant.

+ *

+ */

public class MamaMsg

{

     /* ************************************************** */

@@ -77,8 +113,8 @@ public class MamaMsg

     /**

      * The default construction behaviour is to create the underlying

-     * C message structure. We need this when users are creating their

-     * own messages when using the publishing API.

+     * C message structure.

+     * We need this when users are creating their own messages when using the publishing API.

      */

     public MamaMsg()

     {

@@ -133,7 +169,7 @@ public class MamaMsg

      * inside a MamaBuffer object without performing any memory allocation that

      * would cause future garbage collection.

      *

-     * @param[in] fieldDesc The field descriptor.

+     * @param fieldDesc The field descriptor.

      * @return A MamaBuffer containing single byte ASCII characters, to obtain

      *         a unicode string call MamaBuffer.asCharBuffer.

      * @exception  WombatException Thrown if the field descriptor is null.

@@ -155,8 +191,8 @@ public class MamaMsg

      * inside a MamaBuffer object without performing any memory allocation that

      * would cause future garbage collection.

      *

-     * @param[in] name The field name.

-     * @param[in] fid The field Id.

+     * @param name The field name.

+     * @param fid The field Id.

      * @return A MamaBuffer containing single byte ASCII characters, to obtain

      *         a unicode string call MamaBuffer.asCharBuffer.

      */

@@ -205,9 +241,9 @@ public class MamaMsg

      * would cause future garbage collection. If the field is not in the message

      * the function will return FALSE.

      *

-     * @param[in] name The field name.

-     * @param[in] fid The field Id.

-     * @param[in] buffer A MamaBuffer that will contain the string if it is present

+     * @param name The field name.

+     * @param fid The field Id.

+     * @param buffer A MamaBuffer that will contain the string if it is present

      *             in the message.

      * @return Boolean indicating of the field was present in the message or not.

      */

@@ -244,11 +280,23 @@ public class MamaMsg

         return true;

     }

+    /**

+      * Return the native message pointer.

+      *

+      * @return The message pointer (Long)

+      */

     public long getPointerVal()

     {

         return msgPointer_i;

     }

    

+    /**

+      * Return a iterator for use with this MamaMsg

+      *

+      * @param dictionary The dictionary to use for iterating over the message

+      *

+      * @return The message iterator (Iterator)

+      */

     public Iterator iterator (MamaDictionary dictionary)

     {

              

@@ -264,6 +312,11 @@ public class MamaMsg

         return myIterator;

     }

    

+    /**

+      * Return an iterator for use with this MamaMsg

+      *

+      * @return A message iterator (Iterator)

+      */

     public Iterator iterator ()

     {

         iterator (null);

@@ -271,11 +324,34 @@ public class MamaMsg

         return myIterator;

     }

    

-    /* Returns the total number of fields in the message. */

+    /** Returns the total number of fields in the message.

+      *

+      * @return Number of fields in the message as in int

+      */

     public native int getNumFields();

+    /**

+      * Returns a Boolean value from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      *

+      * @return The field value as a boolean

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native boolean  getBoolean (String name, int fid);

    

+    /**

+      * Returns a Boolean value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a boolean

+      *

+      * @exception WombatException will be thrown if the fieldDesc is null

+      */

     public boolean getBoolean (MamaFieldDescriptor fieldDesc)

     {

         if (null!=fieldDesc)

@@ -289,10 +365,28 @@ public class MamaMsg

         }

     }

-    /* Get a I8, U8 or I16 field as Java char.*/

+    /**

+      * Returns a Char value from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      *

+      * @return The field value as a char

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native char getChar( String name, int fid );

-    /* Get a I8, U8 or I16 field as Java char. */

+    /**

+      * Returns a Char value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a boolean

+      *

+      * @exception WombatException will be thrown if the fieldDesc is null

+      */

     public char getChar( MamaFieldDescriptor fieldDesc )

     {

         final String METHOD_NAME = "getChar(): ";

@@ -308,8 +402,28 @@ public class MamaMsg

         }

     }

+    /**

+      * Returns an I8 value from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      *

+      * @return The field value as a byte

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native byte getI8 (String name, int fid);

    

+    /**

+      * Returns a Integer (I8) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a byte

+      *

+      * @exception WombatException will be thrown if the fieldDesc is null

+      */

     public byte getI8 (MamaFieldDescriptor fieldDesc)

     {

         if (null!=fieldDesc)

@@ -323,8 +437,28 @@ public class MamaMsg

         }

     }

+    /**

+      * Returns a U8 value from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      *

+      * @return The field value as a short

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native short getU8 (String name, int fid);

    

+    /**

+      * Returns a Unsigned Integer (U8) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a short

+      *

+      * @exception WombatException will be thrown if the fieldDesc is null

+      */

     public short getU8 (MamaFieldDescriptor fieldDesc)

     {

         if (null!=fieldDesc)

@@ -339,11 +473,28 @@ public class MamaMsg

     }

 

-

-    /* Get a U8 or U16 field. */

+    /**

+      * Returns an I16 value from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      *

+      * @return The field value as a short

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native short getI16 (String name, int fid);

-    /* Get a U8 or U16 field. */

+    /**

+      * Returns a Integer (U16) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a short

+      *

+      * @exception WombatException will be thrown if the fieldDesc is null

+      */

     public short getI16 (MamaFieldDescriptor fieldDesc)

     {

         if (null != fieldDesc)

@@ -357,8 +508,28 @@ public class MamaMsg

         }

     }

+    /**

+      * Returns a U16 value from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      *

+      * @return The field value as a int

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native int getU16 (String name, int fid);

    

+    /**

+      * Returns a Unsigned Integer (U16) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a int

+      *

+      * @exception WombatException will be thrown if the fieldDesc is null

+      */

     public int getU16 (MamaFieldDescriptor fieldDesc)

     {

         if (null != fieldDesc)

@@ -372,10 +543,28 @@ public class MamaMsg

         }

     }

-    /* Get a I32 field. */

+    /**

+      * Returns an I32 value from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      *

+      * @return The field value as a int

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native int getI32 (String name, int fid);

-    /* Get a I32 field. */

+    /**

+      * Returns a Integer (I32) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a int

+      *

+      * @exception WombatException will be thrown if the fieldDesc is null

+      */

     public int getI32 (MamaFieldDescriptor fieldDesc)

     {

         if (null != fieldDesc)

@@ -390,8 +579,28 @@ public class MamaMsg

     }

 

+    /**

+      * Returns a U32 value from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      *

+      * @return The field value as a long

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native long getU32 (String name, int fid);

+    /**

+      * Returns a Unsigned Integer (U32) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a long

+      *

+      * @exception WombatException will be thrown if the fieldDesc is null

+      */

     public long getU32 (MamaFieldDescriptor fieldDesc)

     {

         if (null != fieldDesc)

@@ -406,10 +615,28 @@ public class MamaMsg

     }

 

-    /* Get a I64 field. */

+    /**

+      * Returns an I64 value from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      *

+      * @return The field value as a long

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native long getI64 (String name, int fid);

-    /* Get a I64 field. */

+    /**

+      * Returns a Integer (I64) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a long

+      *

+      * @exception WombatException will be thrown if the fieldDesc is null

+      */

     public long getI64 (MamaFieldDescriptor fieldDesc)

     {

         if (null != fieldDesc)

@@ -422,8 +649,28 @@ public class MamaMsg

         }

     }

+    /**

+      * Returns a U64 value from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      *

+      * @return The field value as a long

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native long getU64 (String name, int fid);

+    /**

+      * Returns a Unsigned Integer (U64) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a long

+      *

+      * @exception WombatException will be thrown if the fieldDesc is null

+      */

     public long getU64 (MamaFieldDescriptor fieldDesc)

     {

         if (null != fieldDesc)

@@ -437,10 +684,28 @@ public class MamaMsg

         }

     }

-    /* Get a float field. */

+    /**

+      * Returns an F32 value from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      *

+      * @return The field value as a float

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native float getF32 (String name, int fid);

-    /* Get a float field. */

+    /**

+      * Returns a Float (F32) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a float

+      *

+      * @exception WombatException will be thrown if the fieldDesc is null

+      */

     public float getF32 (MamaFieldDescriptor fieldDesc)

     {

         if (null != fieldDesc)

@@ -454,10 +719,28 @@ public class MamaMsg

         }

     }

-    /* Get a double field. */

+    /**

+      * Returns an F64 value from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      *

+      * @return The field value as a double

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native double getF64 (String name, int fid);

-    /* Get a double field. */

+    /**

+      * Returns a Double (F64) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a double

+      *

+      * @exception WombatException will be thrown if the fieldDesc is null

+      */

     public double getF64 (MamaFieldDescriptor fieldDesc)

     {

         if (null != fieldDesc)

@@ -471,10 +754,28 @@ public class MamaMsg

         }

     }

-    /* Get a String field. */

+    /**

+      * Returns a String value from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      *

+      * @return The field value as a String

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native String getString (String name, int fid);

    

-    /* Get a String field. */

+    /**

+      * Returns a String value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a string

+      *

+      * @exception WombatException will be thrown if the fieldDesc is null

+      */

     public String getString (MamaFieldDescriptor fieldDesc)

     {

         if (null != fieldDesc)

@@ -488,8 +789,28 @@ public class MamaMsg

         }

     }

+    /**

+      * Returns a MamaMsg value from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      *

+      * @return The field value as a MamaMsg

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native MamaMsg getMsg (String name, int fid);

+    /**

+      * Returns a MamaMsg value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a MamaMsg

+      *

+      * @exception WombatException will be thrown if the fieldDesc is null

+      */

     public MamaMsg getMsg (MamaFieldDescriptor fieldDesc)

     {

         if (null != fieldDesc)

@@ -537,7 +858,10 @@ public class MamaMsg

                 * Set a new buffer for an existing mamaMsg. This approach is faster than

                 * creating a new message for buffers as the message can reuse memory

                 * allocated during previous use.

+      *

                 * @param byteArray The byte array containing the wire format of the message

+      *

+      * @exception WombatException will be thrown if the byteArray is null

                 */ 

                public void setNewBuffer(byte[] byteArray)

               {

@@ -552,8 +876,25 @@ public class MamaMsg

              

                private native void _setNewBuffer(byte[] byteArray);

   

+    /**

+      * Returns a Opaque value from the underlying message.

+      *

+      * @param name The name of the field

+      * @param fid The FID of the field

+      *

+      * @return The field value as a byte[]

+      */

     public native byte[] getOpaque (String name, int fid);

+    /**

+      * Returns a Opaque (byte[]) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a byte[]

+      *

+      * @exception WombatException will be thrown if the fieldDesc is null

+      */

     public byte[] getOpaque (MamaFieldDescriptor fieldDesc)

     {

         if (null != fieldDesc)

@@ -567,6 +908,14 @@ public class MamaMsg

         }

     }

         

+    /**

+      * Returns a MamaDateTime value from the underlying message.

+      *

+      * @param name The name of the field

+      * @param fid The FID of the field

+      *

+      * @return The field value as a MamaDateTime

+      */

     public MamaDateTime getDateTime (String name, int fid)

     {

         if (myDateTime == null)

@@ -578,6 +927,13 @@ public class MamaMsg

         return myDateTime;   

     }

 

+    /**

+      * Returns a MamaDateTime value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a MamaDateTime

+      */

     public MamaDateTime getDateTime(MamaFieldDescriptor fieldDesc)

     {

         return getDateTime (fieldDesc.getName (), fieldDesc.getFid());

@@ -585,6 +941,14 @@ public class MamaMsg

     private native void _getDateTime (String name, int fid);

     

+    /**

+      * Returns a MamaPrice value from the underlying message.

+      *

+      * @param name The name of the field

+      * @param fid The FID of the field

+      *

+      * @return The field value as a MamaPrice

+      */

     public MamaPrice getPrice (String name, int fid)

     {

         if (myPrice == null)

@@ -596,6 +960,13 @@ public class MamaMsg

         return myPrice;

     }

+    /**

+      * Returns a MamaPrice value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a MamaPrice

+      */

     public MamaPrice getPrice( MamaFieldDescriptor fieldDesc )

     {

         return getPrice (fieldDesc.getName(), fieldDesc.getFid());

@@ -603,10 +974,25 @@ public class MamaMsg

    

     private native void _getPrice (String name, int fid);

-    /* Get an array of submessage field. */

+    /**

+      * Returns a Message Array value from the underlying message.

+      *

+      * @param name The name of the field

+      * @param fid The FID of the field

+      *

+      * @return The field value as a MamaMsg[]

+      */

     public native MamaMsg[] getArrayMsg( String name, int fid );

-    /* Get an array of submessage field. */

+    /**

+      * Returns a MamaMsg Array (MamaMsg[]) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a MamaMsg[]

+      *

+      * @exception WombatException will be thrown if the fieldDesc is null

+      */

     public MamaMsg[] getArrayMsg( MamaFieldDescriptor fieldDesc )

     {

         if (null != fieldDesc)

@@ -620,81 +1006,245 @@ public class MamaMsg

         }

     }

+    /**

+      * Returns an I8 Array value from the underlying message.

+      *

+      * @param name The name of the field

+      * @param fid The FID of the field

+      *

+      * @return The field value as a byte[]

+      */

     public native byte[] getArrayI8 (String name, int fid);

-

+    /**

+      * Returns an I8 Array (byte[]) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a byte[]

+      */

     public byte[] getArrayI8 (MamaFieldDescriptor fieldDesc)

     {

         return getArrayI8 (fieldDesc.getName(), fieldDesc.getFid());

     }

    

+    /**

+      * Returns a U8 Array value from the underlying message.

+      *

+      * @param name The name of the field

+      * @param fid The FID of the field

+      *

+      * @return The field value as a short[]

+      */

     public native short[] getArrayU8 (String name, int fid);

+    /**

+      * Returns a U8 Array (short[]) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a short[]

+      */

     public short[] getArrayU8 (MamaFieldDescriptor fieldDesc)

     {

         return getArrayU8 (fieldDesc.getName(), fieldDesc.getFid());

     }

    

+    /**

+      * Returns an I16 Array value from the underlying message.

+      *

+      * @param name The name of the field

+      * @param fid The FID of the field

+      *

+      * @return The field value as a short[]

+      */

     public native short[] getArrayI16 (String name, int fid);

+    /**

+      * Returns a I16 Array (short[]) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a short[]

+      */

     public short[] getArrayI16 (MamaFieldDescriptor fieldDesc)

     {

         return getArrayI16 (fieldDesc.getName(), fieldDesc.getFid());

     }

    

+    /**

+      * Returns a U16 Array value from the underlying message.

+      *

+      * @param name The name of the field

+      * @param fid The FID of the field

+      *

+      * @return The field value as a int[]

+      */

     public native int[] getArrayU16 (String name, int fid);

+    /**

+      * Returns a U16 Array (int[]) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a int[]

+      */

     public int[] getArrayU16 (MamaFieldDescriptor fieldDesc)

     {

         return getArrayU16 (fieldDesc.getName(), fieldDesc.getFid());

     }

    

+    /**

+      * Returns an I32 Array value from the underlying message.

+      *

+      * @param name The name of the field

+      * @param fid The FID of the field

+      *

+      * @return The field value as a int[]

+      */

     public native int[] getArrayI32 (String name, int fid);

+    /**

+      * Returns a I32 Array (int[]) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a int[]

+      */

     public int[] getArrayI32 (MamaFieldDescriptor fieldDesc)

     {

         return getArrayI32 (fieldDesc.getName (), fieldDesc.getFid ());

     }

    

+    /**

+      * Returns a U32 Array value from the underlying message.

+      *

+      * @param name The name of the field

+      * @param fid The FID of the field

+      *

+      * @return The field value as a long[]

+      */

     public native long[] getArrayU32 (String name, int fid);

+    /**

+      * Returns a U32 Array (long[]) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a long[]

+      */

     public long[] getArrayU32 (MamaFieldDescriptor fieldDesc)

     {

         return getArrayU32 (fieldDesc.getName(), fieldDesc.getFid());

     }

+    /**

+      * Returns an I64 Array value from the underlying message.

+      *

+      * @param name The name of the field

+      * @param fid The FID of the field

+      *

+      * @return The field value as a long[]

+      */

     public native long[] getArrayI64 (String name, int fid);

+    /**

+      * Returns a I64 Array (long[]) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a long[]

+      */

     public long[] getArrayI64 (MamaFieldDescriptor fieldDesc)

     {

         return getArrayI64 (fieldDesc.getName(), fieldDesc.getFid());

     }

    

+    /**

+      * Returns an U64 Array value from the underlying message.

+      *

+      * @param name The name of the field

+      * @param fid The FID of the field

+      *

+      * @return The field value as a long[]

+      */

     public native long[] getArrayU64 (String name, int fid);

+    /**

+      * Returns a U64 Array (long[]) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a long[]

+      */

     public long[] getArrayU64 (MamaFieldDescriptor fieldDesc)

     {

         return getArrayU64 (fieldDesc.getName (), fieldDesc.getFid ());

     }   

 

+    /**

+      * Returns an F32 Array value from the underlying message.

+      *

+      * @param name The name of the field

+      * @param fid The FID of the field

+      *

+      * @return The field value as a float[]

+      */

     public native float[] getArrayF32 (String name, int fid);

+    /**

+      * Returns a F32 Array (float[]) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a float[]

+      */

     public float[] getArrayF32 (MamaFieldDescriptor fieldDesc)

     {

         return getArrayF32 (fieldDesc.getName(), fieldDesc.getFid());

     }

    

+    /**

+      * Returns an F64 Array value from the underlying message.

+      *

+      * @param name The name of the field

+      * @param fid The FID of the field

+      *

+      * @return The field value as a double[]

+      */

     public native double[] getArrayF64 (String name, int fid);

+    /**

+      * Returns a F32 Array (double[]) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a double[]

+      */

     public double[] getArrayF64 (MamaFieldDescriptor fieldDesc)

     {

         return getArrayF64 (fieldDesc.getName(), fieldDesc.getFid());

     }

    

-    /* Get an array of string field. */

+    /**

+      * Returns an String Array value from the underlying message.

+      *

+      * @param name The name of the field

+      * @param fid The FID of the field

+      *

+      * @return The field value as a string[]

+      */

     public native String[] getArrayString (String name, int fid);

-    /* Get an array of string field. */

+    /**

+      * Returns a String Array (string[]) value from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor of the message field that you wich to retrieve

+      *

+      * @return The field value as a string[]

+      *

+      * @exception WombatException will be thrown if the fieldDesc is null

+      */

     public String[] getArrayString (MamaFieldDescriptor fieldDesc)

     {

         if (null != fieldDesc)

@@ -708,18 +1258,73 @@ public class MamaMsg

         }

     }

+    /**

+      * Returns Boolean indiciating whether the underlying message is definitely duplicate.

+      *

+      * @return Boolean indiciating whether the message is a duplicate

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native boolean getIsDefinitelyDuplicate ();

+    /**

+      * Returns Boolean indiciating whether the underlying message is possibly duplicate.

+      *

+      * @return Boolean indiciating whether the message is a possibly a duplicate

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native boolean getIsPossiblyDuplicate ();

+    /**

+      * Returns Boolean indiciating whether the underlying message is possibly delayed.

+      *

+      * @return Boolean indiciating whether the message is a possibly delayed

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native boolean getIsPossiblyDelayed ();

+    /**

+      * Returns Boolean indiciating whether the underlying message is definitely delayed.

+      *

+      * @return Boolean indiciating whether the message is a definitely delayed

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native boolean getIsDefinitelyDelayed ();

+    /**

+      * Returns Boolean indiciating whether the underlying message is out of sequence.

+      *

+      * @return Boolean indiciating whether the message is out of sequence

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native boolean getIsOutOfSequence ();

+    /**

+      * Returns the Sequence Number from the underlying message.

+      *

+      * @return The field value as a long

+      */

     public native long getSeqNum();

+    /**

+      * Add a Boolean value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public void addBool (String name,int fid, boolean value)

     {

         /* addBoolean is the one we "should" be using anyway,

@@ -728,124 +1333,695 @@ public class MamaMsg

         addBoolean (name, fid, value);

     }

+    /**

+      * Add a Boolean value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addBoolean (String name,int fid, boolean value);

+    /**

+      * Add a Char value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addChar (String name, int fid, char value);

+    /**

+      * Add an I8 (byte) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addI8 (String name, int fid, byte value);

        

+    /**

+      * Add an U8 (byte) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addU8 (String name, int fid, short value);

    

+    /**

+      * Add an I16 (short) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addI16 (String name, int fid, short value);

    

+    /**

+      * Add an U16 (short) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addU16 (String name, int fid, int value);

    

+    /**

+      * Add an I32 (int) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addI32 (String name, int fid, int value);

       

+    /**

+      * Add an U32 (int) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addU32 (String name, int fid, long value);

    

+    /**

+      * Add an I64 (long) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addI64 (String name, int fid, long value);

    

+    /**

+      * Add an U64 (long) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addU64 (String name, int fid, long value);

+    /**

+      * Add an F32 (float) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addF32 (String name, int fid, float value);

    

+    /**

+      * Add an F64 (double) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addF64 (String name, int fid, double value);

+    /**

+      * Add an String (Java String) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addString (String name, int fid, String value);

    

+    /**

+      * Add an MamaDateTime value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addDateTime (String name, int fid, MamaDateTime value);

    

+    /**

+      * Add an MamaPrice value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

    public native void addPrice (String name, int fid, MamaPrice value);

    

+    /**

+      * Add an MamaMsg value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addMsg (String name, int fid, MamaMsg value);

+    /**

+      * Add an Opaque (byte[]) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addOpaque (String name, int fid,byte[] value);

    

+    /**

+      * Add an I8 Array (byte[]) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addArrayI8 (String name, int fid, byte[] value);

    

+    /**

+      * Add a U8 Array (short[]) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addArrayU8 (String name, int fid, short[] value);

+    /**

+      * Add an I16 Array (short[]) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addArrayI16 (String name, int fid, short[] value);

    

+    /**

+      * Add a U16 Array (int[]) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addArrayU16 (String name, int fid, int[] value);

+    /**

+      * Add an I32 Array (int[]) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addArrayI32 (String name, int fid, int[] value);

+    /**

+      * Add a U32 Array (long[]) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addArrayU32 (String name, int fid, long[] value);

+    /**

+      * Add an I64 Array (long[]) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addArrayI64 (String name, int fid, long[] value);

    

+    /**

+      * Add a U64 Array (long[]) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addArrayU64 (String name, int fid, long[] value);

+    /**

+      * Add a F32 Array (float[]) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addArrayF32 (String name, int fid, float[] value);

    

+    /**

+      * Add a F64 Array (double[]) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addArrayF64 (String name, int fid, double[] value);

+    /**

+      * Add a MamaMsg Array (MamaMsg[]) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The value to be added to the message

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addArrayMsg (String name, int fid, MamaMsg[] value);

 

     /**

      * This function will add a new field containing an array of messages.

      * Unlinke addArrayMsg it will not add the entire array but only the

      * number of messages supplied in the length parameter.

-     * @param name (in) the field name.

-     * @param fid (in) the field id.

-     * @param value (in) the array of messages.

-     * @param length (in) the number of messages to add from the array, if this

+     * @param name the field name.

+     * @param fid the field id.

+     * @param value the array of messages.

+     * @param length the number of messages to add from the array, if this

      *                    parameter is outside the array bounds then an

      *                    exception will be thrown.

      * @exception com.wombat.mama.MamaException

      */

     public native void addArrayMsgWithLength (String name, int fid, MamaMsg[] value, int length);

    

+    /**

+      * Add a String Array (String[]) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The array of strings

+      * @param length The number of strings to add from the string array, if this

+      *                    parameter is outside the array bounds then an

+      *                    exception will be thrown.

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void addArrayString (String name, int fid, String[] value, int length); 

     

+    /**

+      * Add a String Array (String[]) value to the underlying message.

+      *

+      * @param name The name of the field to be added to the message

+      * @param fid The FID of the field to be added to the message

+      * @param value The array of strings

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public void addArrayString (String name, int fid, String[] value)   

     {

         addArrayString (name, fid, value, value.length);   

     }

    

+    /**

+      * Update the value of an I8 (byte) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateI8 (String name, int fid, byte value);

    

+    /**

+      * Update the value of a U8 (byte) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateU8( String name, int fid, short value );

+    /**

+      * Update the value of an I16 (short) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateI16 (String name, int fid, short value);

+    /**

+      * Update the value of a U16 (short) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateU16( String name, int fid, int value );

    

+    /**

+      * Update the value of an I32 (int) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateI32 (String name, int fid, int value);

+    /**

+      * Update the value of a U32 (int) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateU32( String name, int fid, long value );

 

+    /**

+      * Update the value of an I64 (long) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateI64 (String name, int fid, long value);

    

+    /**

+      * Update the value of a U64 (long) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateU64 (String name, int fid, long value);

    

+    /**

+      * Update the value of an F32 (float) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateF32 (String name, int fid, float value);

+    /**

+      * Update the value of an F64 (double) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateF64 (String name, int fid, double value);

+    /**

+      * Update the value of an String (Java String) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateString (String name, int fid, String value);

    

+    /**

+      * Update the value of a MamaPrice value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updatePrice (String name, int fid, MamaPrice value);

+    /**

+      * Update the value of a Boolean value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateBoolean (String name, int fid, boolean value);

+    /**

+      * Update the value of an Char value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateChar (String name, int fid, char value);

+    /**

+      * Update the value of an MamaDateTime value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateDateTime (String name, int fid, MamaDateTime value);

+    /**

+      * Update the value of an I8 (byte[]) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateArrayI8 (String name, int fid, byte[] value);

+

+    /**

+      * Update the value of a U8 (short[]) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateArrayU8 (String name, int fid, short[] value);

+

+    /**

+      * Update the value of an I16 (short[]) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateArrayI16 (String name, int fid, short[] value);

+

+    /**

+      * Update the value of a U16 (int[]) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateArrayU16 (String name, int fid, int[] value);

+

+    /**

+      * Update the value of an I32 (int[]) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateArrayI32 (String name, int fid, int[] value);

+

+    /**

+      * Update the value of a U32 (long[]) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateArrayU32 (String name, int fid, long[] value);

+

+    /**

+      * Update the value of an I64 (long[]) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateArrayI64 (String name, int fid, long[] value);

+

+    /**

+      * Update the value of a U64 (long[]) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateArrayU64 (String name, int fid, long[] value);

+

+    /**

+      * Update the value of an F32 (float[]) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateArrayF32 (String name, int fid, float[] value);

+

+    /**

+      * Update the value of an F64 (double[]) value in the underlying message.

+      *

+      * @param name The name of the field to be updated within the message

+      * @param fid The FID of the field to be updated within the message

+      * @param value The new value

+      *

+      * @exception MamaException will be thrown if the message pointer does not

+      *                          exist

+      */

     public native void updateArrayF64 (String name, int fid, double[] value);

    

+    /**

+      * Return the value of a Char field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a char

+      */

     public char getChar (String  name,

                          int     fid,

                          char    defaultValue)

@@ -859,11 +2035,28 @@ public class MamaMsg

         return field.getChar();

     }

    

+    /**

+      * Return the value of a Char field from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor for the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a char

+      */

     public char getChar (MamaFieldDescriptor fieldDesc, char defaultValue)

     {

         return getChar (fieldDesc.getName(), fieldDesc.getFid(), defaultValue);

     } 

             

+    /**

+      * Return the value of an I8 field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value  as a byte

+      */

     public byte getI8 (String  name,

                         int     fid,

                         byte   defaultValue)

@@ -877,11 +2070,28 @@ public class MamaMsg

         return field.getI8();

     }

    

+    /**

+      * Return the value of an I8 field from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor for the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a byte

+      */

     public byte getI8 (MamaFieldDescriptor fieldDesc, byte defaultValue)

     {

         return getI8 (fieldDesc.getName(), fieldDesc.getFid(), defaultValue);

     } 

     

+    /**

+      * Return the value of a U8 field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a short

+      */

     public short getU8 (String  name,

                         int     fid,

                         short   defaultValue)

@@ -894,7 +2104,15 @@ public class MamaMsg

                                                                                                                                

         return field.getU8();

     }

-                                                                                                                               

+

+    /**

+      * Return the value of a U8 field from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor for the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a short

+      */

     public short getU8 (MamaFieldDescriptor fieldDesc,

                         short               defaultValue)

     {

@@ -902,6 +2120,15 @@ public class MamaMsg

     }

     

+    /**

+      * Return the value of an I16 field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a short

+      */

     public short getI16 (String  name,

                         int     fid,

                         short   defaultValue)

@@ -914,11 +2141,29 @@ public class MamaMsg

                                                                                                                                 

         return field.getI16();

     }   

+

+    /**

+      * Return the value of an I16 field from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor for the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a short

+      */

     public short getI16 (MamaFieldDescriptor fieldDesc, short defaultValue)

     {

         return getI16(fieldDesc.getName(), fieldDesc.getFid(), defaultValue);

     } 

 

+    /**

+      * Return the value of a U16 field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a int

+      */

     public int getU16 (String  name,

                         int     fid,

                         int   defaultValue)

@@ -931,11 +2176,29 @@ public class MamaMsg

                                                                                                                                

         return field.getU16();

     }       

+

+    /**

+      * Return the value of a U16 field from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor for the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a int

+      */

     public int getU16 (MamaFieldDescriptor fieldDesc, int defaultValue)

     {

         return getU16(fieldDesc.getName(), fieldDesc.getFid(), defaultValue);

     }

    

+    /**

+      * Return the value of an I32 field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a int

+      */

     public int getI32 (String   name,

                        int      fid,

                        int      defaultValue)

@@ -949,12 +2212,28 @@ public class MamaMsg

         return field.getI32();

     }

    

+    /**

+      * Return the value of an I32 field from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor for the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a int

+      */

     public int getI32 (MamaFieldDescriptor fieldDesc, int defaultValue)

     {

         return getI32(fieldDesc.getName(), fieldDesc.getFid(), defaultValue);

     } 

     

-   

+    /**

+      * Return the value of a U32 field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a long

+      */

     public long getU32 (String  name,

                         int     fid,

                         long    defaultValue)

@@ -967,11 +2246,29 @@ public class MamaMsg

                                                                                                                                

         return field.getU32();

     }

+

+    /**

+      * Return the value of a U32 field from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor for the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a long

+      */

     public long getU32 (MamaFieldDescriptor fieldDesc, long defaultValue)

     {

         return getU32(fieldDesc.getName(), fieldDesc.getFid(), defaultValue);

     }

    

+    /**

+      * Return the value of an I64 field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a long

+      */

     public long getI64 (String  name,

                         int     fid,

                         long    defaultValue)

@@ -984,11 +2281,29 @@ public class MamaMsg

                                                                                                                                

         return field.getI64();

     }  

+

+    /**

+      * Return the value of an I64 field from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor for the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a long

+      */

     public long getI64 (MamaFieldDescriptor fieldDesc, long defaultValue)

     {

         return getI64(fieldDesc.getName(), fieldDesc.getFid(), defaultValue);

     }

+    /**

+      * Return the value of a U64 field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a long

+      */

     public long getU64 (String  name,

                         int     fid,

                         long    defaultValue)

@@ -1001,11 +2316,29 @@ public class MamaMsg

                                                                                                                                

         return field.getU64();

     }

+

+    /**

+      * Return the value of a U64 field from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor for the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a long

+      */

     public long getU64 (MamaFieldDescriptor fieldDesc, long defaultValue)

     {

         return getU64(fieldDesc.getName(), fieldDesc.getFid(), defaultValue);

     }

    

+    /**

+      * Return the value of an F32 field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a float

+      */

     public float getF32 (String  name,

                          int     fid,

                          float   defaultValue)

@@ -1018,11 +2351,29 @@ public class MamaMsg

                                                                                                                                

         return field.getF32();

     }   

+

+    /**

+      * Return the value of an F32 field from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor for the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a float

+      */

     public float getF32 (MamaFieldDescriptor fieldDesc, float defaultValue)

     {

         return getF32(fieldDesc.getName(), fieldDesc.getFid(), defaultValue);

     } 

     

+    /**

+      * Return the value of an F64 field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a double

+      */

     public double getF64(String  name,

                          int     fid,

                          double  defaultValue)

@@ -1035,12 +2386,29 @@ public class MamaMsg

                                                                                                                                 

         return field.getF64();

     }       

+

+    /**

+      * Return the value of an F64 field from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor for the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a double

+      */

     public double getF64 (MamaFieldDescriptor fieldDesc, double defaultValue)

     {

         return getF64(fieldDesc.getName(), fieldDesc.getFid(), defaultValue);

     }

-   

-   

+

+    /**

+      * Return the value of a String field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a String

+      */

     public String getString(String  name,

                             int     fid,

                             String  defaultValue)

@@ -1053,12 +2421,29 @@ public class MamaMsg

                                                                                                                                

         return field.getString();

     }        

+

+    /**

+      * Return the value of a String field from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor for the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a String

+      */

     public String getString (MamaFieldDescriptor fieldDesc, String defaultValue)

     {

         return getString(fieldDesc.getName(), fieldDesc.getFid(), defaultValue);

     } 

     

-       

+    /**

+      * Return the value of a MamaPrice field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a MamaPrice

+      */

     public MamaPrice getPrice(String     name,

                               int        fid,

                               MamaPrice  defaultValue)

@@ -1071,12 +2456,28 @@ public class MamaMsg

                                                                                                                                

         return field.getPrice();

     }         

+

+    /**

+      * Return the value of a MamaPrice field from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor for the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a MamaPrice

+      */

     public MamaPrice getPrice (MamaFieldDescriptor fieldDesc, MamaPrice defaultValue)

     {

         return getPrice(fieldDesc.getName(), fieldDesc.getFid(), defaultValue);

     } 

     

-    

+    /**

+      * Return the value of a MamaMsg field from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor for the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a MamaMsg

+      */

     public MamaMsg getMsg (MamaFieldDescriptor fieldDesc, MamaMsg defaultValue)

     {

         if (null == fieldDesc)

@@ -1093,6 +2494,14 @@ public class MamaMsg

         return field.getMsg();

    }

    

+    /**

+      * Return the value of an I32 Array field from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor for the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a int[]

+      */

     public int[] getArrayI32 (MamaFieldDescriptor fieldDesc, int[] defaultValue)

     {

         if (null == fieldDesc)

@@ -1109,7 +2518,14 @@ public class MamaMsg

         return field.getArrayI32();

     } 

     

-   

+    /**

+      * Return the value of a MamaMsg Array field from the underlying message.

+      *

+      * @param fieldDesc The MamaFieldDescriptor for the field within the message

+      * @param defaultValue The default value to use of no value is present

+      *

+      * @return The value as a MamaMsg[]

+      */

     public MamaMsg[] getArrayMsg (MamaFieldDescriptor fieldDesc,

                                   MamaMsg[]           defaultValue)

     {

@@ -1128,57 +2544,150 @@ public class MamaMsg

         return field.getArrayMsg();   

     }

    

+    /**

+      * Try to get the value of a Boolean field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

               public native boolean tryBoolean(String name, int fid, MamaBoolean result);

-    /* Try to get a MamaBoolean field. */

+    /**

+      * Return the value of a MamaBoolean field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryBoolean( MamaFieldDescriptor field, MamaBoolean result )

     {

         if (null == field) return false;

         return tryBoolean (field.getName(), field.getFid(), result );

     }

-    /* Try to get a MamaChar field. */

+    /**

+      * Try to get the value of a MamaChar field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

               public native boolean tryChar(String name, int fid, MamaChar result);

-

-    /* Try to get a MamaChar field. */

+    /**

+      * Return the value of a MamaChar field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryChar( MamaFieldDescriptor field, MamaChar result )

     {

         if (null == field) return false;

         return tryChar (field.getName(), field.getFid(), result );

     }

+    /**

+      * Try to get the value of a MamaByte field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

               public native boolean tryI8(String name, int fid, MamaByte result);

+    /**

+      * Return the value of a MamaByte field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean  tryI8 (MamaFieldDescriptor field, MamaByte result)

     {

         if (null == field) return false;

         return tryI8 (field.getName(), field.getFid(), result );

     }

   

+    /**

+      * Try to get the value of a MamaShort field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

               public native boolean tryU8(String name, int fid, MamaShort result);

-

+    /**

+      * Return the value of a MamaShort field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryU8 (MamaFieldDescriptor field, MamaShort result)

     {

         if (null == field) return false;

         return tryU8 (field.getName(), field.getFid(), result );

     }

-    /* Try to get a MamaShort field. */

+    /**

+      * Try to get the value of a MamaShort field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

               public native boolean tryI16(String name, int fid, MamaShort result);

-

-    /* Try to get a MamaShort field. */

+    /**

+      * Return the value of a MamaShort field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryI16 (MamaFieldDescriptor field, MamaShort result)

     {

         if (null == field) return false;

         return tryI16 (field.getName(), field.getFid(), result );

     }

+    /**

+      * Try to get the value of a MamaInteger field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

               public native boolean tryU16(String name, int fid, MamaInteger result);

-

+    /**

+      * Return the value of a MamaInteger field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean  tryU16 (MamaFieldDescriptor field, MamaInteger

                 result)

     {

@@ -1186,67 +2695,164 @@ public class MamaMsg

         return tryU16 (field.getName(), field.getFid(), result );

     }

    

-

-    /* Try to get a MamaInteger field. */

+    /**

+      * Try to get the value of a MamaInteger field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

               public native boolean tryI32(String name, int fid, MamaInteger result);

-

-    /* Try to get a MamaInteger field. */

+    /**

+      * Return the value of a MamaInteger field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryI32 (MamaFieldDescriptor field, MamaInteger result)

     {

         if (null == field) return false;

         return tryI32 (field.getName(), field.getFid(), result);

     }

+    /**

+      * Try to get the value of a MamaLong field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

               public native boolean tryU32(String name, int fid, MamaLong result);

-

+    /**

+      * Return the value of a MamaLong field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean  tryU32 (MamaFieldDescriptor field, MamaLong result)

     {

         if (null == field) return false;

         return tryU32 (field.getName(), field.getFid(), result);

     }

-    /* Try to get a MamaLong field. */

+    /**

+      * Try to get the value of a MamaLong field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

               public native boolean tryI64(String name, int fid, MamaLong result);

-

-    /* Try to get a MamaLong field. */

+    /**

+      * Return the value of a MamaLong field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryI64 (MamaFieldDescriptor field, MamaLong result)

     {

         if (null == field) return false;

         return tryI64 (field.getName(), field.getFid(), result);

     }

+    /**

+      * Try to get the value of a MamaLong field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

               public native boolean tryU64(String name, int fid, MamaLong result);

-

+    /**

+      * Return the value of a MamaLong field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean  tryU64 (MamaFieldDescriptor field, MamaLong result)

     {

         if (null == field) return false;

         return tryU64 (field.getName(), field.getFid(), result);

     }

+    /**

+      * Try to get the value of a MamaFloat field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

               public native boolean tryF32(String name, int fid, MamaFloat result);

-

+    /**

+      * Return the value of a MamaFloat field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean  tryF32 (MamaFieldDescriptor field, MamaFloat result)

     {

         if (null == field) return false;

         return tryF32 (field.getName(), field.getFid(), result);

     }

-    /* Try to get a MamaDouble field  */

+    /**

+      * Try to get the value of a MamaDouble field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

               public native boolean tryF64(String name, int fid, MamaDouble result);

-

-    /* Try to get a MamaDouble field. */

+    /**

+      * Return the value of a MamaDouble field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryF64 (MamaFieldDescriptor field, MamaDouble result)

     {

         if (null == field) return false;

         return tryF64 (field.getName(), field.getFid(), result);

     }

+    /**

+      * Return the value of a MamaDateTime field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryDateTime (MamaFieldDescriptor field,MamaDateTime result)

     {

         if (null == field) return false;

@@ -1254,26 +2860,76 @@ public class MamaMsg

                 result);

     }

+    /**

+      * Try to get the value of a MamaDateTime field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

               public native boolean tryDateTime(String name, int fid, MamaDateTime result);

+    /**

+      * Return the value of a MamaPrice field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryPrice (MamaFieldDescriptor field, MamaPrice result)

     {

         if (null == field) return false;

         return tryPrice (field.getName (), field.getFid(), result);

     }

+    /**

+      * Try to get the value of a MamaPrice field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

               public native boolean tryPrice(String name, int fid, MamaPrice result);

-    /* Try to get a MamaString field. */

+    /**

+      * Try to get the value of a MamaString field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public native boolean tryString( String name, int fid, MamaString result );

-    /* Try to get a MamaString field. */

+    /**

+      * Return the value of a MamaString field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryString( MamaFieldDescriptor field, MamaString result )

     {

         if (null == field) return false;

         return tryString (field.getName(), field.getFid(), result );

     }

+    /**

+      * Try to get the value of a MamaOpaque field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryOpaque (String name, int fid, MamaOpaque result)

     {

         MamaMsgField field = getField (name, fid, null);

@@ -1282,6 +2938,14 @@ public class MamaMsg

         return true;

     }

+    /**

+      * Return the value of a MamaOpaque field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryOpaque (MamaFieldDescriptor field, MamaOpaque

                 result)

     {

@@ -1289,6 +2953,15 @@ public class MamaMsg

         return tryOpaque (field.getName(), field.getFid(), result );

     }

+    /**

+      * Try to get the value of a MamaMessage field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryMsg (String name, int fid, MamaMessage result)

     {

         MamaMsgField field = getField (name, fid, null);

@@ -1297,12 +2970,29 @@ public class MamaMsg

         return true;

     }

+    /**

+      * Return the value of a MamaMessage field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryMsg (MamaFieldDescriptor field, MamaMessage result)

     {

         if (null == field) return false;

         return tryMsg (field.getName(), field.getFid(), result );

     }

+    /**

+      * Try to get the value of a MamaArrayInt field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryArrayI32 (String name, int fid, MamaArrayInt result)

     {

         MamaMsgField field = getField (name, fid, null);

@@ -1311,6 +3001,14 @@ public class MamaMsg

         return true;

     }

+    /**

+      * Return the value of a MamaArrayInt field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryArrayI32 (MamaFieldDescriptor field, MamaArrayInt

                 result)

     {

@@ -1318,6 +3016,15 @@ public class MamaMsg

         return tryArrayI32 (field.getName(), field.getFid(), result );

     }

+    /**

+      * Try to get the value of a MamaArrayInt field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryArrayU16 (String name, int fid, MamaArrayInt result)

     {

         MamaMsgField field = getField (name, fid, null);

@@ -1326,6 +3033,14 @@ public class MamaMsg

         return true;

     }

+    /**

+      * Return the value of a MamaArrayInt field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryArrayU16 (MamaFieldDescriptor field, MamaArrayInt

                 result)

     {

@@ -1333,7 +3048,15 @@ public class MamaMsg

         return tryArrayU16 (field.getName(), field.getFid(), result );

     }

-   

+    /**

+      * Try to get the value of a MamaArrayMsg field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryArrayMsg (String name, int fid, MamaArrayMsg result)

     {

         MamaMsgField field = getField (name, fid, null);

@@ -1342,6 +3065,14 @@ public class MamaMsg

         return true;

     }

+    /**

+      * Return the value of a MamaArrayMsg field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryArrayMsg (MamaFieldDescriptor field, MamaArrayMsg

                 result)

     {

@@ -1349,6 +3080,15 @@ public class MamaMsg

         return tryArrayMsg (field.getName(), field.getFid(), result );

     }

    

+    /**

+      * Try to get the value of a MamaArrayString field from the underlying message.

+      *

+      * @param name The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryArrayString (String name, int fid, MamaArrayString result)

     {

         MamaMsgField field = getField (name, fid, null);

@@ -1357,13 +3097,31 @@ public class MamaMsg

         return true;

     }

+    /**

+      * Return the value of a MamaArrayMsg field from the underlying message.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param result The result (not modified if field not present)

+      *

+      * @return Boolean representing whether the field was present or not

+      */

     public boolean tryArrayString (MamaFieldDescriptor field, MamaArrayString result)

     {

         if (null == field) return false;

         return tryArrayString (field.getName(), field.getFid(), result);

     }

-    /*Invokes the onField method on the iterator for each field in the message*/

+    /**

+      * Iterate over all of the fields within the message.

+      * The <code>onField()</code> method of the

+      * <code>MamaMsgFieldIterator</code> instance will be invoked for each

+      * field in the underlying message.

+      *

+      * @param iterator Callback object implementing the MamaMsgFieldIterator interface

+      * @param dictionary Optional MamaDictionary object

+      * @param closure Optional user supplied arbitrary closure data which will be

+      *                 passed back in <code>onField()</code>

+      */

     public void iterateFields(MamaMsgFieldIterator iterator,

                               MamaDictionary dictionary,

                               Object closure)

@@ -1380,13 +3138,28 @@ public class MamaMsg

                                         MamaDictionary dictionary,

                                         Object closure);

                              

-    /* Return a String representation the field with the given fid. */

+    /**

+      * Return a String representation of the entire message.

+

+      * @param fid The FID of the field

+      * @param dictionary Optional MamaDictionary object

+      *

+      * @return Return a String representation the field with the given fid

+      */

     public native String getFieldAsString( int fid, MamaDictionary dictionary );

-    /* Indicates whether this message is a p2p request */

+    /**

+      * Return a String representation of the entire message.

+      *

+      * @return Boolean indicating whether this message is a p2p request

+      */

     public native boolean isFromInbox();

-    /* Return a String representation of the entire message. */

+    /**

+      * Return a String representation of the entire message.

+      *

+      * @return the String representation of the entire message.

+      */

     public native String toString();

     /**

@@ -1397,10 +3170,13 @@ public class MamaMsg

      */

     public native char getPayloadType();

-    /*Needed for JNI so we know when to free the underlying C strucure

-     Should only be called if the client app has created the message.

-     i.e. do not call on messages passed in the callbacks as these are

-     managed internal to the MAMA API*/

+    /**

+      * Destroy the internal state of the MamaMsg object.

+      * Needed for JNI so we know when to free the underlying C strucure.

+      * Should only be called if the client app has created the message.

+      * i.e. do not call on messages passed in the callbacks as these are

+      * managed internal to the MAMA API

+      */

     public void destroy ()

     {

         mamaBuffer = null;

@@ -1415,12 +3191,31 @@ public class MamaMsg

     private native void _destroy();

+    /**

+      * Clear the message.

+      * All fields are removed

+      */

     public native void clear();

+    /**

+      * Create a deep copy of the message.

+      *

+      * @param rhs The MamaMsg to be copied

+      */

     public native void copy(MamaMsg rhs);

+    /**

+      * Detach the message.

+      * This will take a deep copy of the MamaMsg and transfer the ownership to the application

+      * and it will be the responsibility of the user to destroy.

+      */

     public native MamaMsg detach ();

    

+    /**

+      * Update the MamaMsg with the fields of another MamaMsg.

+      *

+      * @param rhs The MamaMsg to be used to update the current message

+      */

     public native void apply(MamaMsg rhs);

    

     /*Will create the underlying C Message and set the pointer value

@@ -1434,12 +3229,29 @@ public class MamaMsg

     /*Used to cache ids for callback methods/fields*/

     private static native void initIDs();

+    /**

+      * Get a specified field from a message, or null if not found.

+      *

+      * @param field The MamaFieldDescriptor for the field within the message

+      * @param dict Optional MamaDictionary object

+      *

+      * @return The MamaMsgField or null

+      */

     public MamaMsgField getField (MamaFieldDescriptor field,

                                   MamaDictionary dict)

     {

         return getField (field.getName (), field.getFid(),dict);

     }

+    /**

+      * Get a specified field from a message, or null if not found.

+      *

+      * @param fieldName The name of the field within the message

+      * @param fid The FID of the field within the message

+      * @param dict Optional MamaDictionary object

+      *

+      * @return The MamaMsgField or null

+      */

     public MamaMsgField getField (String fieldName, int fid,

                                   MamaDictionary dict)

     {

@@ -1461,7 +3273,7 @@ public class MamaMsg

         return msgField_i;

     }

-    public native void  _getField(String fieldName, int fid,

+    private native void  _getField(String fieldName, int fid,

                                   MamaDictionary dict);

     protected void finalize ()

@@ -1475,11 +3287,11 @@ public class MamaMsg

     /**

      * This function

-     * @param[in] name The field name.

-     * @param[in] fid The field Id.

-     * @param[in] byteArray The byte array to populate.

-     * @param[in] arraySize The size of the array.

-     * @param[in] throwOnError Whether we want this function to return an exception or not.

+     * @param name The field name.

+     * @param fid The field Id.

+     * @param byteArray The byte array to populate.

+     * @param arraySize The size of the array.

+     * @param throwOnError Whether we want this function to return an exception or not.

      * @return The number of bytes copied to the buffer. If the buffer isn't

      *         big enough then the return will be the negative number of bytes

      *         required. Note that if anything goes wrong exceptions will be

diff --git a/mama/jni/src/com/wombat/mama/MamaPrice.java b/mama/jni/src/com/wombat/mama/MamaPrice.java

index cc8e013..27734c7 100644

--- a/mama/jni/src/com/wombat/mama/MamaPrice.java

+++ b/mama/jni/src/com/wombat/mama/MamaPrice.java

@@ -165,7 +165,7 @@ public class MamaPrice implements Comparable

               /**

                * This function obtains the double value of the price rounded to the supplied precision.

                 *

-              * @param[in] precision The precision to use for rounding.

+             * @param precision The precision to use for rounding.

                * @return The rounded value.

                * @exception com.wombat.mama MamaException thrown if the underlying JNI object has been destroyed.

                * @exception com.wombat.common.WombatException for other general MAMA errors.

diff --git a/mama/jni/src/com/wombat/mama/MamaSource.java b/mama/jni/src/com/wombat/mama/MamaSource.java

index 13c4b66..4c5858a 100644

--- a/mama/jni/src/com/wombat/mama/MamaSource.java

+++ b/mama/jni/src/com/wombat/mama/MamaSource.java

@@ -144,7 +144,10 @@ public class MamaSource extends MamaSourceManager

    

     /**

      * Add a subscriptions to the mamaSource

-     * @param MamaSubscription object

+     *

+     * @param key Key value to use to insert Subscription into a Subscription Map

+     * @param subscription MamaSubscription object

+     * @exception MamaException will be thrown is the key value already exists in the Map

      */

     public void addSubscription (final String key,

                                  MamaSubscription subscription)

@@ -162,7 +165,7 @@ public class MamaSource extends MamaSourceManager

     }

     /**

      * find a MamaSubscription, null will be returned if not found

-     * @param The String identifier key for the subscription

+     * @param key The String identifier key for the subscription

      * @return The mama subscription object

      */

     public MamaSubscription findSubscription (final String key)

diff --git a/mama/jni/src/com/wombat/mama/MamaTransport.java b/mama/jni/src/com/wombat/mama/MamaTransport.java

index 01ebb14..5fde5ee 100644

--- a/mama/jni/src/com/wombat/mama/MamaTransport.java

+++ b/mama/jni/src/com/wombat/mama/MamaTransport.java

@@ -140,7 +140,7 @@ public class MamaTransport

          * This function will set the client listener which will then

          * receive events from the transport.

          *

-         * @param[in] clientListener The client listener.

+         * @param clientListener The client listener.

          */

         public void setClientListener(MamaTransportListener clientListener)

         {

@@ -205,7 +205,7 @@ public class MamaTransport

          * This function will set the client topic listener which will then

          * receive events from the transport.

          *

-         * @param[in] clientTopicListener The client topic listener.

+         * @param clientTopicListener The client topic listener.

          */

         public void setClientTopicListener(MamaTransportTopicListener clientTopicListener)

         {

@@ -280,7 +280,7 @@ public class MamaTransport

     /**

      * This function will allocate the underlying transport.

      *

-     * @param[in] connection The re-usable connection object that will be passed

+     * @param connection The re-usable connection object that will be passed

      *                       back up into listener callbacks.

      */

     private native void allocateTransport(MamaConnection connection);

@@ -292,7 +292,7 @@ public class MamaTransport

      * Unregistration at the C layer will only occur whenever the transport

      * is destroyed.

      *

-     * @param[in] listenerEx The listener to add.

+     * @param listenerEx The listener to add.

      */

     private native void nativeAddListener(MamaTransportListener listener);

@@ -303,7 +303,7 @@ public class MamaTransport

      * Unregistration at the C layer will only occur whenever the transport

      * is destroyed.

      *

-     * @param[in] listenerEx The listener to add.

+     * @param listenerEx The listener to add.

      */

     private native void nativeAddTopicListener(MamaTransportTopicListener topicListener);

@@ -315,7 +315,7 @@ public class MamaTransport

      * This function will set the client listener, note that only one

      * listener or extended listener is supported at any one time.

      *

-     * @param[in] transportListener The new listener, null can be passed to

+     * @param transportListener The new listener, null can be passed to

      *                              remove the current listener.

      */

     public void addTransportListener(MamaTransportListener transportListener)

@@ -338,7 +338,7 @@ public class MamaTransport

      * This function will set the client topic listener, note that only one

      * topic listener is supported at any one time.

      *

-     * @param[in] transportTopicListener The new listener, null can be passed

+     * @param transportTopicListener The new listener, null can be passed

      *                                   to remove the current listener.

      */

     public void addTransportTopicListener(MamaTransportTopicListener transportTopicListener)

@@ -361,7 +361,7 @@ public class MamaTransport

      * This function will remove the current transport listener.

      * It will actually remove both the basic and extended listeners.

      *

-     * @param[in] transportListener The transport listener. Note that this

+     * @param transportListener The transport listener. Note that this

      *                              parameter is currently redundant.

      */

     public void removeTransportListener(MamaTransportListener transportListener)

--

1.8.3.1

 


This message may contain confidential information and is intended for specific recipients unless explicitly noted otherwise. If you have reason to believe you are not an intended recipient of this message, please delete it and notify the sender. This message may not represent the opinion of IntercontinentalExchange Group, Inc. (ICE), NYSE Euronext or any of their subsidiaries or affiliates, and does not constitute a contract or guarantee. Unencrypted electronic mail is not secure and the recipient of this message is expected to provide safeguards from viruses and pursue alternate means of communication where privacy or a binding message is desired.

This message may contain confidential information and is intended for specific recipients unless explicitly noted otherwise. If you have reason to believe you are not an intended recipient of this message, please delete it and notify the sender. This message may not represent the opinion of Intercontinental Exchange, Inc. (ICE), Euronext or any of their subsidiaries or affiliates, and does not constitute a contract or guarantee. Unencrypted electronic mail is not secure and the recipient of this message is expected to provide safeguards from viruses and pursue alternate means of communication where privacy or a binding message is desired.