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

## weblogic.wtc.jatmi
Class TypedFML

    java.lang.Object
      weblogic.wtc.jatmi.StandardTypes
          weblogic.wtc.jatmi.TypedFML

All Implemented Interfaces:
  Serializable, FML, TypedBuffer

    public final class TypedFML

extends StandardTypes
implements TypedBuffer, Serializable, FML

This implements FML in JAVA as a TypedBuffer. Fieldids are generated with the tool mkfldclass, and then put into the buffer with the appropriate FML methods. Note that in this implementation Fieldids must be combined into a field key, which is a combination of the Fldid and the occurance number. Any number of field tables can be loaded into any FML object in order to do FldId to String conversions and String to FldId conversions.

See Also:
  `FmlKey`, `FldTbl`, `TypedBuffer`, `FML`, `mkfldclass`, Serialized Form

Field Summary

Fields inherited from interface weblogic.wtc.jatmi.FML
`FLD_CARRAY, FLD_CHAR, FLD_DECIMAL, FLD_DOUBLE, FLD_FLOAT, FLD_FML32, FLD_INT, FLD_LONG, FLD_MBSTRING, FLD_PTR, FLD_SHORT, FLD_STRING, FLD_VIEW32`

Constructor Summary
`TypedFML()` Default constructor.
`TypedFML(FldTbl table)` Constructor which provides a single FldTbl object for mapping FldIds to Strings and Strings to FldIds Note that it is not necesary to provide FldTbls unless String/FldId mappings are required.
`TypedFML(FldTbl[] tables)` Constructor which provides a list FldTbl objects for mapping FldIds to Strings and Strings to FldIds.
`TypedFML(TypedFML copyFrom)` This constructor copies the fields from the input FML buffer.

Method Summary
`void` | `_tmpostrecv(DataInputStream decoder, int recv_size)` XDR decodes the FML buffer
`void` | `_tmpostrecv65(DataInputStream decoder)` XDR decodes the FML buffer
`void` | `_tmpresend(DataOutputStream encoder)` This function presends and encodes the given TypedBuffer object.
`void` | `Fadd(int fldid, Object value)` Adds the given object.
`void` | `Fchg(FmlKey key, Object value)` Adds the given object, whose field id is contained in key to the fielded buffer.
`void` | `Fchg(int fldid, int occurance, Object value)` Adds the given object.
`void` | `Fdel(FmlKey key)` Delete given key from fielded buffer.
`void` | `Fdel(int fldid, int occurance)` Delete given element from fielded buffer.
`Object` | `Fget(FmlKey key)` Retrieves a copy of the object stored in the FML buffer of the given field id and occurance number.
`Object` | `Fget(int fldid, int occurance)` Retrieves a copy of the object stored in the FML buffer of the given field id and occurance number.
`Iterator` | `Fiterator()` Returns an iterator for the start of the fielded FML buffer.
`int` | `Fldid(String name)` Returns the field id corresponding to the given name.
`int` | `Fldno(int fldid)` Given a fieldid, this returns the field number
`int` | `Fldtype(int fldid)` Given a fieldid, this returns the field type
`String` | `Fname(int fldid)` Returns the string that matches the given fieldid.
`int` | `Foccur(int fldid)` Returns the number of occurences of the field specified by fldid
`int` | `Fused()` Returns the amount of space that this FML buffer will take when present
`FldTbl[]` | `getFieldTables()` gets the current list of FldTbls that are being used by this TypedFML object to do FldId/String mappings.
`void` | `setFieldTables(FldTbl[] tables)` This function sets the list of FldTbl objects that can be used for FldId/String mappings

Methods inherited from class weblogic.wtc.jatmi.StandardTypes
`getHintIndex, getSubtype, getType, hint_to_type`

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

Methods inherited from interface weblogic.wtc.jatmi.TypedBuffer
`getHintIndex, getSubtype, getType`

Constructor Detail

### TypedFML

    public TypedFML()

  Default constructor. Initializes an empty FML buffer.

### TypedFML

    public TypedFML(FldTbl[] tables)

  Constructor which provides a list FldTbl objects for mapping FldIds to Strings and Strings to FldIds. Note that it is not necesary to provide FldTbls unless String/FldId mappings are required.

  Parameters:
    `tables` - A list of FldTbl objects that can be used to map FldIds and strings

