package com.tinkerpop.blueprints.impls.neo4j2.index; import java.util.Map; import org.neo4j.graphdb.Node; import org.neo4j.graphdb.index.Index; import org.neo4j.graphdb.index.IndexHits; import com.tinkerpop.blueprints.CloseableIterable; import com.tinkerpop.blueprints.Parameter; import com.tinkerpop.blueprints.Vertex; import com.tinkerpop.blueprints.impls.neo4j2.Neo4j2Graph; import com.tinkerpop.blueprints.impls.neo4j2.Neo4j2Vertex; import com.tinkerpop.blueprints.impls.neo4j2.iterate.Neo4j2VertexIterable; public class Neo4j2VertexIndex extends Neo4j2ElementIndex<Vertex, Node> { public Neo4j2VertexIndex(String indexName, Neo4j2Graph graph, Parameter<?,?>... indexParameters) { super(indexName, graph, indexParameters); } @Override protected Index<Node> createRawIndex(Map<String, String> customConfig) { return this.graph.getRawGraph().index().forNodes(getIndexName(), customConfig); } @Override public Class<Vertex> getIndexClass() { return Vertex.class; } @Override protected Node getRawElement(Vertex element) { return ((Neo4j2Vertex)element).getRawElement(); } @Override protected CloseableIterable<Vertex> wrapIndexHits(IndexHits<Node> indexHits) { return new Neo4j2VertexIterable(indexHits, this.graph); } }