
public abstract class AbstractDatabase extends AbstractHierarchicalResult implements Database
| Modifier and Type | Class and Description |
|---|---|
static class |
AbstractDatabase.Parameterizer
Parameterization class.
|
| Modifier and Type | Field and Description |
|---|---|
protected DatabaseEventManager |
eventManager
The event manager, collects events and fires them on demand.
|
protected List<Index> |
indexes
Indexes.
|
protected Collection<IndexFactory<?,?>> |
indexFactories
Index factories.
|
protected List<Relation<?>> |
relations
The relations we manage.
|
| Constructor and Description |
|---|
AbstractDatabase()
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
accumulateDataStoreEvents()
Collects all insertion, deletion and update events until
Database.flushDataStoreEvents() is called. |
void |
addDataStoreListener(DataStoreListener l)
Adds a listener for the
DataStoreEvent posted after the
content of the database changes. |
void |
addIndex(Index index)
Add a new index to the database.
|
void |
flushDataStoreEvents()
Fires all collected insertion, deletion and update events as one
DataStoreEvent, i.e. notifies all registered DataStoreListener how the
content of the database has been changed since
Database.accumulateDataStoreEvents() has been called. |
SingleObjectBundle |
getBundle(DBIDRef id)
Returns the DatabaseObject represented by the specified id.
|
<O,D extends Distance<D>> |
getDistanceQuery(Relation<O> objQuery,
DistanceFunction<? super O,D> distanceFunction,
Object... hints)
Get the distance query for a particular distance function.
|
List<Index> |
getIndexes()
Collection of known indexes
|
<O,D extends Distance<D>> |
getKNNQuery(DistanceQuery<O,D> distanceQuery,
Object... hints)
Get a KNN query object for the given distance query.
|
protected abstract Logging |
getLogger()
Get the class logger.
|
String |
getLongName()
A "pretty" name for the result, for use in titles, captions and menus.
|
<O,D extends Distance<D>> |
getRangeQuery(DistanceQuery<O,D> distanceQuery,
Object... hints)
Get a range query object for the given distance query.
|
<O> Relation<O> |
getRelation(TypeInformation restriction,
Object... hints)
Get an object representation.
|
Collection<Relation<?>> |
getRelations()
Get all relations of a database.
|
<O,D extends Distance<D>> |
getRKNNQuery(DistanceQuery<O,D> distanceQuery,
Object... hints)
Get a rKNN query object for the given distance query.
|
String |
getShortName()
A short name for the result, useful for file names.
|
<O,D extends Distance<D>> |
getSimilarityQuery(Relation<O> objQuery,
SimilarityFunction<? super O,D> similarityFunction,
Object... hints)
Get the similarity query for a particular similarity function.
|
void |
removeDataStoreListener(DataStoreListener l)
Removes a listener previously added with
Database.addDataStoreListener(DataStoreListener). |
void |
removeIndex(Index index)
Remove a particular index
|
addChildResult, getHierarchy, setHierarchyclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitinitializegetHierarchy, setHierarchyprotected final DatabaseEventManager eventManager
protected final Collection<IndexFactory<?,?>> indexFactories
public void addIndex(Index index)
Databasepublic List<Index> getIndexes()
DatabasegetIndexes in interface Databasepublic void removeIndex(Index index)
DatabaseremoveIndex in interface Databaseindex - Index to removepublic SingleObjectBundle getBundle(DBIDRef id)
Databasepublic Collection<Relation<?>> getRelations()
DatabasegetRelations in interface Databasepublic <O> Relation<O> getRelation(TypeInformation restriction, Object... hints) throws NoSupportedDataTypeException
DatabasegetRelation in interface DatabaseO - Object typerestriction - Type restrictionhints - Optimizer hintsNoSupportedDataTypeExceptionpublic <O,D extends Distance<D>> DistanceQuery<O,D> getDistanceQuery(Relation<O> objQuery, DistanceFunction<? super O,D> distanceFunction, Object... hints)
DatabasegetDistanceQuery in interface DatabaseO - Object typeD - Distance result typeobjQuery - Relation useddistanceFunction - Distance function to usehints - Optimizer hintspublic <O,D extends Distance<D>> SimilarityQuery<O,D> getSimilarityQuery(Relation<O> objQuery, SimilarityFunction<? super O,D> similarityFunction, Object... hints)
DatabasegetSimilarityQuery in interface DatabaseO - Object typeD - Similarity result typeobjQuery - Relation usedsimilarityFunction - Similarity function to usehints - Optimizer hintspublic <O,D extends Distance<D>> KNNQuery<O,D> getKNNQuery(DistanceQuery<O,D> distanceQuery, Object... hints)
DatabaseDatabaseQuery.HINT_BULK bulk
query neededgetKNNQuery in interface DatabaseO - Object typeD - Distance typedistanceQuery - Distance queryhints - Optimizer hintspublic <O,D extends Distance<D>> RangeQuery<O,D> getRangeQuery(DistanceQuery<O,D> distanceQuery, Object... hints)
DatabaseDatabaseQuery.HINT_BULK bulk
query neededgetRangeQuery in interface DatabaseO - Object typeD - Distance typedistanceQuery - Distance queryhints - Optimizer hintspublic <O,D extends Distance<D>> RKNNQuery<O,D> getRKNNQuery(DistanceQuery<O,D> distanceQuery, Object... hints)
DatabaseDatabaseQuery.HINT_BULK bulk
query neededgetRKNNQuery in interface DatabaseO - Object typeD - Distance typedistanceQuery - Distance queryhints - Optimizer hintspublic void addDataStoreListener(DataStoreListener l)
DatabaseDataStoreEvent posted after the
content of the database changes.addDataStoreListener in interface Databasel - the listener to addDatabase.removeDataStoreListener(DataStoreListener),
DataStoreListener,
DataStoreEventpublic void removeDataStoreListener(DataStoreListener l)
DatabaseDatabase.addDataStoreListener(DataStoreListener).removeDataStoreListener in interface Databasel - the listener to removeDatabase.addDataStoreListener(DataStoreListener),
DataStoreListener,
DataStoreEventpublic void accumulateDataStoreEvents()
DatabaseDatabase.flushDataStoreEvents() is called.accumulateDataStoreEvents in interface DatabaseDataStoreEventpublic void flushDataStoreEvents()
DatabaseDatabase.accumulateDataStoreEvents() has been called.flushDataStoreEvents in interface DatabaseDataStoreListener,
DataStoreEventpublic String getLongName()
ResultgetLongName in interface Resultpublic String getShortName()
ResultgetShortName in interface Resultprotected abstract Logging getLogger()