public <T extends Element> Index<T> getIndex(final String indexName, final Class<T> indexClass) { Index index = this.indices.get(indexName); if (null == index) return null; if (!indexClass.isAssignableFrom(index.getIndexClass())) throw ExceptionFactory.indexDoesNotSupportClass(indexName, indexClass); else return index; }
@SuppressWarnings("unchecked") public <T extends Element> Index<T> getIndex(final String indexName, final Class<T> indexClass) { final OrientGraphContext context = getContext(true); Index<? extends Element> index = context.manualIndices.get(indexName); if (null == index) { return null; } if (indexClass.isAssignableFrom(index.getIndexClass())) return (Index<T>) index; else throw ExceptionFactory.indexDoesNotSupportClass(indexName, indexClass); }
public <T extends Element> Index<T> getIndex(final String indexName, final Class<T> indexClass) { for (Index index : getIndices()) { if (index.getIndexName().equals(indexName)) { if (!index.getIndexClass().isAssignableFrom(indexClass)) throw ExceptionFactory.indexDoesNotSupportClass(indexName, indexClass); return index; } } return null; }
public <T extends Element> Index<T> getIndex(final String indexName, final Class<T> indexClass) { this.autoStartTransaction(false); if (Vertex.class.isAssignableFrom(indexClass)) { if (this.rawGraph.index().existsForNodes(indexName)) { return new Neo4j2Index(indexName, indexClass, this); } else if (this.rawGraph.index().existsForRelationships(indexName)) { throw ExceptionFactory.indexDoesNotSupportClass(indexName, indexClass); } else { return null; } } else if (Edge.class.isAssignableFrom(indexClass)) { if (this.rawGraph.index().existsForRelationships(indexName)) { return new Neo4j2Index(indexName, indexClass, this); } else if (this.rawGraph.index().existsForNodes(indexName)) { throw ExceptionFactory.indexDoesNotSupportClass(indexName, indexClass); } else { return null; } } else { return null; } }
public <T extends Element> Index<T> getIndex(String indexName, Class<T> indexClass) { IndexedItemsListParser parser = new IndexedItemsListParser(); Scanner scan = null; try { scan = getScanner(); scan.fetchColumnFamily(new Text(IndexMetadataEntryType.__INDEX_NAME__.name())); for (IndexedItem item : parser.parse(scan)) { if (item.getKey().equals(indexName)) { if (item.getElementClass().equals(indexClass)) { return new AccumuloIndex<T>(globals, indexName, indexClass); } else { throw ExceptionFactory.indexDoesNotSupportClass(indexName, indexClass); } } } return null; } finally { if (scan != null) { scan.close(); } } }
public <T extends Element> Index<T> getIndex(String indexName, Class<T> indexClass) { IndexedItemsListParser parser = new IndexedItemsListParser(); Scanner scan = null; try { scan = getScanner(); scan.fetchColumnFamily(new Text(IndexMetadataEntryType.__INDEX_NAME__.name())); for (IndexedItem item : parser.parse(scan)) { if (item.getKey().equals(indexName)) { if (item.getElementClass().equals(indexClass)) { return new AccumuloIndex<T>(globals, indexName, indexClass); } else { throw ExceptionFactory.indexDoesNotSupportClass(indexName, indexClass); } } } return null; } finally { if (scan != null) { scan.close(); } } }
/** * Returns an index by name and class * * @param indexName Index name * @param indexClass Class as one or subclass of Vertex.class and Edge.class * * @return Index instance */ @SuppressWarnings("unchecked") @Override public <T extends Element> Index<T> getIndex(final String indexName, final Class<T> indexClass) { makeActive(); final OIndexManager indexManager = getDatabase().getMetadata().getIndexManager(); final OIndex idx = indexManager.getIndex(indexName); if (idx == null || !hasIndexClass(idx)) return null; final Index<? extends Element> index = new OrientIndex(this, idx); if (indexClass.isAssignableFrom(index.getIndexClass())) return (Index<T>) index; else throw ExceptionFactory.indexDoesNotSupportClass(indexName, indexClass); }