Class OCompositeIndexDefinition
java.lang.Object
com.orientechnologies.orient.core.index.OAbstractIndexDefinition
com.orientechnologies.orient.core.index.OCompositeIndexDefinition
- All Implemented Interfaces:
OIndexCallback,OIndexDefinition
Index that consist of several indexDefinitions like
OPropertyIndexDefinition.-
Field Summary
Fields inherited from class com.orientechnologies.orient.core.index.OAbstractIndexDefinition
document -
Constructor Summary
ConstructorsConstructorDescriptionOCompositeIndexDefinition(String iClassName) Constructor for new index creation.OCompositeIndexDefinition(String iClassName, List<? extends OIndexDefinition> iIndexes, int version) Constructor for new index creation. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddIndex(OIndexDefinition indexDefinition) Add new indexDefinition in current composite.createSingleValue(List<?> params) createValue(Object... params) Calculates key value by passed in parameters.createValue(List<?> params) Calculates key value by passed in parameters.booleanvoidfromStream(ODocument document) Deserialize internal index state from document.getDocumentValueToIndex(ODocument iDocument) intintReturns amount of parameters that are used to calculate key value.OType[]getTypes()Return types of values from which index key consist.inthashCode()booleanvoidprocessChangeEvent(OMultiValueChangeEvent<?, ?> changeEvent, Map<OCompositeKey, Integer> keysToAdd, Map<OCompositeKey, Integer> keysToRemove, Object... params) protected voidprotected voidvoidsetCollate(OCollate collate) toCreateIndexDDL(String indexName, String indexType, String engine) toStream()Serializes internal index state to document.toString()Methods inherited from class com.orientechnologies.orient.core.index.OAbstractIndexDefinition
isNullValuesIgnored, setCollate, setNullValuesIgnored
-
Constructor Details
-
OCompositeIndexDefinition
public OCompositeIndexDefinition() -
OCompositeIndexDefinition
Constructor for new index creation.- Parameters:
iClassName- - name of class which is owner of this index
-
OCompositeIndexDefinition
public OCompositeIndexDefinition(String iClassName, List<? extends OIndexDefinition> iIndexes, int version) Constructor for new index creation.- Parameters:
iClassName- - name of class which is owner of this indexiIndexes- List of indexDefinitions to add in given index.
-
-
Method Details
-
getClassName
- Returns:
- Name of the class which this index belongs to.
-
addIndex
Add new indexDefinition in current composite.- Parameters:
indexDefinition- Index to add.
-
getFields
- Returns:
- Names of fields which given index is used to calculate key value. Order of fields is important.
-
getFieldsToIndex
- Returns:
- Names of fields and their index modifiers (like "by value" for fields that hold
Mapvalues) which given index is used to calculate key value. Order of fields is important.
-
getDocumentValueToIndex
-
getMultiValueDefinitionIndex
public int getMultiValueDefinitionIndex() -
getMultiValueField
-
createValue
Calculates key value by passed in parameters.If it is impossible to calculate key value by given parameters
nullwill be returned.- Parameters:
params- Parameters from which index key will be calculated.- Returns:
- Key value or null if calculation is impossible.
-
getMultiValueDefinition
-
createSingleValue
-
createValue
Calculates key value by passed in parameters.If it is impossible to calculate key value by given parameters
nullwill be returned.- Parameters:
params- Parameters from which index key will be calculated.- Returns:
- Key value or null if calculation is impossible.
-
processChangeEvent
public void processChangeEvent(OMultiValueChangeEvent<?, ?> changeEvent, Map<OCompositeKey, Integer> keysToAdd, Map<OCompositeKey, Integer> keysToRemove, Object... params) -
getParamCount
public int getParamCount()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
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.
-
equals
Description copied from interface:OIndexDefinition- Specified by:
equalsin interfaceOIndexDefinition- Overrides:
equalsin classOAbstractIndexDefinition
-
hashCode
public int hashCode()Description copied from interface:OIndexDefinition- Specified by:
hashCodein interfaceOIndexDefinition- Overrides:
hashCodein classOAbstractIndexDefinition
-
toString
Description copied from interface:OIndexDefinition- Specified by:
toStringin interfaceOIndexDefinition- Overrides:
toStringin classObject
-
toStream
Serializes internal index state to document.- Returns:
- Document that contains internal index state.
-
serializeToStream
protected void serializeToStream()- Overrides:
serializeToStreamin classOAbstractIndexDefinition
-
toCreateIndexDDL
-
fromStream
Description copied from interface:OIndexDefinitionDeserialize internal index state from document.- Parameters:
document- Serialized index presentation.
-
serializeFromStream
protected void serializeFromStream()- Overrides:
serializeFromStreamin classOAbstractIndexDefinition
-
getCollate
- Specified by:
getCollatein interfaceOIndexDefinition- Overrides:
getCollatein classOAbstractIndexDefinition
-
setCollate
- Specified by:
setCollatein interfaceOIndexDefinition- Overrides:
setCollatein classOAbstractIndexDefinition
-
isAutomatic
public boolean isAutomatic()
-