Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.codehaus.activemq.message
Class ActiveMQMapMessage

    java.lang.Object
      org.codehaus.activemq.message.AbstractPacket
          org.codehaus.activemq.message.ActiveMQMessage
              org.codehaus.activemq.message.ActiveMQMapMessage

All Implemented Interfaces:
  Comparable, MapMessage, Message, Packet

public class ActiveMQMapMessage
extends ActiveMQMessage
implements MapMessage

A `MapMessage` object is used to send a set of name-value pairs. The names are `String` objects, and the values are primitive data types in the Java programming language. The names must have a value that is not null, and not an empty string. The entries can be accessed sequentially or randomly by name. The order of the entries is undefined. `MapMessage` inherits from the `Message` interface and adds a message body that contains a Map.

The primitive types can be read or written explicitly using methods for each type. They may also be read or written generically as objects. For instance, a call to `MapMessage.setInt("foo", 6)` is equivalent to `MapMessage.setObject("foo", new Integer(6))`. Both forms are provided, because the explicit form is convenient for static programming, and the object form is needed when types are not known at compile time.

When a client receives a `MapMessage`, it is in read-only mode. If a client attempts to write to the message at this point, a `MessageNotWriteableException` is thrown. If `clearBody` is called, the message can now be both read from and written to.

`MapMessage` objects support the following conversion table. The marked cases must be supported. The unmarked cases must throw a `JMSException`. The `String` -to-primitive conversions may throw a runtime exception if the primitive's `valueOf()` method does not accept it as a valid `String` representation of the primitive.

A value written as the row type can be read as the column type.

    | | boolean byte short char int long float double String byte[]
     |---------------------------------------------------------------------- |boolean | X X |byte | X X X X X |short | X
     X X X |char | X X |int | X X X |long | X X |float | X X X |double | X X |String | X X X X X X X X |byte[] | X
     |----------------------------------------------------------------------

Attempting to read a null value as a primitive type must be treated as calling the primitive's corresponding `valueOf(String)` conversion method with a null value. Since `char` does not support a `String` conversion, attempting to read a null value as a `char` must throw a `NullPointerException`.

See Also:
  `Session.createMapMessage()`, `BytesMessage`, `Message`, `ObjectMessage`, `StreamMessage`, `TextMessage`

Field Summary

Fields inherited from class org.codehaus.activemq.message.ActiveMQMessage
`BOOLEAN, BROKER_NAME_INDEX, BYTE, BYTES, CHAR, CID_INDEX, CLUSTER_NAME_INDEX, CORRELATION_INDEX, DEFAULT_DELIVERY_MODE, DEFAULT_PRIORITY, DEFAULT_TIME_TO_LIVE, DOUBLE, EOF, EXPIRATION_INDEX, FLOAT, INT, LONG, NULL, PAYLOAD_INDEX, PROPERTIES_INDEX, readOnlyMessage, REDELIVERED_INDEX, REPLY_TO_INDEX, SHORT, STRING, TIMESTAMP_INDEX, TRANSACTION_ID_INDEX, TYPE_INDEX, XA_TRANS_INDEX`

Fields inherited from class org.codehaus.activemq.message.AbstractPacket
`bitArray, BROKERS_VISITED_INDEX, RECEIPT_REQUIRED_INDEX`

Fields inherited from interface javax.jms.Message
`DEFAULT_DELIVERY_MODE, DEFAULT_PRIORITY, DEFAULT_TIME_TO_LIVE`

Fields inherited from interface org.codehaus.activemq.message.Packet
`ACTIVEMQ_BROKER_INFO, ACTIVEMQ_BYTES_MESSAGE, ACTIVEMQ_CONNECTION_INFO, ACTIVEMQ_MAP_MESSAGE, ACTIVEMQ_MESSAGE, ACTIVEMQ_MSG_ACK, ACTIVEMQ_OBJECT_MESSAGE, ACTIVEMQ_STREAM_MESSAGE, ACTIVEMQ_TEXT_MESSAGE, CAPACITY_INFO, CAPACITY_INFO_REQUEST, CONSUMER_INFO, DURABLE_UNSUBSCRIBE, INT_RESPONSE_RECEIPT_INFO, PRODUCER_INFO, RECEIPT_INFO, RESPONSE_RECEIPT_INFO, SESSION_INFO, TRANSACTION_INFO, WIRE_FORMAT_INFO, XA_TRANSACTION_INFO`

