@NotMutable @ThreadSafety(level=COMPLETELY_THREADSAFE) public final class LDAPURL extends java.lang.Object implements java.io.Serializable
ldap
", but this implementation also supports the use of the
"ldaps
" scheme to indicate that clients should attempt to
perform SSL-based communication with the target server (LDAPS) rather
than unencrypted LDAP. It will also accept "ldapi
", which is
LDAP over UNIX domain sockets, although the LDAP SDK does not directly
support that mechanism of communication.ldaps
", or a value of 0 if the scheme is
"ldapi
").SearchRequest
class. If no scope is provided, then it should be assumed that a
scope of SearchScope.BASE
should be used.
SearchScope.BASE
.SearchScope.ONE
.SearchScope.SUB
.SearchScope.SUBORDINATE_SUBTREE
.(objectClass=*)
" should be
assumed.toSearchRequest()
method may be used to create a
SearchRequest
object from an LDAP URL.
ldap://
-- This is the smallest possible LDAP URL that can be
represented. The default values will be used for all components other
than the scheme.ldap://server.example.com:1234/dc=example,dc=com?cn,sn?sub?(uid=john)
-- This is an example of a URL containing all of the elements. The
scheme is "ldap
", the host is "server.example.com
",
the port is "1234
", the base DN is "dc=example,dc=com
",
the requested attributes are "cn
" and "sn
", the scope
is "sub
" (which indicates a subtree scope equivalent to
SearchScope.SUB
), and a filter of
"(uid=john)
".Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_LDAP_PORT
The default port number that will be used for LDAP URLs if none is
provided.
|
static int |
DEFAULT_LDAPI_PORT
The default port number that will be used for LDAPI URLs if none is
provided.
|
static int |
DEFAULT_LDAPS_PORT
The default port number that will be used for LDAPS URLs if none is
provided.
|
Constructor and Description |
---|
LDAPURL(java.lang.String urlString)
Creates a new LDAP URL from the provided string representation.
|
LDAPURL(java.lang.String scheme,
java.lang.String host,
java.lang.Integer port,
DN baseDN,
java.lang.String[] attributes,
SearchScope scope,
Filter filter)
Creates a new LDAP URL with the provided information.
|
Modifier and Type | Method and Description |
---|---|
boolean |
attributesProvided()
Indicates whether the URL explicitly included an attribute list.
|
boolean |
baseDNProvided()
Indicates whether the URL explicitly included a base DN.
|
boolean |
equals(java.lang.Object o)
Indicates whether the provided object is equal to this LDAP URL.
|
boolean |
filterProvided()
Indicates whether the URL explicitly included a search filter.
|
java.lang.String[] |
getAttributes()
Retrieves the attribute list for this LDAP URL.
|
DN |
getBaseDN()
Retrieves the base DN for this LDAP URL.
|
Filter |
getFilter()
Retrieves the filter for this LDAP URL.
|
java.lang.String |
getHost()
Retrieves the host for this LDAP URL.
|
int |
getPort()
Retrieves the port for this LDAP URL.
|
java.lang.String |
getScheme()
Retrieves the scheme for this LDAP URL.
|
SearchScope |
getScope()
Retrieves the scope for this LDAP URL.
|
int |
hashCode()
Retrieves a hash code for this LDAP URL.
|
boolean |
hostProvided()
Indicates whether the URL explicitly included a host address.
|
static java.lang.String |
percentDecode(java.lang.String s)
Decodes any percent-encoded values that may be contained in the provided
string.
|
boolean |
portProvided()
Indicates whether the URL explicitly included a port number.
|
boolean |
scopeProvided()
Indicates whether the URL explicitly included a search scope.
|
java.lang.String |
toNormalizedString()
Retrieves a normalized string representation of this LDAP URL.
|
void |
toNormalizedString(java.lang.StringBuilder buffer)
Appends a normalized string representation of this LDAP URL to the provided
buffer.
|
SearchRequest |
toSearchRequest()
Creates a search request containing the base DN, scope, filter, and
requested attributes from this LDAP URL.
|
java.lang.String |
toString()
Retrieves a string representation of this LDAP URL.
|
public static final int DEFAULT_LDAP_PORT
public static final int DEFAULT_LDAPS_PORT
public static final int DEFAULT_LDAPI_PORT
public LDAPURL(@NotNull java.lang.String urlString) throws LDAPException
urlString
- The string representation for this LDAP URL. It must
not be null
.LDAPException
- If the provided URL string cannot be parsed as an
LDAP URL.public LDAPURL(@NotNull java.lang.String scheme, @Nullable java.lang.String host, @Nullable java.lang.Integer port, @Nullable DN baseDN, @Nullable java.lang.String[] attributes, @Nullable SearchScope scope, @Nullable Filter filter) throws LDAPException
scheme
- The scheme for this LDAP URL. It must not be
null
and must be either "ldap", "ldaps", or
"ldapi".host
- The host for this LDAP URL. It may be null
if
no host is to be included.port
- The port for this LDAP URL. It may be null
if
no port is to be included. If it is provided, it must
be between 1 and 65535, inclusive.baseDN
- The base DN for this LDAP URL. It may be null
if no base DN is to be included.attributes
- The set of requested attributes for this LDAP URL. It
may be null
or empty if no attribute list is to
be included.scope
- The scope for this LDAP URL. It may be null
if
no scope is to be included. Otherwise, it must be a
value between zero and three, inclusive.filter
- The filter for this LDAP URL. It may be null
if no filter is to be included.LDAPException
- If there is a problem with any of the provided
arguments.@NotNull public static java.lang.String percentDecode(@NotNull java.lang.String s) throws LDAPException
s
- The string to be decoded.LDAPException
- If a problem occurs while attempting to decode the
provided string.@NotNull public java.lang.String getScheme()
@Nullable public java.lang.String getHost()
null
if the URL does not
include a host and the client is supposed to have some external
knowledge of what the host should be.public boolean hostProvided()
true
if the URL explicitly included a host address, or
false
if it did not.public int getPort()
public boolean portProvided()
true
if the URL explicitly included a port number, or
false
if it did not and the default should be used.@NotNull public DN getBaseDN()
public boolean baseDNProvided()
true
if the URL explicitly included a base DN, or
false
if it did not and the default should be used.@NotNull public java.lang.String[] getAttributes()
public boolean attributesProvided()
true
if the URL explicitly included an attribute list, or
false
if it did not and the default should be used.@NotNull public SearchScope getScope()
public boolean scopeProvided()
true
if the URL explicitly included a search scope, or
false
if it did not and the default should be used.@NotNull public Filter getFilter()
public boolean filterProvided()
true
if the URL explicitly included a search filter, or
false
if it did not and the default should be used.@NotNull public SearchRequest toSearchRequest()
public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(@Nullable java.lang.Object o)
equals
in class java.lang.Object
o
- The object for which to make the determination.true
if the provided object is equal to this LDAP URL, or
false
if not.@NotNull public java.lang.String toString()
toString
in class java.lang.Object
@NotNull public java.lang.String toNormalizedString()
public void toNormalizedString(@NotNull java.lang.StringBuilder buffer)
buffer
- The buffer to which to append the normalized string
representation of this LDAP URL.