### TypedFML

    public TypedFML(FldTbl table)

  Constructor which provides a single FldTbl object for mapping FldIds to Strings and Strings to FldIds Note that it is not necesary to provide FldTbls unless String/FldId mappings are required.

  Parameters:
    `table` - A FldTbl object that can be used to map FldIds and strings

### TypedFML

    public TypedFML(TypedFML copyFrom)

  This constructor copies the fields from the input FML buffer.

  Parameters:
    `copyFrom` - The FML buffer to copy data from

Method Detail

### setFieldTables

    public void setFieldTables(FldTbl[] tables)

  This function sets the list of FldTbl objects that can be used for FldId/String mappings

  Specified by:
    `setFieldTables` in interface `FML`
  Parameters:
    `tables` - The list of tables to use for FldId/String mappings
  See Also:
    `FldTbl`

### getFieldTables

    public FldTbl[] getFieldTables()

  gets the current list of FldTbls that are being used by this TypedFML object to do FldId/String mappings.

  Specified by:
    `getFieldTables` in interface `FML`
  Returns:
    The list of FldTbl objects used for FldId/String mappings

### Fldno

    public int Fldno(int fldid)

  Given a fieldid, this returns the field number

  Specified by:
    `Fldno` in interface `FML`
  Parameters:
    `fldid` - The field id from which to extract the field number
  Returns:
    The field number associated with this feild id

### Fldtype

    public int Fldtype(int fldid)

  Given a fieldid, this returns the field type

  Specified by:
    `Fldtype` in interface `FML`
  Parameters:
    `fldid` - The field id from which to extract the field type
  Returns:
    The following field types:
    - FLD_SHORT
    - FLD_LONG
    - FLD_CHAR
    - FLD_FLOAT
    - FLD_DOUBLE
    - FLD_STRING
    - FLD_CARRAY
    - FLD_INT
    - FLD_DECIMAL
    - FLD_PTR
    - FLD_FML32
    - FLD_VIEW32

### Fchg

    public void Fchg(FmlKey key,
                     Object value)
              throws Ferror

  Adds the given object, whose field id is contained in key to the fielded buffer. key also contains the occurance number of the field to add to the buffer. If an entry of that field id and occurance exists in the buffer, this object will take its place. If there are no occurance numbers prior to this occurance number and field id then the occurances prior to this one will be filled in with null entries. The following table gives the Field type and the associated object expected by FML
  - FLD_SHORT - Short
  - FLD_LONG - Integer
  - FLD_CHAR - Character
  - FLD_FLOAT - Float
  - FLD_DOUBLE - Double
  - FLD_STRING - String
  - FLD_CARRAY - byte[]
  - FLD_INT - Not yet supported
  - FLD_DECIMAL - Not yet supported
  - FLD_PTR - TypedBuffer, not valid for FML type
  - FLD_FML32 - TypedFML32, not valid for FML type
  - FLD_VIEW32 - not valid for FML type

  Specified by:
    `Fchg` in interface `FML`
  Parameters:
    `key` - The fieldid and occurance to add to the buffer
    `value` - The element to add to the buffer. Note that this object must match the type of object expected by the field type, or an invalid cast exception will be thrown
  Throws:
    `Ferror` - usually if space is low
  See Also:
    `FmlKey`

### Fchg

    public void Fchg(int fldid,
                     int occurance,
                     Object value)
              throws Ferror

  Adds the given object. This version of Fchg takes the fieldid and occurance number, and may be more conveinient than the other version of Fchg which requires an FmlKey to be constructed by the caller. If an entry of that field id and occurance exists in the buffer, this object will take its place. If there are no occurance numbers prior to this occurance number and field id then the occurances prior to this one will be filled in with null entries. The following table gives the Field type and the associated object expected by FML
  - FLD_SHORT - Short
  - FLD_LONG - Integer
  - FLD_CHAR - Character
  - FLD_FLOAT - Float
  - FLD_DOUBLE - Double
  - FLD_STRING - String
  - FLD_CARRAY - byte[]
  - FLD_INT - Not yet supported
  - FLD_DECIMAL - Not yet supported
  - FLD_PTR - TypedBuffer, not valid for FML type
  - FLD_FML32 - TypedFML32, not valid for FML type
  - FLD_VIEW32 - not valid for FML type

  Specified by:
    `Fchg` in interface `FML`
  Parameters:
    `fldid` - The fieldid to add to this buffer
    `occurance` - The occurance number of the field to add
    `value` - The element to add to the buffer. Note that this object must match the type of object expected by the field type, or an invalid cast exception will be thrown
  Throws:
    `Ferror` - usually if space is low
  See Also:
    `FmlKey`