Constructor Summary
`ActiveMQMapMessage()`

Method Summary
`void` | `clearBody()` Clears out the message body.
`ActiveMQMessage` | `deepCopy()`
`boolean` | `getBoolean(String name)` Returns the `boolean` value with the specified name.
`byte` | `getByte(String name)` Returns the `byte` value with the specified name.
`byte[]` | `getBytes(String name)` Returns the byte array value with the specified name.
`char` | `getChar(String name)` Returns the Unicode character value with the specified name.
`double` | `getDouble(String name)` Returns the `double` value with the specified name.
`float` | `getFloat(String name)` Returns the `float` value with the specified name.
`int` | `getInt(String name)` Returns the `int` value with the specified name.
`long` | `getLong(String name)` Returns the `long` value with the specified name.
`Enumeration` | `getMapNames()` Returns an `Enumeration` of all the names in the `MapMessage` object.
`Object` | `getObject(String name)` Returns the value of the object with the specified name.
`int` | `getPacketType()` Return the type of Packet
`short` | `getShort(String name)` Returns the `short` value with the specified name.
`String` | `getString(String name)` Returns the `String` value with the specified name.
`Hashtable` | `getTable()`
`boolean` | `itemExists(String name)` Indicates whether an item exists in this `MapMessage` object.
`protected void` | `readBody(DataInput dataIn)` Used to help build the body from an input stream
`void` | `setBoolean(String name, boolean value)` Sets a `boolean` value with the specified name into the Map.
`void` | `setByte(String name, byte value)` Sets a `byte` value with the specified name into the Map.
`void` | `setBytes(String name, byte[] value)` Sets a byte array value with the specified name into the Map.
`void` | `setBytes(String name, byte[] value, int offset, int length)` Sets a portion of the byte array value with the specified name into the Map.
`void` | `setChar(String name, char value)` Sets a Unicode character value with the specified name into the Map.
`void` | `setDouble(String name, double value)` Sets a `double` value with the specified name into the Map.
`void` | `setFloat(String name, float value)` Sets a `float` value with the specified name into the Map.
`void` | `setInt(String name, int value)` Sets an `int` value with the specified name into the Map.
`void` | `setLong(String name, long value)` Sets a `long` value with the specified name into the Map.
`void` | `setObject(String name, Object value)` Sets an object value with the specified name into the Map.
`void` | `setShort(String name, short value)` Sets a `short` value with the specified name into the Map.
`void` | `setString(String name, String value)` Sets a `String` value with the specified name into the Map.
`void` | `setTable(Hashtable newTable)` set the table body
`ActiveMQMessage` | `shallowCopy()`
`protected void` | `writeBody(DataOutput dataOut)` Used serialize the message body to an output stream

Methods inherited from class org.codehaus.activemq.message.ActiveMQMessage
`acknowledge, buildBodyFromBytes, clearProperties, compareTo, compareTo, convertBodyToBytes, equals, getBodyAsBytes, getBooleanProperty, getByteProperty, getConsumerId, getConsumerNos, getConsumerNosAsString, getDoubleProperty, getEntryBrokerName, getEntryClusterName, getFloatProperty, getIntProperty, getJMSActiveMQDestination, getJMSClientID, getJMSCorrelationID, getJMSCorrelationIDAsBytes, getJMSDeliveryMode, getJMSDestination, getJMSExpiration, getJMSMessageID, getJMSMessageIdentity, getJMSPriority, getJMSRedelivered, getJMSReplyTo, getJMSTimestamp, getJMSType, getLongProperty, getMessageAcknowledge, getObjectProperty, getProducerID, getProperties, getPropertyNames, getShortProperty, getStringProperty, getTransactionId, hashCode, initializeOther, isConsumerTarget, isEntryBroker, isEntryCluster, isExpired, isExpired, isJMSMessage, isMessageConsumed, isPartOfTransaction, isTemporary, isTransientConsumed, isXaTransacted, prepareMessageBody, propertyExists, readMapProperties, setBodyAsBytes, setBooleanProperty, setByteProperty, setConsumerId, setConsumerNos, setDoubleProperty, setEntryBrokerName, setEntryClusterName, setFloatProperty, setIntProperty, setJMSClientID, setJMSCorrelationID, setJMSCorrelationIDAsBytes, setJMSDeliveryMode, setJMSDestination, setJMSExpiration, setJMSMessageID, setJMSMessageIdentity, setJMSPriority, setJMSRedelivered, setJMSReplyTo, setJMSTimestamp, setJMSType, setLongProperty, setMessageAcknowledge, setMessageConsumed, setObjectProperty, setProducerID, setProperties, setReadOnly, setShortProperty, setStringProperty, setTransactionId, setTransientConsumed, setXaTransacted, toString, vanillaToBoolean, vanillaToByte, vanillaToDouble, vanillaToFloat, vanillaToInt, vanillaToLong, vanillaToShort, vanillaToString, writeMapProperties`

