Class LayoutField

java.lang.Object
cl.netswitch.lib.layout.LayoutField
All Implemented Interfaces:
Serializable

public abstract class LayoutField extends Object implements Serializable
Data item whose value can be edited with a LayoutMessage. A LayoutField has a type, a name, a length, a numeric scale and a default value. The values of these properties have restrictions depending on the type of the field. See FieldType for details about these restrictions.
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    final Character
    getChar(LayoutMessage message, int index)
    Returns the first character of the string value of the index occurence of this field in message.
    getDate(LayoutMessage message, int index)
    Returns the date value of the index occurence of this field in message.
    Returns the default value of this field.
    final String
    Returns the defined default value of this field.
    final Double
    getDouble(LayoutMessage message, int index)
    Returns the double value of the index occurence of this field in message.
    final Integer
    getInteger(LayoutMessage message, int index)
    Returns the integer value of the index occurence of this field in message.
    final Layout
    Returns the layout of this field.
    final int
    Returns the length of each occurrence of this field.
    final Long
    getLong(LayoutMessage message, int index)
    Returns the long value of the index occurence of this field in message.
    final String
    Returns the name of this field.
    getNumber(LayoutMessage message, int index)
    Returns the decimal value of the index occurence of this field in message.
    final int
    Returns the number of occurrences of this field.
    final int
    getOffset(int index)
    Returns the offset position of the index occurence of this field in a message or it's parent list.
    Returns the list field that contains this field.
    final int
    Returns the numeric scale of this field.
    final String
    getSequence(LayoutMessage message, int index)
    Returns the unformatted character sequence of the index occurence of this field in message.
    getString(LayoutMessage message, int index)
    Returns the string value of the index occurence of this field in message.
    abstract FieldType
    Returns the type of this field.
    final boolean
    isNull(LayoutMessage message, int index)
    Returns true is the character sequence of the index occurence of this field in message is NULL.
    final void
    setChar(LayoutMessage message, int index, Character value)
    Changes the character value of the index occurence of this field in message.
    void
    setDate(LayoutMessage message, int index, Date date)
    Changes the date value of the index occurence of this field in message.
    void
    setDefault(LayoutMessage message, int index)
    Changes the value of the index occurence of this field in message to its default value.
    final void
    setDouble(LayoutMessage message, int index, Double value)
    Changes the double value of the index occurence of this field in message.
    final void
    setInteger(LayoutMessage message, int index, Integer value)
    Changes the integer value of the index occurence of this field in message.
    final void
    setLong(LayoutMessage message, int index, Long value)
    Changes the long value of the index occurence of this field in message.
    void
    setNull(LayoutMessage message, int index)
    Changes the character sequence of the index occurence of this field in message with the NULL value.
    void
    setNumber(LayoutMessage message, int index, BigDecimal value)
    Changes the decimal value of the index occurence of this field in message.
    final void
    setSequence(LayoutMessage message, int index, String value)
    Changes the unformatted character sequence of the index occurence of this field in message.
    void
    setString(LayoutMessage message, int index, String value)
    Changes the string value of the index occurence of this field in message.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • getType

      public abstract FieldType getType()
      Returns the type of this field.
      Returns:
      the type of this field.
    • getLayout

      public final Layout getLayout()
      Returns the layout of this field.
      Returns:
      the layout of this field.
    • getName

      public final String getName()
      Returns the name of this field.
      Returns:
      the name of this field.
    • getLength

      public final int getLength()
      Returns the length of each occurrence of this field.
      Returns:
      the length of each occurrence of this field.
    • getScale

      public final int getScale()
      Returns the numeric scale of this field.
      Returns:
      the numeric scale of this field.
    • getOccurs

      public final int getOccurs()
      Returns the number of occurrences of this field.
      Returns:
      the number of occurrences of this field.
    • getDefinedDefault

      public final String getDefinedDefault()
      Returns the defined default value of this field. If the field does not have a defined default value, it returns null.
      Returns:
      the default value of this field or null if the field does not have a defined default value.
    • getDefault

      public String getDefault()
      Returns the default value of this field. If the field does not have a defined default value, it returns the default value associatted with its type. This method never returns null.
      Returns:
      the default value of this field or the default value associatted with its type.
    • setDefault

      public void setDefault(LayoutMessage message, int index)
      Changes the value of the index occurence of this field in message to its default value. If the field's default value is invalid, then the type's default value is used.
      Parameters:
      message - the layout message editor.
      index - the occurence index of the field.
      Throws:
      NullPointerException - if message is null.
      IndexOutOfBoundsException - if index is out-of-bounds.
    • getParent

      public final LayoutField getParent()
      Returns the list field that contains this field. If this field does not belong to a list, it returns null. Fields of type FieldType.LIST always return null because list fields cannot be defined (contained) within other lists.
      Returns:
      the list field that contains this field or null.
    • getOffset

      public final int getOffset(int index)
      Returns the offset position of the index occurence of this field in a message or it's parent list.
      Parameters:
      index - the occurence index of the field.
      Returns:
      the offset position of this field in a message or parent list.
      Throws:
      IndexOutOfBoundsException - if index is out-of-bounds.
    • getSequence

      public final String getSequence(LayoutMessage message, int index)
      Returns the unformatted character sequence of the index occurence of this field in message. The character sequence starts at the offset position returned by the getOffset(int) method, and it's length is given by the getLength() method. Trailing space characters of the returned sequence are removed (right trimmed).
      Parameters:
      message - the layout message editor.
      index - the occurence index of the field.
      Returns:
      the unformatted character sequence or null.
      Throws:
      NullPointerException - if message is null.
      IndexOutOfBoundsException - if index is out-of-bounds.
    • setSequence

      public final void setSequence(LayoutMessage message, int index, String value)
      Changes the unformatted character sequence of the index occurence of this field in message. The character sequence starts at the offset position returned by the getOffset(int) method, and it's length is given by the getLength() method. If value is too short, it is extended with space characters. If value is too long, it is truncated. If value is null the sequence is filled with character NO-DATA (0x1A).
      Parameters:
      message - the layout message editor.
      index - the occurence index of the field.
      value - the new character sequence of this field (can be null).
      Throws:
      NullPointerException - if message is null.
      IndexOutOfBoundsException - if index is out-of-bounds.
      IllegalArgumentException - if strict and value is too long.
    • isNull

      public final boolean isNull(LayoutMessage message, int index)
      Returns true is the character sequence of the index occurence of this field in message is NULL. The value of a field is said to be NULL if the first character of it's character sequence is NO-DATA (0x1A).
      Parameters:
      message - the layout message editor.
      index - the occurence index of the field.
      Returns:
      true if the value of this field is NULL.
      Throws:
      NullPointerException - if message is null.
      IndexOutOfBoundsException - if index is out-of-bounds.
    • setNull

      public void setNull(LayoutMessage message, int index)
      Changes the character sequence of the index occurence of this field in message with the NULL value. The value of a field is said to be NULL if the first character of it's character sequence is NO-DATA (0x1A).
      Parameters:
      message - the layout message editor.
      index - the occurence index of the field.
      Throws:
      NullPointerException - if message is null.
      IndexOutOfBoundsException - if index is out-of-bounds.
    • getString

      public String getString(LayoutMessage message, int index)
      Returns the string value of the index occurence of this field in message. It returns null if the value of the field is NULL. See isNull for explanation of NULL value.
      Parameters:
      message - the layout message editor.
      index - the occurence index of the field.
      Returns:
      the string value of this field or null.
      Throws:
      NullPointerException - if message is null.
      IndexOutOfBoundsException - if index is out-of-bounds.
    • setString

      public void setString(LayoutMessage message, int index, String value)
      Changes the string value of the index occurence of this field in message. The supplied value is formatted according to the type of this field, and the resulting text is stored in message. If value is null, the value of the field is set to NULL. See isNull for explanation of NULL value.
      Parameters:
      message - the layout message editor.
      index - the occurence index of the field.
      value - the string representation of the field value.
      Throws:
      NullPointerException - if message is null.
      IndexOutOfBoundsException - if index is out-of-bounds.
    • getChar

      public final Character getChar(LayoutMessage message, int index)
      Returns the first character of the string value of the index occurence of this field in message. It returns null if the value of the field is NULL. See isNull for explanation of NULL value.
      Parameters:
      message - the layout message editor.
      index - the occurence index of the field.
      Returns:
      the character value of the field or null.
      Throws:
      NullPointerException - if message is null.
      IndexOutOfBoundsException - if index is out-of-bounds.
    • setChar

      public final void setChar(LayoutMessage message, int index, Character value)
      Changes the character value of the index occurence of this field in message. If value is null, the value of the field is set to NULL. See isNull for explanation of NULL value.
      Parameters:
      message - the layout message editor.
      index - the occurence index of the field.
      value - the new character value of the field (can be null).
      Throws:
      NullPointerException - if message is null.
      IndexOutOfBoundsException - if index is out-of-bounds.
    • getNumber

      public BigDecimal getNumber(LayoutMessage message, int index)
      Returns the decimal value of the index occurence of this field in message. This method can only be used if the type of this field is NUMERIC or SIGNED. It returns null if the value of the field is NULL. See isNull for explanation of NULL value.
      Parameters:
      message - the layout message editor.
      index - the occurence index of the field.
      Returns:
      the decimal value of this field or null.
      Throws:
      NullPointerException - if message is null.
      IndexOutOfBoundsException - if index is out-of-bounds.
      UnsupportedOperationException - if the type of this field is not NUMERIC or SIGNED.
    • setNumber

      public void setNumber(LayoutMessage message, int index, BigDecimal value)
      Changes the decimal value of the index occurence of this field in message. This method can only be used if the type of this field is NUMERIC or SIGNED. If decimal is null, the value of the field is set to NULL. See isNull for explanation of NULL value.
      Parameters:
      message - the layout message editor.
      index - the occurence index of the field.
      value - decimal value of the field (can be null).
      Throws:
      NullPointerException - if message is null.
      IndexOutOfBoundsException - if index is out-of-bounds.
      UnsupportedOperationException - if the type of this field is not NUMERIC or SIGNED.
    • getDouble

      public final Double getDouble(LayoutMessage message, int index)
      Returns the double value of the index occurence of this field in message. It returns null if the value of the field is NULL. See isNull for explanation of NULL value.
      Parameters:
      message - the layout message editor.
      index - the occurence index of the field.
      Returns:
      the double value of the field or null.
      Throws:
      NullPointerException - if message is null.
      IndexOutOfBoundsException - if index is out-of-bounds.
      UnsupportedOperationException - if the type of this field is not NUMERIC or SIGNED.
    • setDouble

      public final void setDouble(LayoutMessage message, int index, Double value)
      Changes the double value of the index occurence of this field in message. If value is null, the value of the field is set to NULL. See isNull for explanation of NULL value.
      Parameters:
      message - the layout message editor.
      index - the occurence index of the field.
      value - the new double value of the field (can be null).
      Throws:
      NullPointerException - if message is null.
      IndexOutOfBoundsException - if index is out-of-bounds.
      UnsupportedOperationException - if the type of this field is not NUMERIC or SIGNED.
    • getInteger

      public final Integer getInteger(LayoutMessage message, int index)
      Returns the integer value of the index occurence of this field in message. It returns null if the value of the field is NULL. See isNull for explanation of NULL value.
      Parameters:
      message - the layout message editor.
      index - the occurence index of the field.
      Returns:
      the integer value of the the field or null.
      Throws:
      NullPointerException - if message is null.
      IndexOutOfBoundsException - if index is out-of-bounds.
      UnsupportedOperationException - if the type of this field is not NUMERIC or SIGNED.
    • setInteger

      public final void setInteger(LayoutMessage message, int index, Integer value)
      Changes the integer value of the index occurence of this field in message. If value is null, the value of the field is set to NULL. See isNull for explanation of NULL value.
      Parameters:
      message - the layout message editor.
      index - the occurence index of the field.
      value - the new integer value of the field (can be null).
      Throws:
      NullPointerException - if message is null.
      IndexOutOfBoundsException - if index is out-of-bounds.
      UnsupportedOperationException - if the type of this field is not NUMERIC or SIGNED.
    • getLong

      public final Long getLong(LayoutMessage message, int index)
      Returns the long value of the index occurence of this field in message. It returns null if the value of the field is NULL. See isNull for explanation of NULL value.
      Parameters:
      message - the layout message editor.
      index - the occurence index of the field.
      Returns:
      the long value of the the field or null.
      Throws:
      NullPointerException - if message is null.
      IndexOutOfBoundsException - if index is out-of-bounds.
      UnsupportedOperationException - if the type of this field is not NUMERIC or SIGNED.
    • setLong

      public final void setLong(LayoutMessage message, int index, Long value)
      Changes the long value of the index occurence of this field in message. If value is null, the value of the field is set to NULL. See isNull for explanation of NULL value.
      Parameters:
      message - the layout message editor.
      index - the occurence index of the field.
      value - the new long value of the field (can be null).
      Throws:
      NullPointerException - if message is null.
      IndexOutOfBoundsException - if index is out-of-bounds.
      UnsupportedOperationException - if the type of this field is not NUMERIC or SIGNED.
    • getDate

      public Date getDate(LayoutMessage message, int index)
      Returns the date value of the index occurence of this field in message. This method can only be used if the type of this field is DATE. It returns null if the value of the field is NULL. See isNull for explanation of NULL value.
      Parameters:
      message - the layout message editor.
      index - the occurence index of the field.
      Returns:
      the date value of this field or null.
      Throws:
      NullPointerException - if message is null.
      IndexOutOfBoundsException - if index is out-of-bounds.
      UnsupportedOperationException - if the type of this field is not DATE.
    • setDate

      public void setDate(LayoutMessage message, int index, Date date)
      Changes the date value of the index occurence of this field in message. This method can only be used if the type of this field is DATE. If date is null, the value of the field is set to NULL. See isNull for explanation of NULL value.
      Parameters:
      message - the layout message editor.
      index - the occurence index of the field.
      date - the new date value of the field (can be null).
      Throws:
      NullPointerException - if message is null.
      IndexOutOfBoundsException - if index is out-of-bounds.
      UnsupportedOperationException - if the type of this field is not DATE.