com.sap.conn.jco

## Interface JCoRecord

- All Superinterfaces:
    Cloneable, Iterable<JCoField>, Serializable
  All Known Subinterfaces:
    JCoAbapObject, JCoParameterList, JCoRequest, JCoResponse, JCoStructure, JCoTable

      public interface JCoRecord
      extends Serializable, Cloneable, Iterable<JCoField>

  Base interface for all data containers used throughout the JCo framework. Implementations take care of internal bookkeeping of buffers, metadata, etc. In addition it provides a rich set of get/set methods which allow a convenient access to the individual fields that make up a record. Getter and setter methods support conversion of field values, which are summarized by the following table:

  Getter-Method / Datatype | JCoMetaData.TYPE_CHAR | JCoMetaData.TYPE_INT1 | JCoMetaData.TYPE_INT2 | JCoMetaData.TYPE_INT | JCoMetaData.TYPE_INT8 | JCoMetaData.TYPE_UTCLONG | JCoMetaData.TYPE_NUM | JCoMetaData.TYPE_BCD | JCoMetaData.TYPE_FLOAT | JCoMetaData.TYPE_BYTE | JCoMetaData.TYPE_DATE | JCoMetaData.TYPE_TIME | JCoMetaData.TYPE_STRING | JCoMetaData.TYPE_XSTRING | JCoMetaData.TYPE_DECF16 | JCoMetaData.TYPE_DECF34 | JCoMetaData.TYPE_STRUCTURE | JCoMetaData.TYPE_TABLE | JCoMetaData.TYPE_ABAPOBJECT
  --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---
  java.lang.Object getValue() | String | Integer | Integer | Integer | Long | String | String | BigDecimal | Double | byte[] | Date | Date | String | byte[] | BigDecimal | BigDecimal | JCoStructure | JCoTable | JCoAbapObject
  String getString() | String | String | String | String | String | String | String | String | String | String (hexadecimal) | String | String | String | String (hexadecimal) | String | String | String (structure name) | String (table name) | String (class name)
  char getChar() | char | --- | --- | --- | --- | --- | char | --- | --- | --- | --- | --- | char | --- | --- | --- | --- | --- | ---
  char[] getCharArray() | char[] | --- | --- | --- | --- | --- | char[] | --- | --- | --- | char[] | char[] | char[] | --- | --- | --- | --- | --- | ---
  byte getByte() | byte | byte | byte | byte | byte | --- | byte | --- | --- | byte | --- | --- | byte | byte | --- | --- | --- | --- | ---
  short getShort() | short | short | short | short | short | --- | short | --- | --- | short | --- | --- | short | short | --- | --- | --- | --- | ---
  int getInt() | int | int | int | int | int | int | int | --- | --- | int | --- | --- | int | int | --- | --- | --- | --- | ---
  long getLong() | long | long | long | long | long | long | long | --- | --- | long | --- | --- | long | long | --- | --- | --- | --- | ---
  java.math.BigInteger getBigInteger() | BigInteger | BigInteger | BigInteger | BigInteger | BigInteger | --- | BigInteger | BigInteger | --- | --- | --- | --- | BigInteger | --- | --- | --- | --- | --- | ---
  double getFloat() | float | float | float | float | float | --- | float | float | float | --- | --- | --- | float | --- | --- | --- | --- | --- | ---
  double getDouble() | double | double | double | double | double | --- | double | double | double | --- | --- | --- | double | --- | --- | --- | --- | --- | ---
  BigDecimal java.math.getBigDecimal() | BigDecimal | BigDecimal | BigDecimal | BigDecimal | BigDecimal | --- | BigDecimal | BigDecimal | BigDecimal | --- | --- | --- | BigDecimal | --- | BigDecimal | BigDecimal | --- | --- | ---
  java.util.Date getDate() | Date | --- | --- | --- | --- | --- | --- | --- | --- | --- | Date | Date | Date | --- | --- | --- | --- | --- | ---
  java.util.Date getTime() | Date | --- | --- | --- | --- | --- | --- | --- | --- | --- | Date | Date | Date | --- | --- | --- | --- | --- | ---
  byte[] getByteArray() | byte[] | --- | --- | --- | --- | --- | --- | --- | --- | byte[] | --- | --- | byte[] | byte[] | byte[] | byte[] | --- | --- | ---
  java.io.InputStream getBinaryStream() | InputStream | --- | --- | --- | --- | --- | --- | --- | --- | InputStream | --- | --- | InputStream | InputStream | --- | --- | --- | --- | ---
  java.io.Reader getCharacterStream() | Reader | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | Reader | --- | --- | --- | --- | --- | ---
  com.sap.conn.jco.JCoStructure getStructure() | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | JCoStructure | --- | ---
  com.sap.conn.jco.JCoTable getTable() | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | JCoTable | ---
  com.sap.conn.jco.JCoAbapObject getAbapObject() | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | JCoAbapObject

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `clear()` Clears the record and resets everything to its initial state.
    `Object` | `clone()` Clones the record instance.
    `int` | `copyFrom(JCoRecord source)` Copies the matching fields from the source record into this record.
    `void` | `fromJSON(Reader reader)` Deserializes all values from a given JSON representation into the fields of the `JCoRecord` from a Reader.
    `void` | `fromJSON(String data)` Deserializes all values from a given JSON representation into the fields of the `JCoRecord`.
    `JCoAbapObject` | `getAbapObject(int index)` Returns the value of the specified field as a `JCoAbapObject`.
    `JCoAbapObject` | `getAbapObject(String fieldName)` Returns the value of the specified field as a `JCoAbapObject`.
    `BigDecimal` | `getBigDecimal(int index)` Returns the value of the i'th field as a BigDecimal object.
    `BigDecimal` | `getBigDecimal(String fieldName)` Returns the value of the i'th field as a BigDecimal object.
    `BigInteger` | `getBigInteger(int index)` Returns the value of the i'th field as a BigInteger object.
    `BigInteger` | `getBigInteger(String fieldName)` Returns the value of the i'th field as a BigInteger object.
    `InputStream` | `getBinaryStream(int index)` Returns the value of the i'th field as a stream of uninterpreted bytes, in form of a java.io.InputStream object.
    `InputStream` | `getBinaryStream(String fieldName)` Returns the value of the named field as a stream of uninterpreted bytes in from of a java.io.InputStream object.
    `byte` | `getByte(int index)` Returns the value of the i'th field as a byte.
    `byte` | `getByte(String fieldName)` Returns the value of the named field as a byte.
    `byte[]` | `getByteArray(int index)` Returns the value of the i'th field as a byte array.
    `byte[]` | `getByteArray(String fieldName)` Returns the value of the named field as a byte array.
    `char` | `getChar(int index)` Returns the value of the i'th field as a char.
    `char` | `getChar(String fieldName)` Returns the value of the named field as a char.
    `Reader` | `getCharacterStream(int index)` Returns the value of the i'th field as a java.io.Reader object.
    `Reader` | `getCharacterStream(String fieldName)` Returns the value of the named field as a stream of characters in form of a java.io.Reader object.
    `char[]` | `getCharArray(int index)` Returns the value of the i'th field as a char array.
    `char[]` | `getCharArray(String fieldName)` Returns the value of the named field as a char array.
    `String` | `getClassNameOfValue(String fieldName)` Returns the fully-qualified name of the Java class whose instances are manufactured if the methods `getValue(int index)` or `getValue(String fieldName)` are called to retrieve a value from the field.
    `Date` | `getDate(int index)` Returns the value of the i'th field as a Date object.
    `Date` | `getDate(String fieldName)` Returns the value of the named field as a Date object.
    `double` | `getDouble(int index)` Returns the value of the i'th field as a double.
    `double` | `getDouble(String fieldName)` Returns the value of the named field as a double.
    `JCoField` | `getField(int index)` Returns the i'th field.
    `JCoField` | `getField(String fieldName)` Returns the named field.
    `int` | `getFieldCount()` Returns the number of fields in this container.
    `JCoFieldIterator` | `getFieldIterator()` Returns a JCoFieldIterator.
    `float` | `getFloat(int index)` Returns the value of the i'th field as a float.
    `float` | `getFloat(String fieldName)` Returns the value of the named field as a float.
    `int` | `getInt(int index)` Returns the value of the i'th field as an integer.
    `int` | `getInt(String fieldName)` Returns the value of the named field as an integer.
    `long` | `getLong(int index)` Returns the value of the i'th field as a long.
    `long` | `getLong(String fieldName)` Returns the value of the named field as a long.
    `JCoMetaData` | `getMetaData()` Returns the appropriated metadata object that was used for creation of this record.
    `short` | `getShort(int index)` Returns the value of the i'th field as a short.
    `short` | `getShort(String fieldName)` Returns the value of the named field as a short.
    `String` | `getString(int index)` Returns the value of the i'th field as a String.
    `String` | `getString(String fieldName)` Returns the value of the named field as a String object.
    `JCoStructure` | `getStructure(int index)` Returns the value of the i'th field as a JCoStructure.
    `JCoStructure` | `getStructure(String fieldName)` Returns the value of the named field as a JCoStructure object.
    `JCoTable` | `getTable(int index)` Returns the value of the i'th field as a table.
    `JCoTable` | `getTable(String fieldName)` Returns the value of the named field as a JCoTable object.
    `Date` | `getTime(int index)` Returns the value of the i'th field as a date.
    `Date` | `getTime(String fieldName)` Returns the value of the named field as a Date object.
    `Object` | `getValue(int index)` Generic method that returns the value of the i'th field as an object.
    `Object` | `getValue(String fieldName)` Returns the value of the named field as an object.
    `boolean` | `isInitialized(int index)` Checks whether this field has been initialized.
    `boolean` | `isInitialized(String fieldName)` Checks whether this field has been initialized.
    `Iterator<JCoField>` | `iterator()` Returns an Iterator.
    `void` | `setValue(int index, BigDecimal value)` Sets the BigDecimal as the value for the i'th field.
    `void` | `setValue(int index, byte value)` Sets the byte as the value for the i'th field.
    `void` | `setValue(int index, byte[] value)` Sets the byte array as the value for the i'th field.
    `void` | `setValue(int index, char value)` Sets the specified character as the field's value.
    `void` | `setValue(int index, char[] value)` Sets the specified character array as the field's value.
    `void` | `setValue(int index, char[] value, int from, int length)` Sets a sequence of characters from the specified character array as the field's value.
    `void` | `setValue(int index, double value)` Sets the double as the value for the i'th field.
    `void` | `setValue(int index, float value)` Sets the float as the value for the i'th field.
    `void` | `setValue(int index, int value)` Sets the int as the value for the i'th field.
    `void` | `setValue(int index, JCoAbapObject abapObject)` Sets the value of the specified field to be the given `JCoAbapObject`.
    `void` | `setValue(int index, JCoStructure value)` Sets the structure as the value for the i'th field.
    `void` | `setValue(int index, JCoTable value)` Sets the table as the value for the i'th field.
    `void` | `setValue(int index, long value)` Sets the long as the value for the i'th field.
    `void` | `setValue(int index, Object value)` Sets the object as the value for the i'th field.
    `void` | `setValue(int index, short value)` Sets the short as the value for the i'th field.
    `void` | `setValue(int index, String value)` Sets the specified string as the field's value.
    `void` | `setValue(String name, BigDecimal value)` Sets the BigDecimal as the value for the named field.
    `void` | `setValue(String name, byte value)` Sets the byte as the value for the named field.
    `void` | `setValue(String name, byte[] value)` Sets the byte array as the value for the named field.
    `void` | `setValue(String name, char value)` Sets the character as the value for the named field.
    `void` | `setValue(String name, char[] value)` Sets the specified character array as the value for the named field.
    `void` | `setValue(String name, char[] value, int from, int length)` Sets a sequence of characters from the specified character array as the value for the named field.
    `void` | `setValue(String name, double value)` Sets the double as the value for the named field.
    `void` | `setValue(String name, float value)` Sets the float as the value for the named field.
    `void` | `setValue(String name, int value)` Sets the int as the value for the named field.
    `void` | `setValue(String fieldName, JCoAbapObject abapObject)` Sets the value of the specified field to be the given `JCoAbapObject`.
    `void` | `setValue(String name, JCoStructure value)` Sets the structure as the value for the named field.
    `void` | `setValue(String name, JCoTable value)` Sets the table as the value for the named field.
    `void` | `setValue(String name, long value)` Sets the long as the value for the named field.
    `void` | `setValue(String name, Object value)` Sets the object as the value for the named field.
    `void` | `setValue(String name, short value)` Sets the short as the value for the named field.
    `void` | `setValue(String name, String value)` Sets the string as the value for the named field.
    `String` | `toJSON()` Returns the whole record in a JSON representation.
    `void` | `toJSON(Writer writer)` Serializes the whole record in a JSON representation to a Writer.
    `String` | `toXML()` Returns the whole record in XML format.
    `String` | `toXML(int index)` Returns the value of the i'th field as an XML string.
    `String` | `toXML(String fieldName)` Returns the value of the named field as an XML string.
    `Writer` | `write(int index, Writer writer)` Writes the field specified by the index to the provided Writer.
    `Writer` | `write(String fieldName, Writer writer)` Writes the named field to the provided Writer.