Methods inherited from class org.codehaus.activemq.message.AbstractPacket
`addBrokerVisited, decrementMemoryReferenceCount, equals, getBitArray, getBrokersVisited, getBrokersVisitedAsString, getId, getMemoryUsage, getMemoryUsageReferenceCount, getPacketTypeAsString, hasVisited, incrementMemoryReferenceCount, initializeBrokersVisited, initializeOther, isReceipt, isReceiptRequired, setBitArray, setId, setMemoryUsage, setReceiptRequired`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Methods inherited from interface javax.jms.Message
`acknowledge, clearProperties, getBooleanProperty, getByteProperty, getDoubleProperty, getFloatProperty, getIntProperty, getJMSCorrelationID, getJMSCorrelationIDAsBytes, getJMSDeliveryMode, getJMSDestination, getJMSExpiration, getJMSMessageID, getJMSPriority, getJMSRedelivered, getJMSReplyTo, getJMSTimestamp, getJMSType, getLongProperty, getObjectProperty, getPropertyNames, getShortProperty, getStringProperty, propertyExists, setBooleanProperty, setByteProperty, setDoubleProperty, setFloatProperty, setIntProperty, setJMSCorrelationID, setJMSCorrelationIDAsBytes, setJMSDeliveryMode, setJMSDestination, setJMSExpiration, setJMSMessageID, setJMSPriority, setJMSRedelivered, setJMSReplyTo, setJMSTimestamp, setJMSType, setLongProperty, setObjectProperty, setShortProperty, setStringProperty`

Constructor Detail

### ActiveMQMapMessage

    public ActiveMQMapMessage()

Method Detail

### getPacketType

    public int getPacketType()

  Return the type of Packet

  Specified by:
    `getPacketType` in interface `Packet`
  Overrides:
    `getPacketType` in class `ActiveMQMessage`
  Returns:
    integer representation of the type of Packet

### shallowCopy

    public ActiveMQMessage shallowCopy()
                                throws JMSException

  Overrides:
    `shallowCopy` in class `ActiveMQMessage`
  Returns:
    Returns a shallow copy of the message instance
  Throws:
    `JMSException`

### deepCopy

    public ActiveMQMessage deepCopy()
                             throws JMSException

  Overrides:
    `deepCopy` in class `ActiveMQMessage`
  Returns:
    Returns a deep copy of the message - note the header fields are only shallow copied
  Throws:
    `JMSException`

### setTable

    public void setTable(Hashtable newTable)

  set the table body

  Parameters:
    `newTable` - the new data to set

### getTable

    public Hashtable getTable()
                       throws JMSException

  Returns:
    Returns the table body
  Throws:
    `JMSException`

### clearBody

    public void clearBody()
                   throws JMSException

  Clears out the message body. Clearing a message's body does not clear its header values or property entries.

  If this message body was read-only, calling this method leaves the message body in the same state as an empty body in a newly created message.

  Specified by:
    `clearBody` in interface `Message`
  Overrides:
    `clearBody` in class `ActiveMQMessage`
  Throws:
    `JMSException` - if the JMS provider fails to clear the message body due to some internal error.

