Package com.webmethods.jms.transport
Class TransportStructField
- java.lang.Object
-
- com.webmethods.jms.transport.TransportField
-
- com.webmethods.jms.transport.TransportStructField
-
- All Implemented Interfaces:
java.lang.Cloneable
- Direct Known Subclasses:
TransportVirtualStructField
public class TransportStructField extends TransportField implements java.lang.Cloneable
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.HashMap<java.lang.String,java.lang.Integer>
_fieldNames
protected int[]
_fieldOffsets
protected java.util.ArrayList<TransportField>
_fields
protected short
_nFields
protected byte[]
_transportData
protected static int
LOC_FIRST_FIELD
protected static int
LOC_N_FIELDS
protected static int
LOC_PAD
protected static int
LOC_STRUCT_LENGTH
protected static int
MAX_CACHE_SIZE
protected static int
STRUCT_HEADER_SIZE
-
Fields inherited from class com.webmethods.jms.transport.TransportField
_fieldLength, _headerSize, _name, _nameEncoded, _nameLength, _type, _valueLength, ELEMENT_TYPE_SIZE, FIELD_LENGTH_SIZE, FIELD_TYPE_BOOLEAN, FIELD_TYPE_BYTE, FIELD_TYPE_CHAR, FIELD_TYPE_DATE, FIELD_TYPE_DOUBLE, FIELD_TYPE_EVENT, FIELD_TYPE_FLOAT, FIELD_TYPE_INT, FIELD_TYPE_LONG, FIELD_TYPE_SEQUENCE, FIELD_TYPE_SHORT, FIELD_TYPE_STRING, FIELD_TYPE_STRUCT, FIELD_TYPE_UNICODE_CHAR, FIELD_TYPE_UNICODE_STRING, FIELD_TYPE_UNKNOWN, FIELD_TYPE_VIRTUAL, LOC_FIELD_LENGTH, LOC_FIELD_NAME, LOC_FIELD_NAME_LENGTH, LOC_FIELD_TYPE, NAME_LENGTH_SIZE, SEQUENCE_SIZE, TYPE_SIZE, VALUE_LENGTH_SIZE
-
-
Constructor Summary
Constructors Constructor Description TransportStructField()
TransportStructField(int length, short type, short nameLength, byte[] nameEncoded)
TransportStructField(java.lang.String name)
TransportStructField(java.lang.String name, int nFields)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected int
calcLength()
protected int
calcValueLength()
java.lang.Object
clone()
boolean
getBooleanField(java.lang.String name)
byte[]
getByteArrayField(java.lang.String name)
byte
getByteField(java.lang.String name)
char
getCharField(java.lang.String name)
double
getDoubleField(java.lang.String name)
java.lang.Object
getField(java.lang.String name)
java.util.Vector<java.lang.String>
getFieldNames()
float
getFloatField(java.lang.String name)
int
getIntField(java.lang.String name)
int
getLength()
long
getLongField(java.lang.String name)
short
getNumberOfFields()
short
getShortField(java.lang.String name)
java.lang.String
getStringField(java.lang.String name)
TransportField
lookupField(java.lang.String name)
int
marshal(byte[] destination, int offset)
protected void
purgeCache()
void
removeField(java.lang.String name)
void
setBooleanField(java.lang.String name, boolean value)
void
setByteArrayField(java.lang.String name, byte[] value)
void
setByteField(java.lang.String name, byte value)
void
setCharField(java.lang.String name, char value)
void
setDoubleField(java.lang.String name, double value)
void
setFloatField(java.lang.String name, float value)
void
setIntField(java.lang.String name, int value)
void
setLongField(java.lang.String name, long value)
void
setNullField(java.lang.String name)
void
setShortField(java.lang.String name, short value)
void
setStringField(java.lang.String name, java.lang.String value)
protected void
unmarshalFields()
protected int
unmarshalValue(byte[] data, int offset)
-
Methods inherited from class com.webmethods.jms.transport.TransportField
calcHeaderSize, changeName, getName, getType, getValueLength, unmarshal
-
-
-
-
Field Detail
-
LOC_STRUCT_LENGTH
protected static final int LOC_STRUCT_LENGTH
- See Also:
- Constant Field Values
-
LOC_N_FIELDS
protected static final int LOC_N_FIELDS
- See Also:
- Constant Field Values
-
LOC_PAD
protected static final int LOC_PAD
- See Also:
- Constant Field Values
-
LOC_FIRST_FIELD
protected static final int LOC_FIRST_FIELD
- See Also:
- Constant Field Values
-
STRUCT_HEADER_SIZE
protected static final int STRUCT_HEADER_SIZE
- See Also:
- Constant Field Values
-
_transportData
protected byte[] _transportData
-
_fields
protected java.util.ArrayList<TransportField> _fields
-
_fieldNames
protected java.util.HashMap<java.lang.String,java.lang.Integer> _fieldNames
-
_fieldOffsets
protected int[] _fieldOffsets
-
_nFields
protected short _nFields
-
MAX_CACHE_SIZE
protected static final int MAX_CACHE_SIZE
-
-
Constructor Detail
-
TransportStructField
public TransportStructField(int length, short type, short nameLength, byte[] nameEncoded)
-
TransportStructField
public TransportStructField()
-
TransportStructField
public TransportStructField(java.lang.String name)
-
TransportStructField
public TransportStructField(java.lang.String name, int nFields)
-
-
Method Detail
-
clone
public java.lang.Object clone()
- Overrides:
clone
in classTransportField
-
getLength
public int getLength()
- Overrides:
getLength
in classTransportField
-
getNumberOfFields
public short getNumberOfFields()
-
getFieldNames
public java.util.Vector<java.lang.String> getFieldNames()
-
purgeCache
protected void purgeCache()
-
unmarshalValue
protected int unmarshalValue(byte[] data, int offset)
- Specified by:
unmarshalValue
in classTransportField
-
marshal
public int marshal(byte[] destination, int offset)
- Overrides:
marshal
in classTransportField
-
unmarshalFields
protected void unmarshalFields()
-
lookupField
public TransportField lookupField(java.lang.String name)
-
removeField
public void removeField(java.lang.String name)
-
setNullField
public void setNullField(java.lang.String name)
-
setStringField
public void setStringField(java.lang.String name, java.lang.String value)
-
setCharField
public void setCharField(java.lang.String name, char value)
-
setByteArrayField
public void setByteArrayField(java.lang.String name, byte[] value)
-
setBooleanField
public void setBooleanField(java.lang.String name, boolean value)
-
setByteField
public void setByteField(java.lang.String name, byte value)
-
setShortField
public void setShortField(java.lang.String name, short value)
-
setIntField
public void setIntField(java.lang.String name, int value)
-
setLongField
public void setLongField(java.lang.String name, long value)
-
setFloatField
public void setFloatField(java.lang.String name, float value)
-
setDoubleField
public void setDoubleField(java.lang.String name, double value)
-
getField
public java.lang.Object getField(java.lang.String name)
-
getStringField
public java.lang.String getStringField(java.lang.String name) throws TransportFieldNotFoundException
- Throws:
TransportFieldNotFoundException
-
getCharField
public char getCharField(java.lang.String name) throws TransportFieldNotFoundException
- Throws:
TransportFieldNotFoundException
-
getByteArrayField
public byte[] getByteArrayField(java.lang.String name) throws TransportFieldNotFoundException
- Throws:
TransportFieldNotFoundException
-
getBooleanField
public boolean getBooleanField(java.lang.String name) throws TransportFieldNotFoundException
- Throws:
TransportFieldNotFoundException
-
getByteField
public byte getByteField(java.lang.String name) throws TransportFieldNotFoundException
- Throws:
TransportFieldNotFoundException
-
getShortField
public short getShortField(java.lang.String name) throws TransportFieldNotFoundException
- Throws:
TransportFieldNotFoundException
-
getIntField
public int getIntField(java.lang.String name) throws TransportFieldNotFoundException
- Throws:
TransportFieldNotFoundException
-
getLongField
public long getLongField(java.lang.String name) throws TransportFieldNotFoundException
- Throws:
TransportFieldNotFoundException
-
getFloatField
public float getFloatField(java.lang.String name) throws TransportFieldNotFoundException
- Throws:
TransportFieldNotFoundException
-
getDoubleField
public double getDoubleField(java.lang.String name) throws TransportFieldNotFoundException
- Throws:
TransportFieldNotFoundException
-
calcLength
protected int calcLength()
-
calcValueLength
protected int calcValueLength()
-
-