org.neo4j.graphdb.index
Class IndexImplementation

java.lang.Object
  extended by org.neo4j.graphdb.index.IndexImplementation

public abstract class IndexImplementation
extends Object

A provider which can create and instantiate Indexs. An IndexImplementation is typically tied to one implementation, f.ex. lucene, http://lucene.apache.org/java.

Author:
Mattias Persson

Constructor Summary
IndexImplementation()
           
 
Method Summary
abstract  boolean configMatches(Map<String,String> storedConfig, Map<String,String> config)
           
abstract  Map<String,String> fillInDefaults(Map<String,String> config)
          Fills in default configuration parameters for indexes provided from this index provider.
abstract  String getDataSourceName()
          Returns the name of the XA data source coupled with this index provider.
abstract  Index<Node> nodeIndex(String indexName, Map<String,String> config)
          Returns an Index for Nodes for the name indexName with the given config.
abstract  RelationshipIndex relationshipIndex(String indexName, Map<String,String> config)
          Returns an Index for Relationships for the name indexName with the given config.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IndexImplementation

public IndexImplementation()
Method Detail

getDataSourceName

public abstract String getDataSourceName()
Returns the name of the XA data source coupled with this index provider.

Returns:
the name of the XA data source coupled with this index provider.

nodeIndex

public abstract Index<Node> nodeIndex(String indexName,
                                      Map<String,String> config)
Returns an Index for Nodes for the name indexName with the given config. The config Map can contain any provider-implementation-specific data that can control how an index behaves.

Parameters:
indexName - the name of the index.
config - a Map of configuration parameters to use with the index. Parameters can be anything and are implementation-specific. This map represents how the configuration looks right now, they might be modified later using IndexManager.setConfiguration(Index, String, String) or IndexManager.removeConfiguration(Index, String).
Returns:
the Index corresponding to the indexName and config.

relationshipIndex

public abstract RelationshipIndex relationshipIndex(String indexName,
                                                    Map<String,String> config)
Returns an Index for Relationships for the name indexName with the given config. The config Map can contain any provider-implementation-specific data that can control how an index behaves.

Parameters:
indexName - the name of the index.
config - a Map of configuration parameters to use with the index. Parameters can be anything and are implementation-specific. This map represents how the configuration looks right now, they might be modified later using IndexManager.setConfiguration(Index, String, String) or IndexManager.removeConfiguration(Index, String).
Returns:
the Index corresponding to the indexName and config. The return index is a RelationshipIndex with additional query methods for efficiently filtering hits with respect to start/end node of the relationships.

fillInDefaults

public abstract Map<String,String> fillInDefaults(Map<String,String> config)
Fills in default configuration parameters for indexes provided from this index provider.

Parameters:
config - the configuration map to complete with defaults.
Returns:
a Map filled with decent defaults for an index from this index provider.

configMatches

public abstract boolean configMatches(Map<String,String> storedConfig,
                                      Map<String,String> config)


Copyright © 2011 The Neo4j Graph Database Project. All Rights Reserved.