### getBoolean

    public boolean getBoolean(String name)
                       throws JMSException

  Returns the `boolean` value with the specified name.

  Specified by:
    `getBoolean` in interface `MapMessage`
  Parameters:
    `name` - the name of the `boolean`
  Returns:
    the `boolean` value with the specified name
  Throws:
    `JMSException` - if the JMS provider fails to read the message due to some internal error.
    `MessageFormatException` - if this type conversion is invalid.

### getByte

    public byte getByte(String name)
                 throws JMSException

  Returns the `byte` value with the specified name.

  Specified by:
    `getByte` in interface `MapMessage`
  Parameters:
    `name` - the name of the `byte`
  Returns:
    the `byte` value with the specified name
  Throws:
    `JMSException` - if the JMS provider fails to read the message due to some internal error.
    `MessageFormatException` - if this type conversion is invalid.

### getShort

    public short getShort(String name)
                   throws JMSException

  Returns the `short` value with the specified name.

  Specified by:
    `getShort` in interface `MapMessage`
  Parameters:
    `name` - the name of the `short`
  Returns:
    the `short` value with the specified name
  Throws:
    `JMSException` - if the JMS provider fails to read the message due to some internal error.
    `MessageFormatException` - if this type conversion is invalid.

### getChar

    public char getChar(String name)
                 throws JMSException

  Returns the Unicode character value with the specified name.

  Specified by:
    `getChar` in interface `MapMessage`
  Parameters:
    `name` - the name of the Unicode character
  Returns:
    the Unicode character value with the specified name
  Throws:
    `JMSException` - if the JMS provider fails to read the message due to some internal error.
    `MessageFormatException` - if this type conversion is invalid.

### getInt

    public int getInt(String name)
               throws JMSException

  Returns the `int` value with the specified name.

  Specified by:
    `getInt` in interface `MapMessage`
  Parameters:
    `name` - the name of the `int`
  Returns:
    the `int` value with the specified name
  Throws:
    `JMSException` - if the JMS provider fails to read the message due to some internal error.
    `MessageFormatException` - if this type conversion is invalid.

### getLong

    public long getLong(String name)
                 throws JMSException

  Returns the `long` value with the specified name.

  Specified by:
    `getLong` in interface `MapMessage`
  Parameters:
    `name` - the name of the `long`
  Returns:
    the `long` value with the specified name
  Throws:
    `JMSException` - if the JMS provider fails to read the message due to some internal error.
    `MessageFormatException` - if this type conversion is invalid.

### getFloat

    public float getFloat(String name)
                   throws JMSException

  Returns the `float` value with the specified name.

  Specified by:
    `getFloat` in interface `MapMessage`
  Parameters:
    `name` - the name of the `float`
  Returns:
    the `float` value with the specified name
  Throws:
    `JMSException` - if the JMS provider fails to read the message due to some internal error.
    `MessageFormatException` - if this type conversion is invalid.

### getDouble

    public double getDouble(String name)
                     throws JMSException

  Returns the `double` value with the specified name.

  Specified by:
    `getDouble` in interface `MapMessage`
  Parameters:
    `name` - the name of the `double`
  Returns:
    the `double` value with the specified name
  Throws:
    `JMSException` - if the JMS provider fails to read the message due to some internal error.
    `MessageFormatException` - if this type conversion is invalid.

### getString

    public String getString(String name)
                     throws JMSException

  Returns the `String` value with the specified name.

  Specified by:
    `getString` in interface `MapMessage`
  Parameters:
    `name` - the name of the `String`
  Returns:
    the `String` value with the specified name; if there is no item by this name, a null value is returned
  Throws:
    `JMSException` - if the JMS provider fails to read the message due to some internal error.
    `MessageFormatException` - if this type conversion is invalid.

### getBytes

    public byte[] getBytes(String name)
                    throws JMSException

  Returns the byte array value with the specified name.

  Specified by:
    `getBytes` in interface `MapMessage`
  Parameters:
    `name` - the name of the byte array
  Returns:
    a copy of the byte array value with the specified name; if there is no item by this name, a null value is returned.
  Throws:
    `JMSException` - if the JMS provider fails to read the message due to some internal error.
    `MessageFormatException` - if this type conversion is invalid.