### Fadd

    public void Fadd(int fldid,
                     Object value)
              throws Ferror

  Adds the given object. The following table gives the Field type and the associated object expected by FML
  - FLD_SHORT - Short
  - FLD_LONG - Integer
  - FLD_CHAR - Character
  - FLD_FLOAT - Float
  - FLD_DOUBLE - Double
  - FLD_STRING - String
  - FLD_CARRAY - byte[]
  - FLD_INT - Not yet supported
  - FLD_DECIMAL - Not yet supported

  Parameters:
    `fldid` - The fieldid to add to this buffer
    `value` - The element to add to the buffer. Note that this object must match the type of object expected by the field type, or an invalid cast exception will be thrown
  Throws:
    `Ferror` - usually if space is low
  See Also:
    `FmlKey`

### Fget

    public Object Fget(FmlKey key)
                throws Ferror

  Retrieves a copy of the object stored in the FML buffer of the given field id and occurance number. Notice that changing the object returned will NOT change the value in the FML buffer. The value returned is a COPY of the value in the FML buffer. The following table gives the Field type and the associated object returned by FML
  - FLD_SHORT - Short
  - FLD_LONG - Integer
  - FLD_CHAR - Character
  - FLD_FLOAT - Float
  - FLD_DOUBLE - Double
  - FLD_STRING - String
  - FLD_CARRAY - byte[]
  - FLD_INT - Not yet supported
  - FLD_DECIMAL - Not yet supported
  - FLD_PTR - TypedBuffer, not valid for FML type
  - FLD_FML32 - TypedFML32, not valid for FML type
  - FLD_VIEW32 - Not valid for FML type

  Specified by:
    `Fget` in interface `FML`
  Parameters:
    `key` - the field id and occurance number of the element to retrieve
  Returns:
    the field object stored at that occurance number
  Throws:
    `Ferror` - if the object is not found in the buffer among other reasons

### Fget

    public Object Fget(int fldid,
                       int occurance)
                throws Ferror

  Retrieves a copy of the object stored in the FML buffer of the given field id and occurance number. This version of the API takes the fieldid and occurance number rather than the FmlKey Notice that changing the object returned will NOT change the value in the FML buffer. The value returned is a COPY of the value in the FML buffer. The following table gives the Field type and the associated object returned by FML
  - FLD_SHORT - Short
  - FLD_LONG - Integer
  - FLD_CHAR - Character
  - FLD_FLOAT - Float
  - FLD_DOUBLE - Double
  - FLD_STRING - String
  - FLD_CARRAY - byte[]
  - FLD_INT - Not yet supported
  - FLD_DECIMAL - Not yet supported
  - FLD_PTR - TypedBuffer, not valid for FML
  - FLD_FML32 - TypedFML32, not valid for FML
  - FLD_VIEW32 - Not valid for FML

  Specified by:
    `Fget` in interface `FML`
  Parameters:
    `fldid` - The field id of the element to retrieve
    `occurance` - The occurance number of the element to retrieve
  Returns:
    the field object stored at that occurance number
  Throws:
    `Ferror` - if the object is not found in the buffer among other reasons

### Fiterator

    public Iterator Fiterator()

  Returns an iterator for the start of the fielded FML buffer. An example usage may be as follows. fmliter = fmlobj.Fiterator(); while(fmliter.hasNext()) { entry = (Map.Entry)fmliter.next(); fmlkey = (FmlKey) entry.getKey(); switch(Fldtype(fmlkey.get_fldid())) { case FLD_SHORT: value_short = (Short) entry.getValue(); } }

  Specified by:
    `Fiterator` in interface `FML`
  Returns:
    the Iterator for the fielded FML buffer

