org.apache.directory.server.core.partition.impl.btree
Class BTreePartition

java.lang.Object
  extended by org.apache.directory.server.core.partition.impl.btree.BTreePartition
All Implemented Interfaces:
Partition
Direct Known Subclasses:
JdbmPartition

public abstract class BTreePartition
extends java.lang.Object
implements Partition

An abstract Partition that uses general BTree operations.

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

Field Summary
 
Fields inherited from interface org.apache.directory.server.core.partition.Partition
ALIAS_ATTRIBUTE, ALIAS_OBJECT
 
Constructor Summary
protected BTreePartition()
          Creates a B-tree based context partition.
 
Method Summary
abstract  void add(org.apache.directory.shared.ldap.name.LdapDN dn, javax.naming.directory.Attributes entry)
          Adds an entry to this ContextPartition.
abstract  void addIndexOn(org.apache.directory.shared.ldap.schema.AttributeType attribute, int cacheSize, int numDupLimit)
           
abstract  int count()
          Gets the count of the total number of entries in the database.
abstract  void delete(java.math.BigInteger id)
           
 void delete(org.apache.directory.shared.ldap.name.LdapDN dn)
          Deletes a leaf entry from this ContextPartition: non-leaf entries cannot be deleted until this operation has been applied to their children.
abstract  void destroy()
          Deinitialized this partition.
abstract  Index getAliasIndex()
          Gets the system index defined on the ALIAS_ATTRIBUTE which for LDAP would be the aliasedObjectName and for X.500 would be aliasedEntryName.
abstract  int getChildCount(java.math.BigInteger id)
           
abstract  java.lang.String getEntryDn(java.math.BigInteger id)
           
abstract  java.math.BigInteger getEntryId(java.lang.String dn)
           
abstract  java.lang.String getEntryUpdn(java.math.BigInteger id)
          Gets the user provided distinguished name.
abstract  java.lang.String getEntryUpdn(java.lang.String dn)
          Gets the user provided distinguished name.
abstract  Index getExistanceIndex()
           
abstract  Index getHierarchyIndex()
          Gets the Index mapping the BigInteger primary keys of parents to the BigInteger primary keys of their children.
abstract  javax.naming.directory.Attributes getIndices(java.math.BigInteger id)
           
abstract  Index getNdnIndex()
          Gets the Index mapping the normalized distinguished names of entries as Strings to the BigInteger primary keys of entries.
abstract  Index getOneAliasIndex()
          Gets the alias index mapping parent entries with scope expanding aliases children one level below them; this system index is used to dereference aliases on one/single level scoped searches.
abstract  java.math.BigInteger getParentId(java.math.BigInteger childId)
           
abstract  java.math.BigInteger getParentId(java.lang.String dn)
           
abstract  java.lang.String getProperty(java.lang.String key)
           
 SearchEngine getSearchEngine()
          Gets the DefaultSearchEngine used by this ContextPartition to search the Database.
abstract  Index getSubAliasIndex()
          Gets the alias index mapping relative entries with scope expanding alias descendents; this system index is used to dereference aliases on subtree scoped searches.
abstract  javax.naming.directory.Attributes getSuffixEntry()
           
abstract  Index getSystemIndex(java.lang.String attribute)
           
abstract  java.util.Iterator getSystemIndices()
           
abstract  Index getUpdnIndex()
          Gets the Index mapping user provided distinguished names of entries as Strings to the BigInteger primary keys of entries.
abstract  Index getUserIndex(java.lang.String attribute)
           
abstract  java.util.Iterator getUserIndices()
           
 boolean hasEntry(org.apache.directory.shared.ldap.name.LdapDN dn)
          Fast operation to check and see if a particular entry exists.
abstract  boolean hasSystemIndexOn(java.lang.String attribute)
           
abstract  boolean hasUserIndexOn(java.lang.String attribute)
           
 void init(DirectoryServiceConfiguration factoryCfg, PartitionConfiguration cfg)
          Initializes this partition.
 void inspect()
           
abstract  boolean isInitialized()
          Checks to see if this partition is initialized or not.
 boolean isSuffix(org.apache.directory.shared.ldap.name.LdapDN dn)
          Checks to see if name is a context suffix.