### getObject

    public Object getObject(String name)
                     throws JMSException

  Returns the value of the object with the specified name.

  This method can be used to return, in objectified format, an object in the Java programming language ("Java object") that had been stored in the Map with the equivalent `setObject` method call, or its equivalent primitive `set type` method.

  Note that byte values are returned as `byte[]`, not `Byte[]`.

  Specified by:
    `getObject` in interface `MapMessage`
  Parameters:
    `name` - the name of the Java object
  Returns:
    a copy of the Java object value with the specified name, in objectified format (for example, if the object was set as an `int`, an `Integer` is returned); if there is no item by this name, a null value is returned
  Throws:
    `JMSException` - if the JMS provider fails to read the message due to some internal error.

### getMapNames

    public Enumeration getMapNames()
                            throws JMSException

  Returns an `Enumeration` of all the names in the `MapMessage` object.

  Specified by:
    `getMapNames` in interface `MapMessage`
  Returns:
    an enumeration of all the names in this `MapMessage`
  Throws:
    `JMSException`

### setBoolean

    public void setBoolean(String name,
                           boolean value)
                    throws JMSException

  Sets a `boolean` value with the specified name into the Map.

  Specified by:
    `setBoolean` in interface `MapMessage`
  Parameters:
    `name` - the name of the `boolean`
    `value` - the `boolean` value to set in the Map
  Throws:
    `JMSException` - if the JMS provider fails to write the message due to some internal error.
    `IllegalArgumentException` - if the name is null or if the name is an empty string.
    `MessageNotWriteableException` - if the message is in read-only mode.

### setByte

    public void setByte(String name,
                        byte value)
                 throws JMSException

  Sets a `byte` value with the specified name into the Map.

  Specified by:
    `setByte` in interface `MapMessage`
  Parameters:
    `name` - the name of the `byte`
    `value` - the `byte` value to set in the Map
  Throws:
    `JMSException` - if the JMS provider fails to write the message due to some internal error.
    `IllegalArgumentException` - if the name is null or if the name is an empty string.
    `MessageNotWriteableException` - if the message is in read-only mode.

### setShort

    public void setShort(String name,
                         short value)
                  throws JMSException

  Sets a `short` value with the specified name into the Map.

  Specified by:
    `setShort` in interface `MapMessage`
  Parameters:
    `name` - the name of the `short`
    `value` - the `short` value to set in the Map
  Throws:
    `JMSException` - if the JMS provider fails to write the message due to some internal error.
    `IllegalArgumentException` - if the name is null or if the name is an empty string.
    `MessageNotWriteableException` - if the message is in read-only mode.

### setChar

    public void setChar(String name,
                        char value)
                 throws JMSException

  Sets a Unicode character value with the specified name into the Map.

  Specified by:
    `setChar` in interface `MapMessage`
  Parameters:
    `name` - the name of the Unicode character
    `value` - the Unicode character value to set in the Map
  Throws:
    `JMSException` - if the JMS provider fails to write the message due to some internal error.
    `IllegalArgumentException` - if the name is null or if the name is an empty string.
    `MessageNotWriteableException` - if the message is in read-only mode.

### setInt

    public void setInt(String name,
                       int value)
                throws JMSException

  Sets an `int` value with the specified name into the Map.

  Specified by:
    `setInt` in interface `MapMessage`
  Parameters:
    `name` - the name of the `int`
    `value` - the `int` value to set in the Map
  Throws:
    `JMSException` - if the JMS provider fails to write the message due to some internal error.
    `IllegalArgumentException` - if the name is null or if the name is an empty string.
    `MessageNotWriteableException` - if the message is in read-only mode.

### setLong

    public void setLong(String name,
                        long value)
                 throws JMSException

  Sets a `long` value with the specified name into the Map.

  Specified by:
    `setLong` in interface `MapMessage`
  Parameters:
    `name` - the name of the `long`
    `value` - the `long` value to set in the Map
  Throws:
    `JMSException` - if the JMS provider fails to write the message due to some internal error.
    `IllegalArgumentException` - if the name is null or if the name is an empty string.
    `MessageNotWriteableException` - if the message is in read-only mode.

### setFloat

    public void setFloat(String name,
                         float value)
                  throws JMSException

  Sets a `float` value with the specified name into the Map.

  Specified by:
    `setFloat` in interface `MapMessage`
  Parameters:
    `name` - the name of the `float`
    `value` - the `float` value to set in the Map
  Throws:
    `JMSException` - if the JMS provider fails to write the message due to some internal error.
    `IllegalArgumentException` - if the name is null or if the name is an empty string.
    `MessageNotWriteableException` - if the message is in read-only mode.

