dbXML API

org.dbxml.core.indexer
Class NameIndexer

java.lang.Object
  |
  +--org.dbxml.core.filer.Paged
        |
        +--org.dbxml.core.filer.BTree
              |
              +--org.dbxml.core.indexer.NameIndexer
All Implemented Interfaces:
org.dbxml.server.Configurable, DBObject, Indexer, org.dbxml.server.Named

public final class NameIndexer
extends BTree
implements Indexer

NameIndexer is a basic implementation of the Indexer interface. It is used for maintaining element and element@attribute unique indexes.


Inner classes inherited from class org.dbxml.core.filer.BTree
BTree.BTreeRootInfo
 
Inner classes inherited from class org.dbxml.core.filer.Paged
Paged.FileHeader, Paged.Page, Paged.PageHeader
 
Fields inherited from interface org.dbxml.core.indexer.Indexer
STYLE_FULLTEXT, STYLE_NODENAME, STYLE_NODEVALUE
 
Constructor Summary
NameIndexer()
           
 
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.
 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
 
Methods inherited from interface org.dbxml.core.DBObject
close, create, drop, exists, isOpened, open
 

Constructor Detail

NameIndexer

public NameIndexer()
Method Detail

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

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 remove
key - The Object ID
pos - The offset into the stream the Element occurs at
len - The length of the substream for the Element
elemID - The Element ID of the value
attrID - 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 remove
key - The Object ID
pos - The offset into the stream the Element occurs at
len - The length of the substream for the Element
elemID - The Element ID of the value
attrID - 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

dbXML API

Copyright (c) 1999-2001 The dbXML Group, All rights reserved