abstract  javax.naming.NamingEnumeration list(java.math.BigInteger id)
           
 javax.naming.NamingEnumeration list(org.apache.directory.shared.ldap.name.LdapDN base)
          A specialized form of one level search used to return a minimal set of information regarding child entries under a base.
abstract  javax.naming.directory.Attributes lookup(java.math.BigInteger id)
           
 javax.naming.directory.Attributes lookup(org.apache.directory.shared.ldap.name.LdapDN dn)
          Looks up an entry by distinguished/absolute name.
 javax.naming.directory.Attributes lookup(org.apache.directory.shared.ldap.name.LdapDN dn, java.lang.String[] attrIds)
          Looks up an entry by distinguished/absolute name.
abstract  void modify(org.apache.directory.shared.ldap.name.LdapDN dn, int modOp, javax.naming.directory.Attributes mods)
          Modifies an entry by adding, removing or replacing a set of attributes.
abstract  void modify(org.apache.directory.shared.ldap.name.LdapDN dn, org.apache.directory.shared.ldap.message.ModificationItemImpl[] mods)
          Modifies an entry by using a combination of adds, removes or replace operations using a set of ModificationItems.
abstract  void modifyRn(org.apache.directory.shared.ldap.name.LdapDN dn, java.lang.String newRdn, boolean deleteOldRdn)
          Modifies an entry by changing its relative name.
abstract  void move(org.apache.directory.shared.ldap.name.LdapDN oldChildDn, org.apache.directory.shared.ldap.name.LdapDN newParentDn)
          Transplants a child entry, to a position in the namespace under a new parent entry.
abstract  void move(org.apache.directory.shared.ldap.name.LdapDN oldChildDn, org.apache.directory.shared.ldap.name.LdapDN newParentDn, java.lang.String newRdn, boolean deleteOldRdn)
          Transplants a child entry, to a position in the namespace under a new parent entry and changes the RN of the child entry which can optionally have its old RN attributes removed.
 javax.naming.NamingEnumeration search(org.apache.directory.shared.ldap.name.LdapDN base, java.util.Map env, org.apache.directory.shared.ldap.filter.ExprNode filter, javax.naming.directory.SearchControls searchCtls)
          Conducts a search against this ContextPartition.
abstract  void setAliasIndexOn(org.apache.directory.shared.ldap.schema.AttributeType attrType, int cacheSize, int numDupLimit)
          Sets the system index defined on the ALIAS_ATTRIBUTE which for LDAP would be the aliasedObjectName and for X.500 would be aliasedEntryName.
abstract  void setExistanceIndexOn(org.apache.directory.shared.ldap.schema.AttributeType attrType, int cacheSize, int numDupLimit)
          Sets the attribute existance Index.
abstract  void setHierarchyIndexOn(org.apache.directory.shared.ldap.schema.AttributeType attrType, int cacheSize, int numDupLimit)
          Sets the hierarchy Index.
abstract  void setNdnIndexOn(org.apache.directory.shared.ldap.schema.AttributeType attrType, int cacheSize, int numDupLimit)
          Sets the normalized distinguished name Index.
abstract  void setOneAliasIndexOn(org.apache.directory.shared.ldap.schema.AttributeType attrType, int cacheSize, int numDupLimit)
          Sets the alias index mapping parent entries with scope expanding aliases children one level below them; this system index is used to dereference aliases on one/single level scoped searches.
abstract  void setProperty(java.lang.String key, java.lang.String value)
           
abstract  void setSubAliasIndexOn(org.apache.directory.shared.ldap.schema.AttributeType attrType, int cacheSize, int numDupLimit)
          Sets the alias index mapping relative entries with scope expanding alias descendents; this system index is used to dereference aliases on subtree scoped searches.
abstract  void setUpdnIndexOn(org.apache.directory.shared.ldap.schema.AttributeType attrType, int cacheSize, int numDupLimit)
          Sets the user provided distinguished name Index.
abstract  void sync()
          Flushes any changes made to this partition now.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.directory.server.core.partition.Partition
bind, getSuffix, getUpSuffix, unbind
 

Constructor Detail

BTreePartition

protected BTreePartition()
Creates a B-tree based context partition.

Method Detail

init

public void init(DirectoryServiceConfiguration factoryCfg,
                 PartitionConfiguration cfg)
          throws javax.naming.NamingException
Description copied from interface: Partition
Initializes this partition.

Specified by:
init in interface Partition
Throws:
javax.naming.NamingException