### setDouble

    public void setDouble(String name,
                          double value)
                   throws JMSException

  Sets a `double` value with the specified name into the Map.

  Specified by:
    `setDouble` in interface `MapMessage`
  Parameters:
    `name` - the name of the `double`
    `value` - the `double` value to set in the Map
  Throws:
    `JMSException` - if the JMS provider fails to write the message due to some internal error.
    `IllegalArgumentException` - if the name is null or if the name is an empty string.
    `MessageNotWriteableException` - if the message is in read-only mode.

### setString

    public void setString(String name,
                          String value)
                   throws JMSException

  Sets a `String` value with the specified name into the Map.

  Specified by:
    `setString` in interface `MapMessage`
  Parameters:
    `name` - the name of the `String`
    `value` - the `String` value to set in the Map
  Throws:
    `JMSException` - if the JMS provider fails to write the message due to some internal error.
    `IllegalArgumentException` - if the name is null or if the name is an empty string.
    `MessageNotWriteableException` - if the message is in read-only mode.

### setBytes

    public void setBytes(String name,
                         byte[] value)
                  throws JMSException

  Sets a byte array value with the specified name into the Map.

  Specified by:
    `setBytes` in interface `MapMessage`
  Parameters:
    `name` - the name of the byte array
    `value` - the byte array value to set in the Map; the array is copied so that the value for `name` will not be altered by future modifications
  Throws:
    `JMSException` - if the JMS provider fails to write the message due to some internal error.
    `NullPointerException` - if the name is null, or if the name is an empty string.
    `MessageNotWriteableException` - if the message is in read-only mode.

### setBytes

    public void setBytes(String name,
                         byte[] value,
                         int offset,
                         int length)
                  throws JMSException

  Sets a portion of the byte array value with the specified name into the Map.

  Specified by:
    `setBytes` in interface `MapMessage`
  Parameters:
    `name` - the name of the byte array
    `value` - the byte array value to set in the Map
    `offset` - the initial offset within the byte array
    `length` - the number of bytes to use
  Throws:
    `JMSException` - if the JMS provider fails to write the message due to some internal error.
    `IllegalArgumentException` - if the name is null or if the name is an empty string.
    `MessageNotWriteableException` - if the message is in read-only mode.

### setObject

    public void setObject(String name,
                          Object value)
                   throws JMSException

  Sets an object value with the specified name into the Map.

  This method works only for the objectified primitive object types (`Integer`,`Double`, `Long` ...), `String` objects, and byte arrays.

  Specified by:
    `setObject` in interface `MapMessage`
  Parameters:
    `name` - the name of the Java object
    `value` - the Java object value to set in the Map
  Throws:
    `JMSException` - if the JMS provider fails to write the message due to some internal error.
    `IllegalArgumentException` - if the name is null or if the name is an empty string.
    `MessageFormatException` - if the object is invalid.
    `MessageNotWriteableException` - if the message is in read-only mode.

### writeBody

    protected void writeBody(DataOutput dataOut)
                      throws IOException

  Description copied from class: `ActiveMQMessage`
  Used serialize the message body to an output stream

  Overrides:
    `writeBody` in class `ActiveMQMessage`
  Parameters:
    `dataOut` -
  Throws:
    `IOException`

### readBody

    protected void readBody(DataInput dataIn)
                     throws IOException

  Description copied from class: `ActiveMQMessage`
  Used to help build the body from an input stream

  Overrides:
    `readBody` in class `ActiveMQMessage`
  Parameters:
    `dataIn` -
  Throws:
    `IOException`

### itemExists

    public boolean itemExists(String name)
                       throws JMSException

  Indicates whether an item exists in this `MapMessage` object.

  Specified by:
    `itemExists` in interface `MapMessage`
  Parameters:
    `name` - the name of the item to test
  Returns:
    true if the item exists
  Throws:
    `JMSException` - if the JMS provider fails to determine if the item exists due to some internal error.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2004 Protique, Ltd.. All Rights Reserved.