|
![]() |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.nitido.nimx.services.dirpool.mozilla.DirectoryImpl
public class DirectoryImpl
This class implements the Directory interface by using the Netscape set of libraries.
Field Summary | |
---|---|
protected DirConnection |
_dirCon
|
protected DirPoolServiceImpl |
_poolService
|
protected int |
SCOPE_BASE
|
protected int |
SCOPE_ONE
|
protected int |
SCOPE_SUB
|
Method Summary | |
---|---|
void |
addAttributeValue(java.lang.String dn,
java.lang.String name,
java.io.Serializable value)
Add Serializable attribute. |
void |
addAttributeValues(java.lang.String dn,
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[] attributes)
Get an Entry with the specified attributes. |
java.lang.String |
getPoolName()
|
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 dn,
java.lang.String name,
java.io.Serializable value)
Modify Serializable attribute. |
void |
modifyAttributeValues(java.lang.String dn,
java.lang.String name,
java.util.Vector values)
Modify attribute (for multi value attributes). |
void |
modifyEntry(java.lang.String dn,
DirModifier[] modifiers)
Modify a specific entry with multiple changes to the attributes. |
void |
removeAttributeValue(java.lang.String dn,
java.lang.String attribute,
java.io.Serializable value)
Remove a Serializable attribute value. |
void |
removeAttributeValues(java.lang.String dn,
java.lang.String attribute)
Remove all attribute value under the attribute name. |
void |
removeEntry(java.lang.String dn)
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[] attributes)
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[] attributes)
Search with the specific filter and return the specific attributes. |
java.util.Vector |
search(java.lang.String baseDN,
java.lang.String filter,
java.lang.String[] attributes,
long maxResult)
|
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 |
---|
protected final int SCOPE_SUB
protected final int SCOPE_ONE
protected final int SCOPE_BASE
protected final DirPoolServiceImpl _poolService
protected transient DirConnection _dirCon
Method Detail |
---|
public void connect(java.lang.String username, java.lang.String password) throws DirAuthenticationFailedException, 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.
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.
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 disconnect() throws 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 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 DirAuthenticationFailedException, DirectoryException
Directory
The package description contains the exception handling guide.
bind
in interface Directory
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.
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 DirAuthenticationFailedException, DirectoryException
Directory
The package description contains the exception handling guide.
bind
in interface Directory
username
- The new usernamepassword
- The new password
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.
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[] attributes) 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=*".attributes
- 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[] attributes) 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=*".attributes
- 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 java.util.Vector search(java.lang.String baseDN, java.lang.String filter, java.lang.String[] attributes, long maxResult) throws IllegalSearchFilterException, java.lang.IllegalArgumentException, java.lang.IllegalStateException, DirReferralException, DirectoryException
IllegalSearchFilterException
java.lang.IllegalArgumentException
java.lang.IllegalStateException
DirReferralException
DirectoryException
public Entry getEntry(java.lang.String entryDN, java.lang.String[] attributes) 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.attributes
- 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 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.
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).
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 dn) throws DirectoryException
Directory
The package description contains the exception handling guide.
removeEntry
in interface Directory
dn
- The target entry's DN.
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 dn, java.lang.String attribute, java.io.Serializable value) throws DirectoryException
Directory
The package description contains the exception handling guide.
removeAttributeValue
in interface Directory
dn
- 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.
DirSchemaViolationException
- This exception is thrown if the modification violates the schema,
such as removing a required attribute.
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 dn, java.lang.String name, java.io.Serializable value) throws DirectoryException
Directory
The package description contains the exception handling guide.
modifyAttributeValue
in interface Directory
dn
- The target entry's DN.name
- The name of the attribute.value
- the attribute value to be compared.
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.
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 dn, java.lang.String name, java.io.Serializable value) throws DirectoryException
Directory
The package description contains the exception handling guide.
addAttributeValue
in interface Directory
dn
- The target entry's DN.name
- The name of the attribute.value
- the attribute value to be compared.
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).
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 dn, java.lang.String attribute) throws DirectoryException
Directory
The package description contains the exception handling guide.
removeAttributeValues
in interface Directory
dn
- The target entry's DN.attribute
- The name of the attribute.
DirSchemaViolationException
- This exception is thrown if the modification violates the schema,
such as removing a required attribute.
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 dn, java.lang.String name, java.util.Vector values) throws DirectoryException
Directory
The package description contains the exception handling guide.
modifyAttributeValues
in interface Directory
dn
- 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.)
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).
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 dn, DirModifier[] modifiers) throws 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
dn
- The target entry's DN.modifiers
- An array of DirModifier that describes the actions and the attributes
to be modified.
DirectoryException
public void addAttributeValues(java.lang.String dn, java.lang.String name, java.util.Vector values) throws DirectoryException
Directory
The package description contains the exception handling guide.
addAttributeValues
in interface Directory
dn
- 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.)
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).
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 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 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 int getScopeSUB()
Directory
getScopeSUB
in interface Directory
public int getScopeONE()
Directory
getScopeONE
in interface Directory
public int getScopeBASE()
Directory
getScopeBASE
in interface Directory
public java.lang.String getBase()
Directory
getBase
in interface Directory
public int getScope()
Directory
getScope
in interface Directory
public java.lang.String getUserName()
Directory
getUserName
in interface Directory
public java.lang.String getPoolName()
public java.util.Enumeration getRoots() throws java.lang.IllegalStateException, DirReferralException, DirectoryException
Directory
The package description contains the exception handling guide.
getRoots
in interface Directory
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 boolean isConnected()
Directory
isConnected
in interface 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.