getSearchEngine

public SearchEngine getSearchEngine()
Gets the DefaultSearchEngine used by this ContextPartition to search the Database.

Returns:
the search engine

delete

public void delete(org.apache.directory.shared.ldap.name.LdapDN dn)
            throws javax.naming.NamingException
Description copied from interface: Partition
Deletes a leaf entry from this ContextPartition: non-leaf entries cannot be deleted until this operation has been applied to their children.

Specified by:
delete in interface Partition
Parameters:
dn - the normalized distinguished/absolute name of the entry to delete from this ContextPartition.
Throws:
javax.naming.NamingException - if there are any problems

add

public abstract void add(org.apache.directory.shared.ldap.name.LdapDN dn,
                         javax.naming.directory.Attributes entry)
                  throws javax.naming.NamingException
Description copied from interface: Partition
Adds an entry to this ContextPartition.

Specified by:
add in interface Partition
entry - the entry to add to this ContextPartition
Throws:
javax.naming.NamingException - if there are any problems

modify

public abstract void modify(org.apache.directory.shared.ldap.name.LdapDN dn,
                            int modOp,
                            javax.naming.directory.Attributes mods)
                     throws javax.naming.NamingException
Description copied from interface: Partition
Modifies an entry by adding, removing or replacing a set of attributes.

Specified by:
modify in interface Partition
Parameters:
dn - the normalized distinguished/absolute name of the entry to modify
modOp - the modification operation to perform on the entry which is one of constants specified by the DirContext interface: ADD_ATTRIBUTE, REMOVE_ATTRIBUTE, REPLACE_ATTRIBUTE.
mods - the attributes and their values used to affect the modification with.
Throws:
javax.naming.NamingException - if there are any problems
See Also:
DirContext, DirContext.ADD_ATTRIBUTE, DirContext.REMOVE_ATTRIBUTE, DirContext.REPLACE_ATTRIBUTE

modify

public abstract void modify(org.apache.directory.shared.ldap.name.LdapDN dn,
                            org.apache.directory.shared.ldap.message.ModificationItemImpl[] mods)
                     throws javax.naming.NamingException
Description copied from interface: Partition
Modifies an entry by using a combination of adds, removes or replace operations using a set of ModificationItems.

Specified by:
modify in interface Partition
Parameters:
dn - the normalized distinguished/absolute name of the entry to modify
mods - the ModificationItems used to affect the modification with
Throws:
javax.naming.NamingException - if there are any problems
See Also:
ModificationItem

list

public javax.naming.NamingEnumeration list(org.apache.directory.shared.ldap.name.LdapDN base)
                                    throws javax.naming.NamingException
Description copied from interface: Partition
A specialized form of one level search used to return a minimal set of information regarding child entries under a base. Convenience method used to optimize operations rather than conducting a full search with retrieval.

Specified by:
list in interface Partition
Parameters:
base - the base distinguished/absolute name for the search/listing
Returns:
a NamingEnumeration containing objects of type SearchResult
Throws:
javax.naming.NamingException - if there are any problems

search

public javax.naming.NamingEnumeration search(org.apache.directory.shared.ldap.name.LdapDN base,
                                             java.util.Map env,
                                             org.apache.directory.shared.ldap.filter.ExprNode filter,
                                             javax.naming.directory.SearchControls searchCtls)
                                      throws javax.naming.NamingException
Description copied from interface: Partition
Conducts a search against this ContextPartition. Namespace specific parameters for search are contained within the environment using namespace specific keys into the hash. For example in the LDAP namespace a ContextPartition implementation may look for search Controls using a namespace specific or implementation specific key for the set of LDAP Controls.

Specified by:
search in interface Partition
Parameters:
base - the normalized distinguished/absolute name of the search base
env - the environment under which operation occurs
filter - the root node of the filter expression tree
searchCtls - the search controls
Returns:
a NamingEnumeration containing objects of type SearchResult.
Throws:
javax.naming.NamingException - if there are any problems

lookup

public javax.naming.directory.Attributes lookup(org.apache.directory.shared.ldap.name.LdapDN dn)
                                         throws javax.naming.NamingException
Description copied from interface: Partition
Looks up an entry by distinguished/absolute name. This is a simplified version of the search operation used to point read an entry used for convenience.