- - ### Method Detail

    - #### getMetaData

          JCoMetaData getMetaData()

      Returns the appropriated metadata object that was used for creation of this record.
      Returns:
        JCoMetaData instance of the appropriated metadata object

    - #### clear

          void clear()

      Clears the record and resets everything to its initial state.

    - #### clone

          Object clone()

      Clones the record instance.
      Returns:
        a cloned instance of JCorecord

    - #### copyFrom

          int copyFrom(JCoRecord source)

      Copies the matching fields from the source record into this record. Data fields are considered to be equivalent if the name and type of two fields match. The data will be copied and converted as best as can, i.e. strings will be cut off if the source field is longer than the destination field, or they will be filled with spaces if the source is shorter than the destination, etc. If a single conversion fails, the whole copy operation will fail and the record will be left untouched. If the JCoRecord is a JCoTable, then the data from the source will be appended. This means that, if the source is a JCoStructure a single row will be appended to the end of the JCoTable, and if the source is a JCoTable all its rows will be appended to the end of the JCoTable.
      If the JCoRecord is a JCoStructure or a JCoParameterList the data will be overwritten by the source. In case that the source is a JCoTable, the data is copied from the current row, i.e. the row the row pointer points to.
      Parameters:
        `source` - the source record from which to copy the data
      Returns:
        the number of matching fields (columns)
      Throws:
        `JCoRuntimeException` - if something went wrong

    - #### getFieldCount

          int getFieldCount()

      Returns the number of fields in this container.
      Returns:
        the number of fields

    - #### getField

          JCoField getField(int index)

      Returns the i'th field.
      Parameters:
        `index` - the index of the field
      Returns:
        the field for the given index
      Since:
        JCo 3.1.0

    - #### getField

          JCoField getField(String fieldName)

      Returns the named field.
      Parameters:
        `fieldName` - the name of the field
      Returns:
        the field with the given name
      Since:
        JCo 3.1.0

    - #### getValue

          Object getValue(int index)

      Generic method that returns the value of the i'th field as an object.
      Depending on the type of the field the method returns the following object:

      Field datatype | Object
      --- | ---
      JCoMetaData.TYPE_CHAR | java.lang.String
      JCoMetaData.TYPE_INT1 | java.lang.Integer
      JCoMetaData.TYPE_INT2 | java.lang.Integer
      JCoMetaData.TYPE_INT | java.lang.Integer
      JCoMetaData.TYPE_INT8 | java.lang.Long
      JCoMetaData.TYPE_NUM | java.lang.String
      JCoMetaData.TYPE_BCD | java.math.BigDecimal
      JCoMetaData.TYPE_FLOAT | java.lang.Double
      JCoMetaData.TYPE_BYTE | byte[]
      JCoMetaData.TYPE_UTCLONG | java.lang.String
      JCoMetaData.TYPE_DATE | java.util.Date
      JCoMetaData.TYPE_TIME | java.util.Date
      JCoMetaData.TYPE_STRING | java.lang.String
      JCoMetaData.TYPE_XSTRING | byte[]
      JCoMetaData.TYPE_DECF16 | java.math.BigDecimal
      JCoMetaData.TYPE_DECF34 | java.math.BigDecimal
      JCoMetaData.TYPE_STRUCTURE | com.sap.conn.jco.JCoStructure
      JCoMetaData.TYPE_TABLE | com.sap.conn.jco.JCoTable
      JCoMetaData.TYPE_ABAPOBJECT | com.sap.conn.jco.JCoAbapObject

      Parameters:
        `index` - the field index
      Returns:
        the value of the specified field
      Throws:
        `ConversionException` - thrown if the value could not be converted to an object
        `IndexOutOfBoundsException` - thrown if the index is out of range

    - #### getValue

          Object getValue(String fieldName)

      Returns the value of the named field as an object.
      Depending on the type of the field the method returns the following object:

      Field datatype | Object
      --- | ---
      JCoMetaData.TYPE_CHAR | java.lang.String
      JCoMetaData.TYPE_INT1 | java.lang.Integer
      JCoMetaData.TYPE_INT2 | java.lang.Integer
      JCoMetaData.TYPE_INT | java.lang.Integer
      JCoMetaData.TYPE_INT8 | java.lang.Long
      JCoMetaData.TYPE_NUM | java.lang.String
      JCoMetaData.TYPE_BCD | java.math.BigDecimal
      JCoMetaData.TYPE_FLOAT | java.lang.Double
      JCoMetaData.TYPE_BYTE | byte[]
      JCoMetaData.TYPE_UTCLONG | java.lang.String
      JCoMetaData.TYPE_DATE | java.util.Date
      JCoMetaData.TYPE_TIME | java.util.Date
      JCoMetaData.TYPE_STRING | java.lang.String
      JCoMetaData.TYPE_XSTRING | byte[]
      JCoMetaData.TYPE_DECF16 | java.math.BigDecimal
      JCoMetaData.TYPE_DECF34 | java.math.BigDecimal
      JCoMetaData.TYPE_STRUCTURE | com.sap.conn.jco.JCoStructure
      JCoMetaData.TYPE_TABLE | com.sap.conn.jco.JCoTable
      JCoMetaData.TYPE_ABAPOBJECT | com.sap.conn.jco.JCoAbapObject

      Parameters:
        `fieldName` - the name of the field
      Returns:
        the value of the specified field
      Throws:
        `ConversionException` - thrown if the value could not be converted to an object
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### getString

          String getString(int index)

      Returns the value of the i'th field as a String.

      Note: If the data type of the field is `TYPE_CHAR`, this method trims all trailing blanks from the returned string. For the data types `TYPE_DATE` and `TYPE_TIME` the returned date and time strings are formatted using the patterns `"yyyy-MM-dd"` and `"HH:mm:ss"`, respectively.

      Parameters:
        `index` - the index of the field
      Returns:
        the field's value as a String object
      Throws:
        `ConversionException` - thrown if the value could not be converted to a String
        `IndexOutOfBoundsException` - thrown if the index is out of range

    - #### getString

          String getString(String fieldName)

      Returns the value of the named field as a String object.

      Note: If the datatype of the field is `TYPE_CHAR`, this method trims all trailing blanks from the returned string. For the datatypes `TYPE_DATE` and `TYPE_TIME` the returned date and time strings are formatted using the patterns `"yyyy-MM-dd"` and `"HH:mm:ss"`, respectively.

      Parameters:
        `fieldName` - the name of the field
      Returns:
        the value of the specified field
      Throws:
        `ConversionException` - thrown if the value could not be converted to a String
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### getChar

          char getChar(int index)

      Returns the value of the i'th field as a char.
      Parameters:
        `index` - the index of the field
      Returns:
        the character of the field or `' '` if the field was empty.
      Throws:
        `ConversionException` - thrown if the value could not be converted to a char, i.e. if the underlying field contained more than one character
        `IndexOutOfBoundsException` - thrown if the index is out of range

    - #### getChar

          char getChar(String fieldName)

      Returns the value of the named field as a char.
      Parameters:
        `fieldName` - the name of the field
      Returns:
        the value of the specified field
      Throws:
        `ConversionException` - thrown if the value could not be converted to a char
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### getCharArray

          char[] getCharArray(int index)

      Returns the value of the i'th field as a char array.

      Note: In contrast to `getString(int index)` this method does not trim trailing blanks and it does not format date and time fields with `:` or `-` separator chars.

      Parameters:
        `index` - the field index
      Returns:
        the value of the specified field
      Throws:
        `ConversionException` - thrown if the value could not be converted to a char array
        `IndexOutOfBoundsException` - thrown if the index is out of range

    - #### getCharArray

          char[] getCharArray(String fieldName)

      Returns the value of the named field as a char array.

      Note: In contrast to `getString(String fieldName)` this method does not trim trailing blanks and it does not format date and time fields with `:` or `-` separator chars.

      Parameters:
        `fieldName` - the name of the field
      Returns:
        the field's value as a char array
      Throws:
        `ConversionException` - thrown if the value could not be converted to a byte[] array
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### getByte

          byte getByte(int index)

      Returns the value of the i'th field as a byte.
      Parameters:
        `index` - the index of the field
      Returns:
        the field's value as a byte
      Throws:
        `ConversionException` - thrown if the value could not be converted to a byte
        `IndexOutOfBoundsException` - thrown if the index is out of range

    - #### getByte

          byte getByte(String fieldName)

      Returns the value of the named field as a byte.
      Parameters:
        `fieldName` - the name of the field
      Returns:
        the value of the specified field
      Throws:
        `ConversionException` - thrown if the value could not be converted to a byte
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### getByteArray

          byte[] getByteArray(int index)

      Returns the value of the i'th field as a byte array.
      Parameters:
        `index` - the field index
      Returns:
        the value of the specified field
      Throws:
        `ConversionException` - thrown if the value could not be converted to a byte array
        `IndexOutOfBoundsException` - thrown if the index is out of range

    - #### getByteArray

          byte[] getByteArray(String fieldName)

      Returns the value of the named field as a byte array.
      Parameters:
        `fieldName` - the name of the field
      Returns:
        the field's value as a byte array
      Throws:
        `ConversionException` - thrown if the value could not be converted to a byte array
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### getShort

          short getShort(int index)

      Returns the value of the i'th field as a short.
      Parameters:
        `index` - the index of the field
      Returns:
        the field's value as a short
      Throws:
        `ConversionException` - thrown if the value could not be converted to a short

    - #### getShort

          short getShort(String fieldName)

      Returns the value of the named field as a short.
      Parameters:
        `fieldName` - the name of the field
      Returns:
        the value of the specified field
      Throws:
        `ConversionException` - thrown if the value could not be converted to a short
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### getInt

          int getInt(int index)

      Returns the value of the i'th field as an integer.
      Parameters:
        `index` - the index of the field
      Returns:
        the field's value as an integer
      Throws:
        `ConversionException` - thrown if the value could not be converted to an int

    - #### getInt

          int getInt(String fieldName)

      Returns the value of the named field as an integer.
      Parameters:
        `fieldName` - the name of the field
      Returns:
        the value of the specified field
      Throws:
        `ConversionException` - thrown if the value could not be converted to an int
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### getLong

          long getLong(int index)

      Returns the value of the i'th field as a long.
      Parameters:
        `index` - the index of the field
      Returns:
        the field's value as a long
      Throws:
        `ConversionException` - thrown if the value could not be converted to an long
        `IndexOutOfBoundsException` - thrown if the index is out of range

    - #### getLong

          long getLong(String fieldName)

      Returns the value of the named field as a long.
      Parameters:
        `fieldName` - the name of the field
      Returns:
        the value of the specified field
      Throws:
        `ConversionException` - thrown if the value could not be converted to a long
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### getFloat

          float getFloat(int index)

      Returns the value of the i'th field as a float. Please use setValue(float value, ...) and getFloat(...) methods only if you operate with float values. Double value converted to float and back to double may also differ from original value. Please also don't mix those methods, because i.e. setting your values with setValue(float value, ...) and getting them using getDouble(...) may return not the same value.
      Parameters:
        `index` - the index of the field
      Returns:
        the field's value as a float
      Throws:
        `ConversionException` - thrown if the value could not be converted to a float

    - #### getFloat

          float getFloat(String fieldName)

      Returns the value of the named field as a float. Please use setValue(float value, ...) and getFloat(...) methods only if you operate with float values. Double value converted to float and back to double may also differ from original value. Please also don't mix those methods, because i.e. setting your values with setValue(float value, ...) and getting them using getDouble(...) may return not the same value.
      Parameters:
        `fieldName` - the name of the field
      Returns:
        the value of the specified field
      Throws:
        `ConversionException` - thrown if the value could not be converted to a float
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### getDouble

          double getDouble(int index)

      Returns the value of the i'th field as a double.
      Parameters:
        `index` - the index of the field
      Returns:
        the field's value as a double
      Throws:
        `ConversionException` - thrown if the value could not be converted to a double
        `IndexOutOfBoundsException` - thrown if the index is out of range

    - #### getDouble

          double getDouble(String fieldName)

      Returns the value of the named field as a double.
      Parameters:
        `fieldName` - the name of the field
      Returns:
        the value of the specified field
      Throws:
        `ConversionException` - thrown if the value could not be converted to a double
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### getBigInteger

          BigInteger getBigInteger(int index)

      Returns the value of the i'th field as a BigInteger object.
      Parameters:
        `index` - the index of the field
      Returns:
        the field's value as a BigInteger object
      Throws:
        `ConversionException` - thrown if the value could not be converted to a BigInteger
        `IndexOutOfBoundsException` - thrown if the index is out of range

    - #### getBigInteger

          BigInteger getBigInteger(String fieldName)

      Returns the value of the i'th field as a BigInteger object.
      Parameters:
        `fieldName` - the name of the field
      Returns:
        the field's value as a BigInteger object
      Throws:
        `ConversionException` - thrown if the value could not be converted to a BigInteger
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### getBigDecimal

          BigDecimal getBigDecimal(int index)

      Returns the value of the i'th field as a BigDecimal object.
      Parameters:
        `index` - the index of the field
      Returns:
        the field's value as a BigDecimal object
      Throws:
        `ConversionException` - thrown if the value could not be converted to a BigDecimal
        `IndexOutOfBoundsException` - thrown if the index is out of range

    - #### getBigDecimal

          BigDecimal getBigDecimal(String fieldName)

      Returns the value of the i'th field as a BigDecimal object.
      Parameters:
        `fieldName` - the name of the field
      Returns:
        the field's value as a BigDecimal object
      Throws:
        `ConversionException` - thrown if the value could not be converted to a BigDecimal
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### getDate

          Date getDate(int index)

      Returns the value of the i'th field as a Date object.
      Parameters:
        `index` - the index of the field
      Returns:
        the field's value as a Date object
      Throws:
        `ConversionException` - thrown if the value could not be converted to a Date
        `IndexOutOfBoundsException` - thrown if the index is out of range

    - #### getDate

          Date getDate(String fieldName)

      Returns the value of the named field as a Date object.
      Parameters:
        `fieldName` - the name of the field
      Returns:
        the value of the specified field
      Throws:
        `ConversionException` - thrown if the value could not be converted to a Date
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### getTime

          Date getTime(int index)

      Returns the value of the i'th field as a date.
      Parameters:
        `index` - the index of the field
      Returns:
        the field's value as a Date object
      Throws:
        `ConversionException` - thrown if the value could not be converted to a Date
        `IndexOutOfBoundsException` - thrown if the index is out of range

    - #### getTime

          Date getTime(String fieldName)

      Returns the value of the named field as a Date object.
      Parameters:
        `fieldName` - the name of the field
      Returns:
        the value of the specified field
      Throws:
        `ConversionException` - thrown if the value could not be converted to a Date
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### getBinaryStream

          InputStream getBinaryStream(int index)

      Returns the value of the i'th field as a stream of uninterpreted bytes, in form of a java.io.InputStream object.
      Parameters:
        `index` - the index of the field
      Returns:
        the field's value as an InputStream
      Throws:
        `ConversionException` - thrown if the value could not be converted to a java.io.InputStream
        `IndexOutOfBoundsException` - thrown if the index is out of range

    - #### getBinaryStream

          InputStream getBinaryStream(String fieldName)

      Returns the value of the named field as a stream of uninterpreted bytes in from of a java.io.InputStream object.
      Parameters:
        `fieldName` - the name of the field
      Returns:
        the field's value as a java.io.InputStream
      Throws:
        `ConversionException` - thrown if the value could not be converted to a java.io.InputStream
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### getCharacterStream

          Reader getCharacterStream(int index)

      Returns the value of the i'th field as a java.io.Reader object.
      Parameters:
        `index` - the index of the field
      Returns:
        the field's value as a java.io.Reader
      Throws:
        `ConversionException` - thrown if the value could not be converted to a java.io.Reader
        `IndexOutOfBoundsException` - thrown if the index is out of range

    - #### getCharacterStream

          Reader getCharacterStream(String fieldName)

      Returns the value of the named field as a stream of characters in form of a java.io.Reader object.
      Parameters:
        `fieldName` - the name of the field
      Returns:
        the field's value as a java.io.Reader
      Throws:
        `ConversionException` - thrown if the value could not be converted to a java.io.Reader
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### getStructure

          JCoStructure getStructure(int index)

      Returns the value of the i'th field as a JCoStructure.
      Parameters:
        `index` - the index of the field
      Returns:
        the field's value as a JCoStructure
      Throws:
        `ConversionException` - thrown if the value could not be converted to a JCoStructure
        `IndexOutOfBoundsException` - thrown if the index is out of range
      See Also:
        `JCoStructure`

    - #### getStructure

          JCoStructure getStructure(String fieldName)

      Returns the value of the named field as a JCoStructure object.
      Parameters:
        `fieldName` - the name of the field
      Returns:
        the value of the specified field
      Throws:
        `ConversionException` - thrown if the value could not be converted to a JCoStructure
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### getTable

          JCoTable getTable(int index)

      Returns the value of the i'th field as a table.
      Parameters:
        `index` - the index of the field
      Returns:
        the field's value as a JCoTable
      Throws:
        `ConversionException` - thrown if the value could not be converted to a JCoTable
        `IndexOutOfBoundsException` - thrown if the index is out of range
      See Also:
        `JCoTable`

    - #### getTable

          JCoTable getTable(String fieldName)

      Returns the value of the named field as a JCoTable object.
      Parameters:
        `fieldName` - the name of the field
      Returns:
        the value of the specified field
      Throws:
        `ConversionException` - thrown if the value could not be converted to a JCoTable
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### getAbapObject

          JCoAbapObject getAbapObject(int index)

      Returns the value of the specified field as a `JCoAbapObject`.
      Parameters:
        `index` - the index of the field
      Returns:
        the value of the field as a `JCoAbapObject`

    - #### getAbapObject

          JCoAbapObject getAbapObject(String fieldName)

      Returns the value of the specified field as a `JCoAbapObject`.
      Parameters:
        `fieldName` - the name of the field
      Returns:
        the value of the field as a `JCoAbapObject`

    - #### getClassNameOfValue

          String getClassNameOfValue(String fieldName)

      Returns the fully-qualified name of the Java class whose instances are manufactured if the methods `getValue(int index)` or `getValue(String fieldName)` are called to retrieve a value from the field.
      Parameters:
        `fieldName` - the name of the field
      Returns:
        the fully-qualified class name of the value object
      Throws:
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### setValue

          void setValue(int index,
                      String value)

      Sets the specified string as the field's value. To set a value back to its initial type specific content pass `""`, i.e. an empty string, or `null`.
      Parameters:
        `value` - the value to set for the field
        `index` - the index of the field
      Throws:
        `ConversionException` - thrown if the value could not be converted to its internal representation

    - #### setValue

          void setValue(String name,
                      String value)

      Sets the string as the value for the named field. To set a value back to its initial type specific setting pass `""`, i.e. an empty string, or `null`
      Parameters:
        `value` - the value to set for the field
        `name` - the name of the field to set
      Throws:
        `ConversionException` - thrown if the value could not be converted to its internal representation
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### setValue

          void setValue(int index,
                      char value)

      Sets the specified character as the field's value.
      Parameters:
        `value` - the value to set for the field
        `index` - the index of the field
      Throws:
        `IndexOutOfBoundsException` - thrown if the index is out of range

    - #### setValue

          void setValue(String name,
                      char value)

      Sets the character as the value for the named field.
      Parameters:
        `value` - the value to set for the field
        `name` - the name of the field to set
      Throws:
        `ConversionException` - thrown if the value could not be converted to its internal representation
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### setValue

          void setValue(int index,
                      char[] value)

      Sets the specified character array as the field's value.
      Parameters:
        `value` - the value to set for the field
        `index` - the index of the field
      Throws:
        `ConversionException` - thrown if the value could not be converted to its internal representation
        `IndexOutOfBoundsException` - thrown if the index is out of range

    - #### setValue

          void setValue(String name,
                      char[] value)

      Sets the specified character array as the value for the named field.
      Parameters:
        `value` - the value to set for the field
        `name` - the name of the field to set
      Throws:
        `ConversionException` - thrown if the value could not be converted to its internal representation
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### setValue

          void setValue(int index,
                      char[] value,
                      int from,
                      int length)

      Sets a sequence of characters from the specified character array as the field's value.
      Parameters:
        `value` - the array to copy the character sequence from for setting the field
        `from` - index of the first character in the char[] to copy from
        `length` - the number of characters to copy
        `index` - the index of the field
      Throws:
        `ConversionException` - thrown if the value could not be converted to its internal representation
        `IndexOutOfBoundsException` - thrown if the index is out of range

    - #### setValue

          void setValue(String name,
                      char[] value,
                      int from,
                      int length)

      Sets a sequence of characters from the specified character array as the value for the named field.
      Parameters:
        `value` - the array to copy the character sequence from for setting the field
        `name` - the name of the field to set
        `from` - index of the first character in the char[] to copy from
        `length` - the number of characters to copy
      Throws:
        `ConversionException` - thrown if the value could not be converted to its internal representation
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### setValue

          void setValue(int index,
                      short value)

      Sets the short as the value for the i'th field.
      Parameters:
        `value` - the value to set for the field
        `index` - the index of the field
      Throws:
        `ConversionException` - thrown if the value could not be converted to its internal representation
        `IndexOutOfBoundsException` - thrown if the index is out of range

    - #### setValue

          void setValue(String name,
                      short value)

      Sets the short as the value for the named field.
      Parameters:
        `value` - the value to set for the field
        `name` - the name of the field to set
      Throws:
        `ConversionException` - thrown if the value could not be converted to its internal representation
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### setValue

          void setValue(int index,
                      int value)

      Sets the int as the value for the i'th field.
      Parameters:
        `value` - the value to set for the field
        `index` - the index of the field
      Throws:
        `ConversionException` - thrown if the value could not be converted to its internal representation
        `IndexOutOfBoundsException` - thrown if the index is out of range

    - #### setValue

          void setValue(String name,
                      int value)

      Sets the int as the value for the named field.
      Parameters:
        `value` - the value to set for the field
        `name` - the name of the field to set
      Throws:
        `ConversionException` - thrown if the value could not be converted to its internal representation
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### setValue

          void setValue(int index,
                      long value)

      Sets the long as the value for the i'th field.
      Parameters:
        `value` - the value to set for the field
        `index` - the index of the field
      Throws:
        `ConversionException` - thrown if the value could not be converted to its internal representation
        `IndexOutOfBoundsException` - thrown if the index is out of range

    - #### setValue

          void setValue(String name,
                      long value)

      Sets the long as the value for the named field.
      Parameters:
        `value` - the value to set for the field
        `name` - the name of the field to set
      Throws:
        `ConversionException` - thrown if the value could not be converted to its internal representation
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### setValue

          void setValue(int index,
                      float value)

      Sets the float as the value for the i'th field. Please use setValue(float value, ...) and getFloat(...) methods only if you operate with float values. A double value converted to float and back to double may differ from the original value. Please also don't mix those methods, because e.g. setting your values with setValue(float value, ...) and getting them using getDouble(...) may not return the same value.
      Parameters:
        `value` - the value to set for the field
        `index` - the index of the field
      Throws:
        `ConversionException` - thrown if the value could not be converted to its internal representation
        `IndexOutOfBoundsException` - thrown if the index is out of range

    - #### setValue

          void setValue(String name,
                      float value)

      Sets the float as the value for the named field. Please use setValue(float value, ...) and getFloat(...) methods only if you operate with float values. A double value converted to float and back to double may also differ from original value. Please also don't mix those methods, because e.g. setting your values with setValue(float value, ...) and getting them using getDouble(...) may not return the same value.
      Parameters:
        `value` - the value to set for the field
        `name` - the name of the field to set
      Throws:
        `ConversionException` - thrown if the value could not be converted to its internal representation
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### setValue

          void setValue(int index,
                      double value)

      Sets the double as the value for the i'th field.
      Parameters:
        `value` - the value to set for the field
        `index` - the index of the field
      Throws:
        `ConversionException` - thrown if the value could not be converted to its internal representation
        `IndexOutOfBoundsException` - thrown if the index is out of range

    - #### setValue

          void setValue(String name,
                      double value)

      Sets the double as the value for the named field.
      Parameters:
        `value` - the value to set for the field
        `name` - the name of the field to set
      Throws:
        `ConversionException` - thrown if the value could not be converted to its internal representation
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### setValue

          void setValue(int index,
                      byte value)

      Sets the byte as the value for the i'th field.
      Parameters:
        `value` - the value to set for the field
        `index` - the index of the field
      Throws:
        `ConversionException` - thrown if the value could not be converted to its internal representation
        `IndexOutOfBoundsException` - thrown if the index is out of range

    - #### setValue

          void setValue(String name,
                      byte value)

      Sets the byte as the value for the named field.
      Parameters:
        `value` - the value to set for the field
        `name` - the name of the field to set
      Throws:
        `ConversionException` - thrown if the value could not be converted to its internal representation
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### setValue

          void setValue(int index,
                      byte[] value)

      Sets the byte array as the value for the i'th field.
      Parameters:
        `value` - the value to set for the field
        `index` - the index of the field
      Throws:
        `ConversionException` - thrown if the value could not be converted to its internal representation
        `IndexOutOfBoundsException` - thrown if the index is out of range

    - #### setValue

          void setValue(String name,
                      byte[] value)

      Sets the byte array as the value for the named field.
      Parameters:
        `value` - the value to set for the field
        `name` - the name of the field to set
      Throws:
        `ConversionException` - thrown if the value could not be converted to its internal representation
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### setValue

          void setValue(int index,
                      BigDecimal value)

      Sets the BigDecimal as the value for the i'th field.
      Parameters:
        `value` - the value to set for the field
        `index` - the index of the field
      Throws:
        `ConversionException` - thrown if the value could not be converted to its internal representation
        `IndexOutOfBoundsException` - thrown if the index is out of range

    - #### setValue

          void setValue(String name,
                      BigDecimal value)

      Sets the BigDecimal as the value for the named field.
      Parameters:
        `value` - the value to set for the field
        `name` - the name of the field to set
      Throws:
        `ConversionException` - thrown if the value could not be converted to its internal representation
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### setValue

          void setValue(int index,
                      JCoStructure value)

      Sets the structure as the value for the i'th field.
      Parameters:
        `value` - the value to set for the field
        `index` - the index of the field
      Throws:
        `ConversionException` - thrown if the value could not be converted to its internal representation
        `IndexOutOfBoundsException` - thrown if the index is out of range

    - #### setValue

          void setValue(String name,
                      JCoStructure value)

      Sets the structure as the value for the named field.
      Parameters:
        `value` - the value to set for the field
        `name` - the name of the field to set
      Throws:
        `ConversionException` - thrown if the value could not be converted to its internal representation
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### setValue

          void setValue(int index,
                      JCoTable value)

      Sets the table as the value for the i'th field.
      Parameters:
        `value` - the value to set for the field
        `index` - the index of the field
      Throws:
        `ConversionException` - thrown if the value could not be converted to its internal representation
        `IndexOutOfBoundsException` - thrown if the index is out of range

    - #### setValue

          void setValue(String name,
                      JCoTable value)

      Sets the table as the value for the named field.
      Parameters:
        `value` - the value to set for the field
        `name` - the name of the field to set
      Throws:
        `ConversionException` - thrown if the value could not be converted to its internal representation
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### setValue

          void setValue(int index,
                      JCoAbapObject abapObject)

      Sets the value of the specified field to be the given `JCoAbapObject`.
      Parameters:
        `index` - the index of the field
        `abapObject` - the value, a `JCoAbapObject`

    - #### setValue

          void setValue(String fieldName,
                      JCoAbapObject abapObject)

      Sets the value of the specified field to be the given `JCoAbapObject`.
      Parameters:
        `fieldName` - the name of the field
        `abapObject` - the value, a `JCoAbapObject`

    - #### setValue

          void setValue(int index,
                      Object value)

      Sets the object as the value for the i'th field.
      Parameters:
        `value` - the value to set for the field
        `index` - the index of the field
      Throws:
        `ConversionException` - thrown if the value could not be converted to its internal representation
        `IndexOutOfBoundsException` - thrown if the index is out of range

    - #### setValue

          void setValue(String name,
                      Object value)

      Sets the object as the value for the named field.
      Parameters:
        `value` - the value to set for the field
        `name` - the name of the field to set
      Throws:
        `ConversionException` - thrown if the value could not be converted to its internal representation
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### isInitialized

          boolean isInitialized(int index)

      Checks whether this field has been initialized.
      Parameters:
        `index` - of field that will be checked
      Returns:
        true if the field has been initialized, `false` otherwise
      Throws:
        `IndexOutOfBoundsException` - thrown if the index is out of range

    - #### isInitialized

          boolean isInitialized(String fieldName)

      Checks whether this field has been initialized.
      Parameters:
        `fieldName` - of field that will be checked
      Returns:
        true if the field has been initialized, `false` otherwise
      Throws:
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### toXML

          String toXML(int index)

      Returns the value of the i'th field as an XML string.
      Parameters:
        `index` - the index of the field
      Returns:
        the field of the record in XML format
      Throws:
        `ConversionException` - thrown if the value could not be converted to a String
        `IndexOutOfBoundsException` - thrown if the index is out of range

    - #### toXML

          String toXML(String fieldName)

      Returns the value of the named field as an XML string.

      Parameters:
        `fieldName` - the name of the field
      Returns:
        the field of the record in XML format
      Throws:
        `ConversionException` - thrown if the value could not be converted to a String
        `JCoRuntimeException` - thrown with group JCO_ERROR_FIELD_NOT_FOUND if a field with the specified name does not exist

    - #### toXML

          String toXML()

      Returns the whole record in XML format. Its format is depending on the used interface implementation, and is not guaranteed to remain stable. This method is meant to be used as a more powerful toString() variant, which allows to view the record within XML viewing tools, and thus making it easier to have a closer look at single parameter values. It is not supposed to be used in productive scenarios.
      Returns:
        the record in XML format
      Throws:
        `ConversionException` - thrown if the value could not be converted to a String

    - #### toJSON

          String toJSON()

      Returns the whole record in a JSON representation.

      The format is the one as produced by a Simple Transformation for the corresponding data type in ABAP.

      Returns:
        the record in as JSON representation
      Since:
        JCo 3.1.0

    - #### toJSON

          void toJSON(Writer writer)
                      throws IOException

      Serializes the whole record in a JSON representation to a Writer.

      Note: JCo will not close the writer. The format is the one as produced by a Simple Transformation for the corresponding data type in ABAP.

      Parameters:
        `writer` - a writer instance to which the document is written
      Throws:
        `IOException` - if the underlying writer throws an IOException
      Since:
        JCo 3.1.0

    - #### fromJSON

          void fromJSON(Reader reader)

      Deserializes all values from a given JSON representation into the fields of the `JCoRecord` from a Reader.

      Note: JCo will not close the reader.

      Parameters:
        `reader` - Reader to read the values from.
      Since:
        JCo 3.1.0

    - #### fromJSON

          void fromJSON(String data)

      Deserializes all values from a given JSON representation into the fields of the `JCoRecord`.
      Parameters:
        `data` - the input JSON as a String
      Since:
        JCo 3.1.0

    - #### write

          Writer write(int index,
                     Writer writer)
                       throws IOException

      Writes the field specified by the index to the provided Writer.
      The method writes out the internal char array representation avoiding temporary objects. The output depends on the field type:

      Field data type | Output to the Writer instance
      --- | ---
      `JCoMetaData.TYPE_CHAR` | char buffer without trailing spaces
      `JCoMetaData.TYPE_DATE` | chars in format yyyyMMdd
      `JCoMetaData.TYPE_TIME` | chars in format HHmmss
      `JCoMetaData.TYPE_UTCLONG` | chars in format yyyy-MM-ddTHH:mm:ss.SSSSSS
      `JCoMetaData.TYPE_NUM` | char buffer
      `JCoMetaData.TYPE_STRING` | string chars buffer
      `JCoMetaData.TYPE_XSTRING` | hexadecimal representation of the xstring byte buffer
      `JCoMetaData.TYPE_BYTE` | hexadecimal representation of the byte buffer
      `JCoMetaData.TYPE_BCD` | char based representation of the number
      `JCoMetaData.TYPE_FLOAT` | char based representation of the number
      `JCoMetaData.TYPE_INT1` | char based representation of the number
      `JCoMetaData.TYPE_INT2` | char based representation of the number
      `JCoMetaData.TYPE_INT` | char based representation of the number
      `JCoMetaData.TYPE_INT8` | char based representation of the number
      `JCoMetaData.TYPE_DECF16` | char based representation of the number
      `JCoMetaData.TYPE_DECF34` | char based representation of the number
      `JCoMetaData.TYPE_STRUCTURE` | not possible, exception will be thrown
      `JCoMetaData.TYPE_TABLE` | not possible, exception will be thrown
      `JCoMetaData.TYPE_ABAPOBJECT` | not possible, exception will be thrown

      Parameters:
        `index` - of the field that should be written to out
        `writer` - writer instance used to write
      Returns:
        the instance passed as parameter writer
      Throws:
        `ConversionException` - if the field is complex
        `JCoRuntimeException` - with the key JCoException.JCO_ERROR_FIELD_NOT_FOUND if the field with the name is not available
        `IOException` - if writer throws IOException
      Since:
        JCo 3.0.7

    - #### write

          Writer write(String fieldName,
                     Writer writer)
                       throws IOException

      Writes the named field to the provided Writer.
      The method writes out the internal char array representation avoiding temporary objects. The output depends on the field type:

      Field data type | Output to the Writer instance
      --- | ---
      `JCoMetaData.TYPE_CHAR` | char buffer without trailing spaces
      `JCoMetaData.TYPE_DATE` | chars in format yyyyMMdd
      `JCoMetaData.TYPE_TIME` | chars in format HHmmss
      `JCoMetaData.TYPE_UTCLONG` | chars in format yyyy-MM-ddTHH:mm:ss.SSSSSS
      `JCoMetaData.TYPE_NUM` | char buffer
      `JCoMetaData.TYPE_STRING` | string chars buffer
      `JCoMetaData.TYPE_XSTRING` | hexadecimal representation of the xstring byte buffer
      `JCoMetaData.TYPE_BYTE` | hexadecimal representation of the byte buffer
      `JCoMetaData.TYPE_BCD` | char based representation of the number
      `JCoMetaData.TYPE_FLOAT` | char based representation of the number
      `JCoMetaData.TYPE_INT1` | char based representation of the number
      `JCoMetaData.TYPE_INT2` | char based representation of the number
      `JCoMetaData.TYPE_INT` | char based representation of the number
      `JCoMetaData.TYPE_INT8` | char based representation of the number
      `JCoMetaData.TYPE_DECF16` | char based representation of the number
      `JCoMetaData.TYPE_DECF34` | char based representation of the number
      `JCoMetaData.TYPE_STRUCTURE` | not possible, exception will be thrown
      `JCoMetaData.TYPE_TABLE` | not possible, exception will be thrown
      `JCoMetaData.TYPE_ABAPOBJECT` | not possible, exception will be thrown

      Parameters:
        `fieldName` - name of the field
        `writer` - write that is used to write operation
      Returns:
        the instance passed as parameter writer
      Throws:
        `ConversionException` - if the field is complex
        `JCoRuntimeException` - with the key JCoException.JCO_ERROR_FIELD_NOT_FOUND if the field with the name is not available
        `IOException` - if writer throws IOException
      Since:
        JCo 3.0.7
      See Also:
        `write(int, Writer)`

    - #### iterator

          Iterator<JCoField> iterator()

      Returns an Iterator.

      Note: Method `remove()` is not supported.

      Specified by:
        `iterator` in interface `Iterable<JCoField>`
      Returns:
        an iterator over all fields of this container

    - #### getFieldIterator

          JCoFieldIterator getFieldIterator()

      Returns a JCoFieldIterator.
      Returns:
        an iterator over all fields of this container

Copyright © 2020 SAP. All Rights Reserved.