Package oracle.kv.table

# Interface PrimaryKey

All Superinterfaces:
  `Comparable<FieldValue>`, `FieldValue`, `RecordValue`, `Row`

public interface PrimaryKey extends Row
PrimaryKey is a specialization of Row to represent a primary key used to access records in a table using the `TableAPI`. It may contain all or part of a primary key for its associated table. If a PrimaryKey is partially filled the fields must be set in order of significance, as defined by the list returned by `getFields()`. If an attempt is made to set a field that is not part of the primary key IllegalArgumentException is thrown.

PrimaryKey objects are constructed using `createPrimaryKey`.

Since:
  3.0

- ## Method Summary

  Modifier and Type
  Method
  Description
  `PrimaryKey`
  `clone()`
  Returns a deep copy of this object.
  `List<String>`
  `getFields()`
  Deprecated.
  as of 4.2 Please use the equivalent getFieldNames() method.

  ### Methods inherited from interface java.lang.Comparable

  `compareTo`

  ### Methods inherited from interface oracle.kv.table.FieldValue

  `asArray, asBinary, asBoolean, asDouble, asEnum, asFixedBinary, asFloat, asIndexKey, asInteger, asLong, asMap, asNumber, asPrimaryKey, asRecord, asRow, asString, asTimestamp, getType, isArray, isAtomic, isBinary, isBoolean, isComplex, isDouble, isEMPTY, isEnum, isFixedBinary, isFloat, isIndexKey, isInteger, isJsonNull, isLong, isMap, isNull, isNumber, isNumeric, isPrimaryKey, isRecord, isRow, isString, isTimestamp, toJsonString`

  ### Methods inherited from interface oracle.kv.table.RecordValue

  `clear, contains, contains, copyFrom, get, get, getDefinition, getFieldName, getFieldNames, getFieldPos, isEmpty, put, put, put, put, put, put, put, put, put, put, put, put, put, put, put, put, put, put, putArray, putArray, putArray, putArray, putArray, putArray, putArrayAsJson, putArrayAsJson, putArrayAsJson, putArrayAsJson, putEnum, putEnum, putFixed, putFixed, putJson, putJson, putJson, putJson, putJsonNull, putJsonNull, putMap, putMap, putMap, putMap, putMapAsJson, putMapAsJson, putMapAsJson, putMapAsJson, putNull, putNull, putNumber, putNumber, putNumber, putNumber, putNumber, putNumber, putNumber, putNumber, putNumber, putNumber, putRecord, putRecord, putRecord, putRecord, putRecordAsJson, putRecordAsJson, putRecordAsJson, putRecordAsJson, remove, size, toString`

  ### Methods inherited from interface oracle.kv.table.Row

  `createPrimaryKey, equals, getExpirationTime, getLastModificationTime, getRowMetadata, getTable, getTableVersion, getTTL, getVersion, setRowMetadata, setTTL`

- ## Method Details

  - ### clone

    PrimaryKey clone()
    Returns a deep copy of this object.
    Specified by:
      `clone` in interface `FieldValue`
    Specified by:
      `clone` in interface `RecordValue`
    Specified by:
      `clone` in interface `Row`
    Returns:
      a deep copy of this object

  - ### getFields

    @Deprecated List<String> getFields()
    Deprecated.
    as of 4.2 Please use the equivalent getFieldNames() method.
    Returns an unmodifiable list of fields, in key order, that comprise this key. This method returns the same list as `Table.getPrimaryKey()` for this instance's Table.
    Specified by:
      `getFields` in interface `RecordValue`
    Returns:
      the fields
    Since:
      3.0.6