org.apache.xindice.core.indexer
Class ValueIndexer
java.lang.Object
|
+--org.apache.xindice.core.filer.Paged
|
+--org.apache.xindice.core.filer.BTree
|
+--org.apache.xindice.core.indexer.ValueIndexer
- All Implemented Interfaces:
- Configurable, DBObject, Indexer, 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.
- Version:
- $Revision: 519202 $, $Date: 2007-03-16 21:34:14 -0400 (Fri, 16 Mar 2007) $
Method Summary |
void |
add(String value,
Key key,
int pos,
int len,
short elemID,
short attrID)
add adds a Document to the Indexer. |
protected Paged.FileHeader |
createFileHeader()
Override createFileHeader - set page size to 1024 |
String |
getIndexStyle()
getIndexStyle returns the Index style. |
String |
getName()
getName retrieves the contextually important name of the object |
String |
getPattern()
getPattern returns the pattern recognized by this Indexer. |
Value |
getTypedValue(String value)
Creates new Value object that depends on string parameter and a type of indexer. |
IndexMatch[] |
queryMatches(IndexQuery query)
queryMatches retrieves a set of IndexMatch instances that match
the supplied query. |
void |
remove(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(Configuration config)
setConfig sets the configuration information for the Configurable
object instance. |
void |
setLocation(String location)
|
Methods inherited from class org.apache.xindice.core.filer.BTree |
addKey, addValue, addValue, close, create, createBTreeRoot, createBTreeRoot, createPageHeader, findBTreeRoot, findBTreeRoot, findValue, findValue, getRootNode, getRootNode, open, query, query, removeValue, removeValue, setRootNode, setRootNode |
Methods inherited from class org.apache.xindice.core.filer.Paged |
checkOpened, closeDescriptor, deleteArrayInt, deleteArrayLong, deleteArrayShort, deleteArrayValue, drop, exists, flush, getConfig, getDescriptor, getFile, getFileHeader, getFreePage, getPage, insertArrayInt, insertArrayLong, insertArrayShort, insertArrayValue, isOpened, putDescriptor, readValue, readValue, setFile, unlinkPages, unlinkPages, writeValue, writeValue |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.apache.xindice.core.indexer.Indexer |
flush |
ValueIndexer
public ValueIndexer()
createFileHeader
protected Paged.FileHeader createFileHeader()
- Override createFileHeader - set page size to 1024
- Overrides:
createFileHeader
in class BTree
- Following copied from class:
org.apache.xindice.core.filer.Paged
- Returns:
- a new FileHeader
setConfig
public void setConfig(Configuration config)
- Description copied from interface:
Configurable
- setConfig sets the configuration information for the Configurable
object instance.
- Specified by:
setConfig
in interface Configurable
- Overrides:
setConfig
in class Paged
- Following copied from interface:
org.apache.xindice.util.Configurable
- Parameters:
config
- The configuration Node
getName
public String getName()
- Description copied from interface:
Named
- getName retrieves the contextually important name of the object
- Specified by:
getName
in interface Named
- Following copied from interface:
org.apache.xindice.util.Named
- Returns:
- The object's name
setLocation
public void setLocation(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.apache.xindice.core.indexer.Indexer
- Parameters:
collection
- The owner Collection
getIndexStyle
public 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.apache.xindice.core.indexer.Indexer
- Returns:
- The index style
getPattern
public 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.apache.xindice.core.indexer.Indexer
- Returns:
- The Pattern used
getTypedValue
public Value getTypedValue(String value)
- Creates new Value object that depends on string parameter and a type of indexer.
The idea here is that any value of any type should be transformed to a byte array
in such a way that two Values of the same type are comparable. Value objects are
compared by comparing their data arrays byte-by-byte, starting from byte with
index 0. Also, data arrays will behave as array of unsigned bytes with
values ranging from 0 to 255.
- Parameters:
value
- - Returns:
- new Value object that represents specific value of this indexer type
remove
public void remove(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.apache.xindice.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(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.apache.xindice.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 IndexMatch 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.apache.xindice.core.indexer.Indexer
- Parameters:
query
- The IndexQuery to use- Returns:
- The resulting matches
Copyright (c) 1999-2007 The Apache Software Foundation. All Rights Reserved.