org.apache.directory.server.core.partition.impl.btree
Interface Index

All Known Implementing Classes:
JdbmIndex

public interface Index

Required interfaces for an index.

Version:
$Rev: 434579 $
Author:
Apache Directory Project

Method Summary
 void add(javax.naming.directory.Attribute attr, java.math.BigInteger id)
           
 void add(javax.naming.directory.Attributes attrs, java.math.BigInteger id)
           
 void add(java.lang.Object attrVal, java.math.BigInteger id)
           
 void close()
           
 int count()
          Gets the total scan count for this index.
 int count(java.lang.Object attrVal)
          Gets the scan count for the occurance of a specific attribute value within the index.
 int count(java.lang.Object attrVal, boolean isGreaterThan)
           
 void drop(javax.naming.directory.Attribute attr, java.math.BigInteger id)
          If the Attribute does not have any values then this reduces to a drop(BigInteger) call.
 void drop(javax.naming.directory.Attributes attrs, java.math.BigInteger id)
          If the Attribute for this index within the Attributes does not have any values then this reduces to a drop(BigInteger) call.
 void drop(java.math.BigInteger entryId)
           
 void drop(java.lang.Object attrVal, java.math.BigInteger id)
           
 java.math.BigInteger forwardLookup(java.lang.Object attrVal)
           
 AttributeType getAttribute()
          Gets the attribute this Index is built upon.
 java.lang.Object getNormalized(java.lang.Object attrVal)
          Gets the normalized value for an attribute.
 boolean hasValue(java.lang.Object attrVal, java.math.BigInteger id)
           
 boolean hasValue(java.lang.Object attrVal, java.math.BigInteger id, boolean isGreaterThan)
           
 boolean hasValue(java.util.regex.Pattern regex, java.math.BigInteger id)
           
 IndexEnumeration listIndices()
           
 IndexEnumeration listIndices(java.lang.Object attrVal)
           
 IndexEnumeration listIndices(java.lang.Object attrVal, boolean isGreaterThan)
           
 IndexEnumeration listIndices(java.util.regex.Pattern regex)
           
 IndexEnumeration listIndices(java.util.regex.Pattern regex, java.lang.String prefix)
           
 IndexEnumeration listReverseIndices(java.math.BigInteger id)
           
 java.lang.Object reverseLookup(java.math.BigInteger id)
           
 void sync()
           
 

Method Detail

getAttribute

public AttributeType getAttribute()
Gets the attribute this Index is built upon.

Returns:
the id of the Index's attribute

getNormalized

public java.lang.Object getNormalized(java.lang.Object attrVal)
                               throws javax.naming.NamingException
Gets the normalized value for an attribute.

Parameters:
attrVal - the user provided value to normalize
Returns:
the normalized value.
Throws:
javax.naming.NamingException - if something goes wrong.

count

public int count()
          throws javax.naming.NamingException
Gets the total scan count for this index.

Returns:
the number of key/value pairs in this index
Throws:
javax.naming.NamingException - if their is a failure accessing the index

count

public int count(java.lang.Object attrVal)
          throws javax.naming.NamingException
Gets the scan count for the occurance of a specific attribute value within the index.

Parameters:
attrVal - the value of the attribute to get a scan count for
Returns:
the number of key/value pairs in this index with the value value
Throws:
javax.naming.NamingException - if their is a failure accessing the index

count

public int count(java.lang.Object attrVal,
                 boolean isGreaterThan)
          throws javax.naming.NamingException
Throws:
javax.naming.NamingException

forwardLookup

public java.math.BigInteger forwardLookup(java.lang.Object attrVal)
                                   throws javax.naming.NamingException
Throws:
javax.naming.NamingException

reverseLookup

public java.lang.Object reverseLookup(java.math.BigInteger id)
                               throws javax.naming.NamingException
Throws:
javax.naming.NamingException

add

public void add(java.lang.Object attrVal,
                java.math.BigInteger id)
         throws javax.naming.NamingException
Throws:
javax.naming.NamingException

add

public void add(javax.naming.directory.Attribute attr,
                java.math.BigInteger id)
         throws javax.naming.NamingException
Throws:
javax.naming.NamingException

add

public void add(javax.naming.directory.Attributes attrs,
                java.math.BigInteger id)
         throws javax.naming.NamingException
Throws:
javax.naming.NamingException

drop

public void drop(java.math.BigInteger entryId)
          throws javax.naming.NamingException
Throws:
javax.naming.NamingException

drop

public void drop(java.lang.Object attrVal,
                 java.math.BigInteger id)
          throws javax.naming.NamingException
Throws:
javax.naming.NamingException

drop

public void drop(javax.naming.directory.Attribute attr,
                 java.math.BigInteger id)
          throws javax.naming.NamingException
If the Attribute does not have any values then this reduces to a drop(BigInteger) call.

Throws:
javax.naming.NamingException

drop

public void drop(javax.naming.directory.Attributes attrs,
                 java.math.BigInteger id)
          throws javax.naming.NamingException
If the Attribute for this index within the Attributes does not have any values then this reduces to a drop(BigInteger) call.

Throws:
javax.naming.NamingException

listReverseIndices

public IndexEnumeration listReverseIndices(java.math.BigInteger id)
                                    throws javax.naming.NamingException
Throws:
javax.naming.NamingException

listIndices

public IndexEnumeration listIndices()
                             throws javax.naming.NamingException
Throws:
javax.naming.NamingException

listIndices

public IndexEnumeration listIndices(java.lang.Object attrVal)
                             throws javax.naming.NamingException
Throws:
javax.naming.NamingException

listIndices

public IndexEnumeration listIndices(java.lang.Object attrVal,
                                    boolean isGreaterThan)
                             throws javax.naming.NamingException
Throws:
javax.naming.NamingException

listIndices

public IndexEnumeration listIndices(java.util.regex.Pattern regex)
                             throws javax.naming.NamingException
Throws:
javax.naming.NamingException

listIndices

public IndexEnumeration listIndices(java.util.regex.Pattern regex,
                                    java.lang.String prefix)
                             throws javax.naming.NamingException
Throws:
javax.naming.NamingException

hasValue

public boolean hasValue(java.lang.Object attrVal,
                        java.math.BigInteger id)
                 throws javax.naming.NamingException
Throws:
javax.naming.NamingException

hasValue

public boolean hasValue(java.lang.Object attrVal,
                        java.math.BigInteger id,
                        boolean isGreaterThan)
                 throws javax.naming.NamingException
Throws:
javax.naming.NamingException

hasValue

public boolean hasValue(java.util.regex.Pattern regex,
                        java.math.BigInteger id)
                 throws javax.naming.NamingException
Throws:
javax.naming.NamingException

close

public void close()
           throws javax.naming.NamingException
Throws:
javax.naming.NamingException

sync

public void sync()
          throws javax.naming.NamingException
Throws:
javax.naming.NamingException