Specified by:
lookup in interface Partition
Parameters:
dn - the normalized distinguished name of the object to lookup
Returns:
an Attributes object representing the entry
Throws:
javax.naming.NamingException - if there are any problems

lookup

public javax.naming.directory.Attributes lookup(org.apache.directory.shared.ldap.name.LdapDN dn,
                                                java.lang.String[] attrIds)
                                         throws javax.naming.NamingException
Description copied from interface: Partition
Looks up an entry by distinguished/absolute name. This is a simplified version of the search operation used to point read an entry used for convenience with a set of attributes to return. If the attributes is null or empty, the returned entry will contain all attributes.

Specified by:
lookup in interface Partition
Parameters:
dn - the normalized distinguished name of the object to lookup
attrIds - the set of attributes to return
Returns:
an Attributes object representing the entry
Throws:
javax.naming.NamingException - if there are any problems

hasEntry

public boolean hasEntry(org.apache.directory.shared.ldap.name.LdapDN dn)
                 throws javax.naming.NamingException
Description copied from interface: Partition
Fast operation to check and see if a particular entry exists.

Specified by:
hasEntry in interface Partition
Parameters:
dn - the normalized distinguished/absolute name of the object to check for existance
Returns:
true if the entry exists, false if it does not
Throws:
javax.naming.NamingException - if there are any problems

modifyRn

public abstract void modifyRn(org.apache.directory.shared.ldap.name.LdapDN dn,
                              java.lang.String newRdn,
                              boolean deleteOldRdn)
                       throws javax.naming.NamingException
Description copied from interface: Partition
Modifies an entry by changing its relative name. Optionally attributes associated with the old relative name can be removed from the entry. This makes sense only in certain namespaces like LDAP and will be ignored if it is irrelavent.

Specified by:
modifyRn in interface Partition
Parameters:
dn - the normalized distinguished/absolute name of the entry to modify the RN of.
newRdn - the new RN of the entry specified by name
deleteOldRdn - boolean flag which removes the old RN attribute from the entry if set to true, and has no affect if set to false
Throws:
javax.naming.NamingException - if there are any problems

move

public abstract void move(org.apache.directory.shared.ldap.name.LdapDN oldChildDn,
                          org.apache.directory.shared.ldap.name.LdapDN newParentDn)
                   throws javax.naming.NamingException
Description copied from interface: Partition
Transplants a child entry, to a position in the namespace under a new parent entry.

Specified by:
move in interface Partition
Parameters:
oldChildDn - the normalized distinguished/absolute name of the original child name representing the child entry to move
newParentDn - the normalized distinguished/absolute name of the new parent to move the target entry to
Throws:
javax.naming.NamingException - if there are any problems

move

public abstract void move(org.apache.directory.shared.ldap.name.LdapDN oldChildDn,
                          org.apache.directory.shared.ldap.name.LdapDN newParentDn,
                          java.lang.String newRdn,
                          boolean deleteOldRdn)
                   throws javax.naming.NamingException
Description copied from interface: Partition
Transplants a child entry, to a position in the namespace under a new parent entry and changes the RN of the child entry which can optionally have its old RN attributes removed. The removal of old RN attributes may not make sense in all namespaces. If the concept is undefined in a namespace this parameters is ignored. An example of a namespace where this parameter is significant is the LDAP namespace.

Specified by:
move in interface Partition
Parameters:
oldChildDn - the normalized distinguished/absolute name of the original child name representing the child entry to move
newParentDn - the normalized distinguished/absolute name of the new parent to move the targeted entry to
newRdn - the new RN of the entry
deleteOldRdn - boolean flag which removes the old RN attribute from the entry if set to true, and has no affect if set to false
Throws:
javax.naming.NamingException - if there are any problems

sync

public abstract void sync()
                   throws javax.naming.NamingException
Description copied from interface: Partition
Flushes any changes made to this partition now.

Specified by:
sync in interface Partition
Throws:
javax.naming.NamingException

destroy

public abstract void destroy()
Description copied from interface: Partition
Deinitialized this partition.

Specified by:
destroy in interface Partition

isInitialized

public abstract boolean isInitialized()
Description copied from interface: Partition
Checks to see if this partition is initialized or not.

Specified by:
isInitialized in interface Partition

isSuffix

public boolean isSuffix(org.apache.directory.shared.ldap.name.LdapDN dn)
                 throws javax.naming.NamingException
