|
![]() |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.nitido.directory.jndi.DirectoryImpl
public class DirectoryImpl
The DirectoryImpl class implements the Directory interface by using the Sun JNDI Directory extension. This class can be configured to use different type of JNDI implementation
Field Summary | |
---|---|
static java.lang.String |
CONF_KEY_CONNECT_POOL
Configuration key for enabling the connection pool. |
static java.lang.String |
CONF_KEY_INITIAL_CONTEXT_FACTORY
Configuration key for the initial context factory. |
static java.lang.String |
CONF_KEY_REFERRAL
Configuration key for determining how the JNDI library handles referrals. |
static int |
SCOPE_BASE
|
static int |
SCOPE_ONE
|
static int |
SCOPE_SUB
|
Method Summary | |
---|---|
void |
addAttributeValue(java.lang.String entryDN,
java.lang.String name,
java.io.Serializable value)
Add Serializable attribute. |
void |
addAttributeValues(java.lang.String entryDN,
java.lang.String name,
java.util.Vector values)
Add attribute (for multi value attributes). |
void |
addEntry(Entry entry)
Add a new entry. |
void |
bind()
Rebinding to the directory service with the same username and password. |
void |
bind(java.lang.String username,
java.lang.String password)
Rebinding to the directory service with new username and password. |
void |
connect(java.lang.String username,
java.lang.String password)
Create the connection to the directory server. |
void |
disconnect()
Disconnect the connection to the directory server. |
java.lang.String |
getBase()
Get Base DN. |
Entry |
getEntry(java.lang.String entryDN,
java.lang.String[] attrIDs)
Get an Entry with the specified attributes. |
java.util.Enumeration |
getRoots()
Get the roots. |
int |
getScope()
Get Scope. |
int |
getScopeBASE()
Get value of constant BASE. |
int |
getScopeONE()
Get value of constant ONE. |
int |
getScopeSUB()
Get value of constant SUB. |
java.lang.String |
getUserName()
Get User Name. |
boolean |
isConnected()
Check whether the connection is connected. |
void |
modifyAttributeValue(java.lang.String entryDN,
java.lang.String name,
java.io.Serializable value)
Modify Serializable attribute. |
void |
modifyAttributeValues(java.lang.String entryDN,
java.lang.String name,
java.util.Vector values)
Modify attribute (for multi value attributes). |
void |
modifyEntry(java.lang.String entryDN,
DirModifier[] modifiers)
Modify a specific entry with multiple changes to the attributes. |
void |
removeAttributeValue(java.lang.String entryDN,
java.lang.String attribute,
java.io.Serializable value)
Remove a Serializable attribute value. |
void |
removeAttributeValues(java.lang.String entryDN,
java.lang.String attribute)
Remove all attribute value under the attribute name. |
void |
removeEntry(java.lang.String entryDN)
Remove an entry. |
java.util.Vector |
search(java.lang.String filter)
Search with the specific filter. |
java.util.Vector |
search(java.lang.String filter,
java.lang.String[] attrs)
Search with the specific filter and return the specific attributes. |
java.util.Vector |
search(java.lang.String base,
java.lang.String filter,
java.lang.String[] attrs)
Search with the specific filter and return the specific attributes. |
void |
setBase(java.lang.String base)
Set the base DN for the directory access. |
void |
setScope(int scope)
Set the scope. |
void |
terminate()
This method not only disconnect the underlying connection, but also removing the connection from any potential connection pool completely. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String CONF_KEY_INITIAL_CONTEXT_FACTORY
public static final java.lang.String CONF_KEY_REFERRAL
public static final java.lang.String CONF_KEY_CONNECT_POOL
public static final int SCOPE_SUB
public static final int SCOPE_ONE
public static final int SCOPE_BASE
Method Detail |
---|
public void connect(java.lang.String username, java.lang.String password) throws java.lang.IllegalArgumentException, DirAuthenticationFailedException, java.lang.IllegalStateException, DirReferralException, DirectoryException
Directory
The package description contains the exception handling guide.
connect
in interface Directory
username
- The username to authenticate with to the directory.password
- The password to authenticate with to the directory.
java.lang.IllegalArgumentException
- This runtime exception is thrown if the parameters (username and
password) or the underlying settings (host and port) are illegal
or invalid.
DirAuthenticationFailedException
- This exception is thrown if the authorization fails. This problem
may be caused by invalid username/password/base/scope. Since this
exception inherit from DirectoryException, you don't need to catch
it explicitly. However, if you want to catch it, you should catch
it before catching DirectoryException.
java.lang.IllegalStateException
- This runtime exception is thrown if this object is in illegal state.
(For example, the directory has been connected already)
DirReferralException
- The exception for LDAP referrals.
DirectoryException
- The exception for general system error, including network failures,
protocol errors and naming problems.
com.nitido.directory
public boolean isConnected()
Directory
isConnected
in interface Directory
public void disconnect() throws DirReferralException, DirectoryException
Directory
If the directory has already been disconnected, this method would not throw any exception (i.e. just return without doing anything). This method will never throw IllegalArgumentException or IllegalStateException.
The package description contains the exception handling guide.
disconnect
in interface Directory
DirReferralException
- The exception for LDAP referrals.
DirectoryException
- The exception for general system error.
com.nitido.directory
public void terminate() throws DirReferralException, DirectoryException
Directory
This method is mainly used to help releasing connection that the application noticed there is some problem. It is also good for handling errors from the backend server that fails to reset the connection after a major error (or the backend server drops a connection when they don't really need to).
Once this method has been completed successfully, no more LDAP operation is allowed. The caller must invoke connect() again if it needs to perform additional operations.
If the directory has already been disconnected, this method would not throw any exception (i.e. just return without doing anything). This method will never throw IllegalArgumentException or IllegalStateException.
The package description contains the exception handling guide.
terminate
in interface Directory
DirReferralException
- The exception for LDAP referrals.
DirectoryException
- The exception for general system error.
com.nitido.directory
public void bind() throws java.lang.IllegalArgumentException, DirAuthenticationFailedException, java.lang.IllegalStateException, DirReferralException, DirectoryException
Directory
The package description contains the exception handling guide.
bind
in interface Directory
java.lang.IllegalArgumentException
- This runtime exception is thrown if the parameters (username and
password) or the underlying settings (host and port) are illegal
or invalid.
DirAuthenticationFailedException
- This exception is thrown if the authorization fails. This problem
may be caused by invalid username/password/base/scope. Since this
exception inherit from DirectoryException, you don't need to catch
it explicitly. However, if you want to catch it, you should catch
it before catching DirectoryException.
java.lang.IllegalStateException
- This runtime exception is thrown if this object is in illegal state.
DirReferralException
- The exception for LDAP referrals.
DirectoryException
- The exception for general system error, including network failures,
protocol errors and naming problems.
com.nitido.directory
public void bind(java.lang.String username, java.lang.String password) throws java.lang.IllegalArgumentException, DirAuthenticationFailedException, java.lang.IllegalStateException, DirReferralException, DirectoryException
Directory
The package description contains the exception handling guide.
bind
in interface Directory
username
- The new usernamepassword
- The new password
java.lang.IllegalArgumentException
- This runtime exception is thrown if the parameters (username and
password) or the underlying settings (host and port) are illegal
or invalid.
DirAuthenticationFailedException
- This exception is thrown if the authorization fails. This problem
may be caused by invalid username/password/base/scope. Since this
exception inherit from DirectoryException, you don't need to catch
it explicitly. However, if you want to catch it, you should catch
it before catching DirectoryException.
java.lang.IllegalStateException
- This runtime exception is thrown if this object is in illegal state.
DirReferralException
- The exception for LDAP referrals.
DirectoryException
- The exception for general system error, including network failures,
protocol errors and naming problems.
com.nitido.directory
public java.util.Vector search(java.lang.String filter) throws IllegalSearchFilterException, java.lang.IllegalArgumentException, java.lang.IllegalStateException, DirReferralException, DirectoryException
Directory
The developer should have invoked the setBase() method before invoking this method. If this is not the case, this method will throw an IllegalStateException. The developer should invoke the other search() methods that takes the base DN as the parameter.
The package description contains the exception handling guide.
search
in interface Directory
filter
- the filter string, e.g. "(name=*)".
IllegalSearchFilterException
- This runtime exception is thrown if the search filter is invalid or
illegal. (e.g. the filter doesn't have the closing bracket.)
Note: This exception inherits from java.lang.IllegalArgumentException.
java.lang.IllegalArgumentException
- This runtime exception is thrown if this object has an invalid or
illegal base (which can be changed by the method setScope( String ) ).
java.lang.IllegalStateException
- This runtime exception is thrown if this object is in illegal state.
(i.e. it has not been connected.)
DirReferralException
- The exception for LDAP referrals.
DirectoryException
- The exception for general system error, including network failures,
protocol errors and naming problems.
com.nitido.directory
public java.util.Vector search(java.lang.String filter, java.lang.String[] attrs) throws IllegalSearchFilterException, java.lang.IllegalArgumentException, java.lang.IllegalStateException, DirReferralException, DirectoryException
Directory
Even if the attribute list contains invalid attribute names, this method will not throw any exception. Those bad attribute names are simply ignored.
The developer should have invoked the setBase() method before invoking this method. If this is not the case, this method will throw an IllegalStateException. The developer should invoke the other search() methods that takes the base DN as the parameter.
The package description contains the exception handling guide.
search
in interface Directory
filter
- the filter string, e.g. "name=*".attrs
- The names of the attributes you want to fetch.
IllegalSearchFilterException
- This runtime exception is thrown if the search filter is invalid or
illegal. (e.g. the filter doesn't have the closing bracket.)
Note: This exception inherits from java.lang.IllegalArgumentException.
java.lang.IllegalArgumentException
- This runtime exception is thrown if this object has an invalid or
illegal base (which can be changed by the method setScope( String ) ).
java.lang.IllegalStateException
- This runtime exception is thrown if this object is in illegal state.
(i.e. it has not been connected.)
DirReferralException
- The exception for LDAP referrals.
DirectoryException
- The exception for general system error, including network failures,
protocol errors and naming problems.
com.nitido.directory
public java.util.Vector search(java.lang.String base, java.lang.String filter, java.lang.String[] attrs) throws IllegalSearchFilterException, java.lang.IllegalArgumentException, java.lang.IllegalStateException, DirReferralException, DirectoryException
Directory
Even if the attribute list contains invalid attribute names, this method will not throw any exception. Those bad attribute names are simply ignored.
The package description contains the exception handling guide.
search
in interface Directory
base
- the base DN for the search.filter
- the filter string, e.g. "name=*".attrs
- The names of the attributes you want to fetch.
IllegalSearchFilterException
- This runtime exception is thrown if the search filter is invalid or
illegal. (e.g. the filter doesn't have the closing bracket.)
Note: This exception inherits from java.lang.IllegalArgumentException.
java.lang.IllegalArgumentException
- This runtime exception is thrown if the parameter "base" is invalid.
java.lang.IllegalStateException
- This runtime exception is thrown if this object is in illegal state.
(i.e. it has not been connected.)
DirReferralException
- The exception for LDAP referrals.
DirectoryException
- The exception for general system error, including network failures,
protocol errors and naming problems.
com.nitido.directory
public Entry getEntry(java.lang.String entryDN, java.lang.String[] attrIDs) throws IllegalEntryDNException, java.lang.IllegalStateException, DirReferralException, DirectoryException
Directory
Even if the attribute list contains invalid attribute names, this method will not throw any exception. Those bad attribute names are simply ignored.
The package description contains the exception handling guide.
getEntry
in interface Directory
entryDN
- The target entry's DN.attrIDs
- The names of the attributes you want to fetch. If it is null,
it returns all attributes of the entry.
IllegalEntryDNException
- This runtime exception is thrown if the specified entryDN is
illegal. (e.g. null, parent/node doesn't exists or has syntax error.)
Note: This exception inherits from java.lang.IllegalArgumentException.
java.lang.IllegalStateException
- This runtime exception is thrown if this object is in illegal state.
(i.e. it has not been connected.)
DirReferralException
- The exception for LDAP referrals.
DirectoryException
- The exception for general system error, including network failures,
protocol errors and naming problems.
com.nitido.directory
public void addEntry(Entry entry) throws DirEntryAlreadyExistsException, IllegalEntryDNException, DirSchemaViolationException, java.lang.IllegalStateException, DirReferralException, DirectoryException
Directory
The package description contains the exception handling guide.
addEntry
in interface Directory
entry
- The new entry being added to the directory.
DirEntryAlreadyExistsException
- This exception is thrown if the new entry already exists
in the backend directory.
IllegalEntryDNException
- This runtime exception is thrown if the specified entryDN is
illegal. (e.g. null, parent doesn't exists or has syntax error)
Note: This exception inherits from java.lang.IllegalArgumentException.
DirSchemaViolationException
- This exception is thrown if the modification violates the schema,
such as missing required attribute, incorrect attribute value type,
or failed to satisfy the attribute value constraint (e.g. adding
multi-values to a single-value attribute).
java.lang.IllegalStateException
- This runtime exception is thrown if this object is in illegal state.
(i.e. it has not been connected.)
DirReferralException
- The exception for LDAP referrals.
DirectoryException
- The exception for general system error, including network failures,
protocol errors and naming problems.
com.nitido.directory
public void removeEntry(java.lang.String entryDN) throws IllegalEntryDNException, java.lang.IllegalStateException, DirReferralException, DirectoryException
Directory
The package description contains the exception handling guide.
removeEntry
in interface Directory
entryDN
- The target entry's DN.
IllegalEntryDNException
- This runtime exception is thrown if the specified entryDN is
illegal. (e.g. null, parent doesn't exists or has syntax error)
Note: This exception inherits from java.lang.IllegalArgumentException
java.lang.IllegalStateException
- This runtime exception is thrown if this object is in illegal state.
(i.e. it has not been connected.)
DirReferralException
- The exception for LDAP referrals.
DirectoryException
- The exception for general system error, including network failures,
protocol errors and naming problems. This exception can be also
thrown if the server cannot remove the entry due to schema or
LDAP constraint (e.g. can't remove a non-leaf node).
com.nitido.directory
public void removeAttributeValue(java.lang.String entryDN, java.lang.String attribute, java.io.Serializable value) throws IllegalEntryDNException, DirSchemaViolationException, java.lang.IllegalStateException, DirReferralException, DirectoryException
Directory
The package description contains the exception handling guide.
removeAttributeValue
in interface Directory
entryDN
- The target entry's DN.attribute
- The name of the attribute.value
- The value of the attribute to be removed. This parameter is mainly
used by multi-valued attribute and thus, it is optional. If the caller
pass null and the attribute is multivalued, all values of the
attribute will be removed.
IllegalEntryDNException
- This runtime exception is thrown if the specified entryDN is
illegal. (e.g. null, parent doesn't exists or has syntax error)
Note: This exception inherits from java.lang.IllegalArgumentException.
DirSchemaViolationException
- This exception is thrown if the modification violates the schema,
such as removing a required attribute.
java.lang.IllegalStateException
- This runtime exception is thrown if this object is in illegal state.
(i.e. it has not been connected.)
DirReferralException
- The exception for LDAP referrals.
DirectoryException
- The exception for general system error, including network failures,
protocol errors and naming problems.
com.nitido.directory
public void modifyAttributeValue(java.lang.String entryDN, java.lang.String name, java.io.Serializable value) throws IllegalEntryDNException, DirSchemaViolationException, java.lang.IllegalStateException, DirReferralException, DirectoryException
Directory
The package description contains the exception handling guide.
modifyAttributeValue
in interface Directory
entryDN
- The target entry's DN.name
- The name of the attribute.value
- the attribute value to be compared.
IllegalEntryDNException
- This runtime exception is thrown if the specified entryDN is
illegal. (e.g. null, parent doesn't exists or has syntax error)
Note: This exception inherits from java.lang.IllegalArgumentException.
DirSchemaViolationException
- This exception is thrown if the modification violates the schema,
such as missing required attribute, incorrect attribute value type,
or failed to satisfy the attribute value constraint.
java.lang.IllegalStateException
- This runtime exception is thrown if this object is in illegal state.
(i.e. it has not been connected.)
DirReferralException
- The exception for LDAP referrals.
DirectoryException
- The exception for general system error, including network failures,
protocol errors and naming problems.
com.nitido.directory
public void addAttributeValue(java.lang.String entryDN, java.lang.String name, java.io.Serializable value) throws IllegalEntryDNException, DirSchemaViolationException, java.lang.IllegalStateException, DirReferralException, DirectoryException
Directory
The package description contains the exception handling guide.
addAttributeValue
in interface Directory
entryDN
- The target entry's DN.name
- The name of the attribute.value
- the attribute value to be compared.
IllegalEntryDNException
- This runtime exception is thrown if the specified entryDN is
illegal. (e.g. null, parent doesn't exists or has syntax error)
Note: This exception inherits from java.lang.IllegalArgumentException.
DirSchemaViolationException
- This exception is thrown if the modification violates the schema,
such as missing required attribute, incorrect attribute value type,
or failed to satisfy the attribute value constraint (e.g. adding
multi-values to a single-value attribute).
java.lang.IllegalStateException
- This runtime exception is thrown if this object is in illegal state.
(i.e. it has not been connected.)
DirReferralException
- The exception for LDAP referrals.
DirectoryException
- The exception for general system error, including network failures,
protocol errors and naming problems.
com.nitido.directory
public void removeAttributeValues(java.lang.String entryDN, java.lang.String attribute) throws IllegalEntryDNException, DirSchemaViolationException, java.lang.IllegalStateException, DirReferralException, DirectoryException
Directory
The package description contains the exception handling guide.
removeAttributeValues
in interface Directory
entryDN
- The target entry's DN.attribute
- The name of the attribute.
IllegalEntryDNException
- This runtime exception is thrown if the specified entryDN is
illegal. (e.g. null, parent doesn't exists or has syntax error)
Note: This exception inherits from java.lang.IllegalArgumentException.
DirSchemaViolationException
- This exception is thrown if the modification violates the schema,
such as removing a required attribute.
java.lang.IllegalStateException
- This runtime exception is thrown if this object is in illegal state.
(i.e. it has not been connected.)
DirReferralException
- The exception for LDAP referrals.
DirectoryException
- The exception for general system error, including network failures,
protocol errors and naming problems.
com.nitido.directory
public void modifyAttributeValues(java.lang.String entryDN, java.lang.String name, java.util.Vector values) throws IllegalEntryDNException, DirSchemaViolationException, java.lang.IllegalStateException, DirReferralException, DirectoryException
Directory
The package description contains the exception handling guide.
modifyAttributeValues
in interface Directory
entryDN
- The target entry's DN.name
- The name of the attribute.values
- the attribute values to be modify. It can be either a vector of
string or a vector of serializable. (It determines the vector type
by the first element of the vector.)
IllegalEntryDNException
- This runtime exception is thrown if the specified entryDN is
illegal. (e.g. null, parent doesn't exists or has syntax error)
Note: This exception inherits from java.lang.IllegalArgumentException.
DirSchemaViolationException
- This exception is thrown if the modification violates the schema,
such as missing required attribute, incorrect attribute value type,
or failed to satisfy the attribute value constraint (e.g. adding
multi-values to a single-value attribute).
java.lang.IllegalStateException
- This runtime exception is thrown if this object is in illegal state.
(i.e. it has not been connected.)
DirReferralException
- The exception for LDAP referrals.
DirectoryException
- The exception for general system error, including network failures,
protocol errors and naming problems.
com.nitido.directory
public void addAttributeValues(java.lang.String entryDN, java.lang.String name, java.util.Vector values) throws IllegalEntryDNException, DirSchemaViolationException, java.lang.IllegalStateException, DirReferralException, DirectoryException
Directory
The package description contains the exception handling guide.
addAttributeValues
in interface Directory
entryDN
- The target entry's DN.name
- The name of the attribute.values
- the attribute values to be add. It can be either a vector of
string or a vector of serializable. (It determines the vector type
by the first element of the vector.)
IllegalEntryDNException
- This runtime exception is thrown if the specified entryDN is
illegal. (e.g. null, parent doesn't exists or has syntax error.)
Note: This exception inherits from java.lang.IllegalArgumentException.
DirSchemaViolationException
- This exception is thrown if the modification violates the schema,
such as missing required attribute, incorrect attribute value type,
or failed to satisfy the attribute value constraint (e.g. adding
multi-values to a single-value attribute).
java.lang.IllegalStateException
- This runtime exception is thrown if this object is in illegal state.
(i.e. it has not been connected.)
DirReferralException
- The exception for LDAP referrals.
DirectoryException
- The exception for general system error, including network failures,
protocol errors and naming problems.
com.nitido.directory
public void modifyEntry(java.lang.String entryDN, DirModifier[] modifiers) throws IllegalEntryDNException, DirSchemaViolationException, java.lang.IllegalStateException, DirReferralException, DirectoryException
Directory
Unlike the other attribute modification methods, this method is responsible for updating multiple attributes of the same entry at the same time (instead of one-by-one). This method should be used whenever you need to modify more than one attribute in order to improve the performance.
The package description contains the exception handling guide.
modifyEntry
in interface Directory
entryDN
- The target entry's DN.modifiers
- An array of DirModifier that describes the actions and the attributes
to be modified.
IllegalEntryDNException
DirSchemaViolationException
java.lang.IllegalStateException
DirReferralException
DirectoryException
public void setBase(java.lang.String base) throws java.lang.IllegalArgumentException
Directory
setBase
in interface Directory
base
- the new base DN.
java.lang.IllegalArgumentException
- This exception is thrown if the parameter is null.public void setScope(int scope) throws java.lang.IllegalArgumentException
Directory
setScope
in interface Directory
scope
- The new scope for search.
java.lang.IllegalArgumentException
- This exception is thrown if the parameter is not supported.public int getScopeSUB()
Directory
getScopeSUB
in interface Directory
public int getScopeBASE()
Directory
getScopeBASE
in interface Directory
public int getScopeONE()
Directory
getScopeONE
in interface Directory
public java.lang.String getBase()
Directory
getBase
in interface Directory
public java.lang.String getUserName()
Directory
getUserName
in interface Directory
public int getScope()
Directory
getScope
in interface Directory
public java.util.Enumeration getRoots() throws DirectoryException
Directory
The package description contains the exception handling guide.
getRoots
in interface Directory
DirReferralException
- The exception for LDAP referrals.
DirectoryException
- The exception for general system error, including network failures,
protocol errors and naming problems.
com.nitido.directory
|
Nitido NiM 2.5 Java API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright © 1999-2009 Nitido Inc. Proprietary and Confidential. All Rights Reserved.