org.dbxml.core.indexer
Class ValueIndexer
java.lang.Object
|
+--org.dbxml.core.filer.Paged
|
+--org.dbxml.core.filer.BTree
|
+--org.dbxml.core.indexer.ValueIndexer
- All Implemented Interfaces:
- org.dbxml.server.Configurable, DBObject, Indexer, org.dbxml.server.Named
- public final class ValueIndexer
- extends BTree
- implements Indexer
ValueIndexer is a basic implementation of the Indexer interface.
It is used for maintaining element and element@attribute value
indexes.
Method Summary |
void |
add(java.lang.String value,
Key key,
int pos,
int len,
short elemID,
short attrID)
add adds a Document to the Indexer. |
org.dbxml.server.Configuration |
getConfig()
|
java.lang.String |
getIndexStyle()
getIndexStyle returns the Index style. |
java.lang.String |
getName()
|
java.lang.String |
getPattern()
getPattern returns the pattern recognized by this Indexer. |
Value |
getTypedValue(java.lang.String value)
|
IndexMatch[] |
queryMatches(IndexQuery query)
queryMatches retrieves a set of MatchEntry instances that match
the supplied query. |
void |
remove(java.lang.String value,
Key key,
int pos,
int len,
short elemID,
short attrID)
remove removes all references to the specified Key from the Indexer. |
void |
setCollection(Collection collection)
setCollection tells the Indexer who its parent is. |
void |
setConfig(org.dbxml.server.Configuration config)
|
void |
setLocation(java.lang.String location)
|
Methods inherited from class org.dbxml.core.filer.BTree |
addValue, addValue, create, createFileHeader, createFileHeader, createFileHeader, createFileHeader, createPageHeader, findValue, findValue, open, query, query, removeValue, removeValue |
Methods inherited from class org.dbxml.core.filer.Paged |
close, deleteArrayInt, deleteArrayLong, deleteArrayShort, deleteArrayValue, drop, exists, getFileHeader, insertArrayInt, insertArrayLong, insertArrayShort, insertArrayValue, isOpened |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ValueIndexer
public ValueIndexer()
setConfig
public void setConfig(org.dbxml.server.Configuration config)
- Specified by:
setConfig
in interface org.dbxml.server.Configurable
getConfig
public org.dbxml.server.Configuration getConfig()
- Specified by:
getConfig
in interface org.dbxml.server.Configurable
getName
public java.lang.String getName()
- Specified by:
getName
in interface org.dbxml.server.Named
setLocation
public void setLocation(java.lang.String location)
setCollection
public void setCollection(Collection collection)
- Description copied from interface:
Indexer
- setCollection tells the Indexer who its parent is.
- Specified by:
setCollection
in interface Indexer
- Following copied from interface:
org.dbxml.core.indexer.Indexer
- Parameters:
collection
- The owner Collection
getIndexStyle
public java.lang.String getIndexStyle()
- Description copied from interface:
Indexer
- getIndexStyle returns the Index style. Different query languages
will need to draw from different indexing styles. For example, A
query that is written in quilt will require XPath indexing.
- Specified by:
getIndexStyle
in interface Indexer
- Following copied from interface:
org.dbxml.core.indexer.Indexer
- Returns:
- The index style
getPattern
public java.lang.String getPattern()
- Description copied from interface:
Indexer
- getPattern returns the pattern recognized by this Indexer. Patterns
must be in the form of (elem|*)[@(attr|*)] to tell the IndexManager
which element types to send to it, so for example:
contact@name Indexes all contacts by name attribute
memo Indexes the text of all memo elements
contact@* Indexes all contact attributes
*@name Indexes the name attribute for all elements
* Indexes the text of all elements
*@* Indexes all attributes of all elements
These patterns are used by the IndexManager when handling SAX events.
All events that match the specified pattern will result in an add or
remove call to the Indexer.
- Specified by:
getPattern
in interface Indexer
- Following copied from interface:
org.dbxml.core.indexer.Indexer
- Returns:
- The Pattern used
getTypedValue
public Value getTypedValue(java.lang.String value)
remove
public void remove(java.lang.String value,
Key key,
int pos,
int len,
short elemID,
short attrID)
throws DBException
- Description copied from interface:
Indexer
- remove removes all references to the specified Key from the Indexer.
- Specified by:
remove
in interface Indexer
- Following copied from interface:
org.dbxml.core.indexer.Indexer
- Parameters:
value
- The value to removekey
- The Object IDpos
- The offset into the stream the Element occurs atlen
- The length of the substream for the ElementelemID
- The Element ID of the valueattrID
- The Attribute ID of the value (if any, else -1)
add
public void add(java.lang.String value,
Key key,
int pos,
int len,
short elemID,
short attrID)
throws DBException
- Description copied from interface:
Indexer
- add adds a Document to the Indexer.
- Specified by:
add
in interface Indexer
- Following copied from interface:
org.dbxml.core.indexer.Indexer
- Parameters:
value
- The value to removekey
- The Object IDpos
- The offset into the stream the Element occurs atlen
- The length of the substream for the ElementelemID
- The Element ID of the valueattrID
- The Attribute ID of the value (if any, else -1)
queryMatches
public IndexMatch[] queryMatches(IndexQuery query)
throws DBException
- Description copied from interface:
Indexer
- queryMatches retrieves a set of MatchEntry instances that match
the supplied query. The matches are then used by the QueryEngine
in co-sequential processing. If this indexer doesn't support the
passed value, it should return 'null'. If no matches are found,
it should return an empty set. queryMatches will typically be
used in XPath processing.
- Specified by:
queryMatches
in interface Indexer
- Following copied from interface:
org.dbxml.core.indexer.Indexer
- Parameters:
query
- The IndexQuery to use- Returns:
- The resulting matches
Copyright (c) 1999-2001 The dbXML Group, All rights reserved