Description copied from interface: Partition
Checks to see if name is a context suffix.

Specified by:
isSuffix in interface Partition
Parameters:
dn - the normalized distinguished/absolute name of the context
Returns:
true if the name is a context suffix, false if it is not.
Throws:
javax.naming.NamingException - if there are any problems

inspect

public void inspect()
             throws java.lang.Exception
Throws:
java.lang.Exception

addIndexOn

public abstract void addIndexOn(org.apache.directory.shared.ldap.schema.AttributeType attribute,
                                int cacheSize,
                                int numDupLimit)
                         throws javax.naming.NamingException
Throws:
javax.naming.NamingException

hasUserIndexOn

public abstract boolean hasUserIndexOn(java.lang.String attribute)
                                throws javax.naming.NamingException
Throws:
javax.naming.NamingException

hasSystemIndexOn

public abstract boolean hasSystemIndexOn(java.lang.String attribute)
                                  throws javax.naming.NamingException
Throws:
javax.naming.NamingException

getExistanceIndex

public abstract Index getExistanceIndex()

getHierarchyIndex

public abstract Index getHierarchyIndex()
Gets the Index mapping the BigInteger primary keys of parents to the BigInteger primary keys of their children.

Returns:
the hierarchy Index

getUpdnIndex

public abstract Index getUpdnIndex()
Gets the Index mapping user provided distinguished names of entries as Strings to the BigInteger primary keys of entries.

Returns:
the user provided distinguished name Index

getNdnIndex

public abstract Index getNdnIndex()
Gets the Index mapping the normalized distinguished names of entries as Strings to the BigInteger primary keys of entries.

Returns:
the normalized distinguished name Index

getOneAliasIndex

public abstract Index getOneAliasIndex()
Gets the alias index mapping parent entries with scope expanding aliases children one level below them; this system index is used to dereference aliases on one/single level scoped searches.

Returns:
the one alias index

getSubAliasIndex

public abstract Index getSubAliasIndex()
Gets the alias index mapping relative entries with scope expanding alias descendents; this system index is used to dereference aliases on subtree scoped searches.

Returns:
the sub alias index

getAliasIndex

public abstract Index getAliasIndex()
Gets the system index defined on the ALIAS_ATTRIBUTE which for LDAP would be the aliasedObjectName and for X.500 would be aliasedEntryName.

Returns:
the index on the ALIAS_ATTRIBUTE

setAliasIndexOn

public abstract void setAliasIndexOn(org.apache.directory.shared.ldap.schema.AttributeType attrType,
                                     int cacheSize,
                                     int numDupLimit)
                              throws javax.naming.NamingException
Sets the system index defined on the ALIAS_ATTRIBUTE which for LDAP would be the aliasedObjectName and for X.500 would be aliasedEntryName.

Parameters:
attrType - the index on the ALIAS_ATTRIBUTE
Throws:
javax.naming.NamingException

setExistanceIndexOn

public abstract void setExistanceIndexOn(org.apache.directory.shared.ldap.schema.AttributeType attrType,
                                         int cacheSize,
                                         int numDupLimit)
                                  throws javax.naming.NamingException
Sets the attribute existance Index.

Parameters:
attrType - the attribute existance Index
Throws:
javax.naming.NamingException

setHierarchyIndexOn

public abstract void setHierarchyIndexOn(org.apache.directory.shared.ldap.schema.AttributeType attrType,
                                         int cacheSize,
                                         int numDupLimit)
                                  throws javax.naming.NamingException
Sets the hierarchy Index.

Parameters:
attrType - the hierarchy Index
Throws:
javax.naming.NamingException

setUpdnIndexOn

public abstract void setUpdnIndexOn(org.apache.directory.shared.ldap.schema.AttributeType attrType,
                                    int cacheSize,
                                    int numDupLimit)
                             throws javax.naming.NamingException
Sets the user provided distinguished name Index.

Parameters:
attrType - the updn Index
Throws:
javax.naming.NamingException

setNdnIndexOn

public abstract void setNdnIndexOn(org.apache.directory.shared.ldap.schema.AttributeType attrType,
                                   int cacheSize,
                                   int numDupLimit)
                            throws javax.naming.NamingException
Sets the normalized distinguished name Index.

Parameters:
attrType - the ndn Index
Throws:
javax.naming.NamingException

