T - The type of entities this index manages. It may be either
 Nodes or Relationships.public interface Index<T extends PropertyContainer> extends ReadableIndex<T>
Nodes or
 Relationships) for fast lookup and querying. Any number of key/value
 pairs can be associated with any number of entities using
 add(PropertyContainer, String, Object) and dissociated with
 remove(PropertyContainer, String, Object). Querting is done using
 ReadableIndex.get(String, Object) for exact lookups and ReadableIndex.query(Object) or
 ReadableIndex.query(String, Object) for more advanced querying, exposing querying
 capabilities from the backend which is backing this particular index.
 Write operations participates in transactions so committing and rolling back
 works the same way as usual in Neo4j.| Modifier and Type | Method and Description | 
|---|---|
| void | add(T entity,
   String key,
   Object value)Adds a key/value pair for  entityto the index. | 
| void | delete()Clears the index and deletes the configuration associated with it. | 
| T | putIfAbsent(T entity,
           String key,
           Object value)Add the entity to this index for the given key/value pair if this particular
 key/value pair doesn't already exist. | 
| void | remove(T entity)Removes an entity from the index and all its key/value pairs which
 has been previously associated using
  add(PropertyContainer, String, Object). | 
| void | remove(T entity,
      String key)Removes key/value pairs for  entitywhere key iskeyfrom the index. | 
| void | remove(T entity,
      String key,
      Object value)Removes a key/value pair for  entityfrom the index. | 
get, getEntityType, getGraphDatabase, getName, isWriteable, query, queryvoid add(T entity, String key, Object value)
entity to the index. If that key/value
 pair for the entity is already in the index it's up to the
 implementation to make it so that such an operation is idempotent.entity - the entity (i.e Node or Relationship)
 to associate the key/value pair with.key - the key in the key/value pair to associate with the entity.value - the value in the key/value pair to associate with the
 entity.void remove(T entity, String key, Object value)
entity from the index. If that
 key/value pair isn't associated with entity in this index this
 operation doesn't do anything.entity - the entity (i.e Node or Relationship)
 to dissociate the key/value pair from.key - the key in the key/value pair to dissociate from the entity.value - the value in the key/value pair to dissociate from the
 entity.void remove(T entity, String key)
entity where key is key
 from the index.
 Implementations can choose to not implement this method and should
 in that case throw UnsupportedOperationException.entity - the entity (Node or Relationship) to
 remove the this index.key - the key associated with the index entryvoid remove(T entity)
add(PropertyContainer, String, Object).
 Implementations can choose to not implement this method and should
 in that case throw UnsupportedOperationException.entity - the entity (Node or Relationship) to
 remove the this index.void delete()
T putIfAbsent(T entity, String key, Object value)
entity - the entity (i.e Node or Relationship)
 to associate the key/value pair with.key - the key in the key/value pair to associate with the entity.value - the value in the key/value pair to associate with the
 entity.null if no entity was
 indexed before (and the specified entity was added to the index).Copyright © 2002–2016 The Neo4j Graph Database Project. All rights reserved.