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