setOneAliasIndexOn

public abstract void setOneAliasIndexOn(org.apache.directory.shared.ldap.schema.AttributeType attrType,
                                        int cacheSize,
                                        int numDupLimit)
                                 throws javax.naming.NamingException
Sets the alias index mapping parent entries with scope expanding aliases children one level below them; this system index is used to dereference aliases on one/single level scoped searches.

Parameters:
attrType - a one level alias index
Throws:
javax.naming.NamingException

setSubAliasIndexOn

public abstract void setSubAliasIndexOn(org.apache.directory.shared.ldap.schema.AttributeType attrType,
                                        int cacheSize,
                                        int numDupLimit)
                                 throws javax.naming.NamingException
Sets the alias index mapping relative entries with scope expanding alias descendents; this system index is used to dereference aliases on subtree scoped searches.

Parameters:
attrType - a subtree alias index
Throws:
javax.naming.NamingException

getUserIndex

public abstract Index getUserIndex(java.lang.String attribute)
                            throws IndexNotFoundException
Throws:
IndexNotFoundException

getSystemIndex

public abstract Index getSystemIndex(java.lang.String attribute)
                              throws IndexNotFoundException
Throws:
IndexNotFoundException

getEntryId

public abstract java.math.BigInteger getEntryId(java.lang.String dn)
                                         throws javax.naming.NamingException
Throws:
javax.naming.NamingException

getEntryDn

public abstract java.lang.String getEntryDn(java.math.BigInteger id)
                                     throws javax.naming.NamingException
Throws:
javax.naming.NamingException

getParentId

public abstract java.math.BigInteger getParentId(java.lang.String dn)
                                          throws javax.naming.NamingException
Throws:
javax.naming.NamingException

getParentId

public abstract java.math.BigInteger getParentId(java.math.BigInteger childId)
                                          throws javax.naming.NamingException
Throws:
javax.naming.NamingException

getEntryUpdn

public abstract java.lang.String getEntryUpdn(java.math.BigInteger id)
                                       throws javax.naming.NamingException
Gets the user provided distinguished name.

Parameters:
id - the entry id
Returns:
the user provided distinguished name
Throws:
javax.naming.NamingException - if the updn index cannot be accessed

getEntryUpdn

public abstract java.lang.String getEntryUpdn(java.lang.String dn)
                                       throws javax.naming.NamingException
Gets the user provided distinguished name.

Parameters:
dn - the normalized distinguished name
Returns:
the user provided distinguished name
Throws:
javax.naming.NamingException - if the updn and ndn indices cannot be accessed

lookup

public abstract javax.naming.directory.Attributes lookup(java.math.BigInteger id)
                                                  throws javax.naming.NamingException
Throws:
javax.naming.NamingException

delete

public abstract void delete(java.math.BigInteger id)
                     throws javax.naming.NamingException
Throws:
javax.naming.NamingException

list

public abstract javax.naming.NamingEnumeration list(java.math.BigInteger id)
                                             throws javax.naming.NamingException
Throws:
javax.naming.NamingException

getChildCount

public abstract int getChildCount(java.math.BigInteger id)
                           throws javax.naming.NamingException
Throws:
javax.naming.NamingException

getSuffixEntry

public abstract javax.naming.directory.Attributes getSuffixEntry()
                                                          throws javax.naming.NamingException
Throws:
javax.naming.NamingException

setProperty

public abstract void setProperty(java.lang.String key,
                                 java.lang.String value)
                          throws javax.naming.NamingException
Throws:
javax.naming.NamingException

getProperty

public abstract java.lang.String getProperty(java.lang.String key)
                                      throws javax.naming.NamingException
Throws:
javax.naming.NamingException

getUserIndices

public abstract java.util.Iterator getUserIndices()

getSystemIndices

public abstract java.util.Iterator getSystemIndices()

getIndices

public abstract javax.naming.directory.Attributes getIndices(java.math.BigInteger id)
                                                      throws javax.naming.NamingException
Throws:
javax.naming.NamingException

count

public abstract int count()
                   throws javax.naming.NamingException
Gets the count of the total number of entries in the database. TODO shouldn't this be a BigInteger instead of an int?

Returns:
the number of entries in the database
Throws:
javax.naming.NamingException - if there is a failure to read the count


Copyright © 2003-2012 Apache Software Foundation. All Rights Reserved.