### Foccur

    public int Foccur(int fldid)

  Returns the number of occurences of the field specified by fldid

  Specified by:
    `Foccur` in interface `FML`
  Parameters:
    `fldid` - the field id to look for in the fielded FML buffer
  Returns:
    the number of occurences of a fldid in the fielded FML buffer

### Fdel

    public void Fdel(FmlKey key)
              throws Ferror

  Delete given key from fielded buffer. The object with the given field id and the given occurance will be removed from the buffer

  Specified by:
    `Fdel` in interface `FML`
  Parameters:
    `key` - The field id and occurance of the element to be removed
  Throws:
    `Ferror` - if the element is not in the buffer among other reasons

### Fdel

    public void Fdel(int fldid,
                     int occurance)
              throws Ferror

  Delete given element from fielded buffer. The object with the given field id and the given occurance will be removed from the buffer. This differs from the other version in that it takes the field id and occurance number rather than a constructed key

  Specified by:
    `Fdel` in interface `FML`
  Parameters:
    `fldid` - The field id of the element to be removed
    `occurance` - The occurance of the element to be removed
  Throws:
    `Ferror` - if the element is not in the buffer among other reasons

### Fname

    public String Fname(int fldid)
                 throws Ferror

  Returns the string that matches the given fieldid. For this mapping a list of FldTbl objects should be loaded into this FML object.

  Specified by:
    `Fname` in interface `FML`
  Parameters:
    `fldid` - The field id to map to a string
  Returns:
    The name of the fiels
  Throws:
    `Ferror` - if the name cannot be found

### Fldid

    public int Fldid(String name)
              throws Ferror

  Returns the field id corresponding to the given name. A table of FldTbl objects should be loaded into this FML object in order to map the name to a field id.

  Specified by:
    `Fldid` in interface `FML`
  Parameters:
    `name` - the name of the field we are trying to find
  Returns:
    The `integer` field id
  Throws:
    `Ferror` - if the field id cannot be found

### Fused

    public int Fused()

  Returns the amount of space that this FML buffer will take when present

  Specified by:
    `Fused` in interface `FML`
  Parameters:
    `The` - size of this buffer when present

### _tmpresend

    public void _tmpresend(DataOutputStream encoder)
                    throws TPException,
                           IOException

  This function presends and encodes the given TypedBuffer object. It is equivalent to the combination of _tmpresend and _tmencdec functions from the buffer(3i) TUXEDO manual page.

  XDR encodes the FML buffer

  Specified by:
    `_tmpresend` in interface `TypedBuffer`
  Parameters:
    `encoder` - The output stream to encode this type to. Should not be padded.
  Throws:
    `TPException` -
    - TPEINVAL - If there was some problem with the state of the TypedBuffer.
    - Any other errno is considered a fatal error
    `IOException` - If there was an error writing to the DataOutputStream

### _tmpostrecv

    public void _tmpostrecv(DataInputStream decoder,
                            int recv_size)
                     throws TPException,
                            IOException

  XDR decodes the FML buffer

  Specified by:
    `_tmpostrecv` in interface `TypedBuffer`
  Parameters:
    `decoder` - A stream that starts with the encoded data for this buffer type. Only recv_size bytes should be read from the stream (though at the time this function is called all bytes necessary to decode this type should be available)
    `recv_size` - The total size of encoded data from the start position (note that encoded may be larger than the actual recieved size)
  Throws:
    `TPException` - TPEINVAL if this stream could not be decoded for any reason
    `IOException` - if there was an error reading from the stream

### _tmpostrecv65

    public void _tmpostrecv65(DataInputStream decoder)
                       throws IOException,
                              TPException

  XDR decodes the FML buffer

  Parameters:
    `decoder` - The object to use to decode this buffer
  Throws:
    `TPException` - TPEINVAL if this stream could not be decoded for any reason
    `IOException` - if there was an IO Error reading the FML buffer

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Documentation is available at http://e-docs.bea.com/wls/docs92 Copyright 2006 BEA Systems Inc.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD