Class ORuntimeKeyIndexDefinition<T>

java.lang.Object
com.orientechnologies.orient.core.index.OAbstractIndexDefinition
com.orientechnologies.orient.core.index.ORuntimeKeyIndexDefinition<T>
All Implemented Interfaces:
OIndexCallback, OIndexDefinition

public class ORuntimeKeyIndexDefinition<T> extends OAbstractIndexDefinition
Index definition that use the serializer specified at run-time not based on type. This is useful to have custom type keys for indexes.
Author:
Luca Garulli (l.garulli--(at)--orientdb.com)
  • Constructor Details

    • ORuntimeKeyIndexDefinition

      public ORuntimeKeyIndexDefinition(byte iId)
    • ORuntimeKeyIndexDefinition

      public ORuntimeKeyIndexDefinition()
  • Method Details

    • getFields

      public List<String> getFields()
      Returns:
      Names of fields which given index is used to calculate key value. Order of fields is important.
    • getFieldsToIndex

      public List<String> getFieldsToIndex()
      Returns:
      Names of fields and their index modifiers (like "by value" for fields that hold Map values) which given index is used to calculate key value. Order of fields is important.
    • getClassName

      public String getClassName()
      Returns:
      Name of the class which this index belongs to.
    • createValue

      public Comparable<?> createValue(List<?> params)
      Description copied from interface: OIndexDefinition
      Calculates key value by passed in parameters.

      If it is impossible to calculate key value by given parameters null will be returned.

      Parameters:
      params - Parameters from which index key will be calculated.
      Returns:
      Key value or null if calculation is impossible.
    • createValue

      public Comparable<?> createValue(Object... params)
      Description copied from interface: OIndexDefinition
      Calculates key value by passed in parameters.

      If it is impossible to calculate key value by given parameters null will be returned.

      Parameters:
      params - Parameters from which index key will be calculated.
      Returns:
      Key value or null if calculation is impossible.
    • getParamCount

      public int getParamCount()
      Description copied from interface: OIndexDefinition
      Returns amount of parameters that are used to calculate key value. It does not mean that all parameters should be supplied. It only means that if you provide more parameters they will be ignored and will not participate in index key calculation.
      Returns:
      Amount of that are used to calculate key value. Call result should be equals to getTypes().length.
    • getTypes

      public OType[] getTypes()
      Description copied from interface: OIndexDefinition
      Return types of values from which index key consist. In case of index that is built on single document property value single array that contains property type will be returned. In case of composite indexes result will contain several key types.
      Returns:
      Types of values from which index key consist.
    • toStream

      public ODocument toStream()
      Description copied from interface: OIndexDefinition
      Serializes internal index state to document.
      Returns:
      Document that contains internal index state.
    • serializeToStream

      protected void serializeToStream()
      Overrides:
      serializeToStream in class OAbstractIndexDefinition
    • fromStream

      public void fromStream(ODocument document)
      Description copied from interface: OIndexDefinition
      Deserialize internal index state from document.
      Parameters:
      document - Serialized index presentation.
    • serializeFromStream

      protected void serializeFromStream()
      Overrides:
      serializeFromStream in class OAbstractIndexDefinition
    • getDocumentValueToIndex

      public Object getDocumentValueToIndex(ODocument iDocument)
    • equals

      public boolean equals(Object o)
      Description copied from interface: OIndexDefinition
      Specified by:
      equals in interface OIndexDefinition
      Overrides:
      equals in class OAbstractIndexDefinition
    • hashCode

      public int hashCode()
      Description copied from interface: OIndexDefinition
      Specified by:
      hashCode in interface OIndexDefinition
      Overrides:
      hashCode in class OAbstractIndexDefinition
    • toString

      public String toString()
      Description copied from interface: OIndexDefinition
      Specified by:
      toString in interface OIndexDefinition
      Overrides:
      toString in class Object
    • toCreateIndexDDL

      public String toCreateIndexDDL(String indexName, String indexType, String engine)
    • getSerializer

      public OBinarySerializer<T> getSerializer()
    • isAutomatic

      public boolean isAutomatic()