netscape.ldap
Class LDAPUrl
- java.io.Serializable
public class LDAPUrl
extends java.lang.Object
implements java.io.Serializable
Represents an LDAP URL. The complete specification for LDAP URLs is in
RFC 1959. In addition, the secure ldap (ldaps://) is also
supported. LDAP URLs have the following format:
"ldap[s]://" [ hostName [":" portNumber] ] "/"
distinguishedName
["?" attributeList ["?" scope
"?" filterString ] ]
where
- all text within double-quotes are literal
hostName
and portNumber
identify the location of the LDAP server.
distinguishedName
is the name of an entry
within the given directory (the entry represents the starting point
of the search)
attributeList
contains a list of attributes
to retrieve (if null, fetch all attributes). This is a comma-delimited
list of attribute names.
scope
is one of the following:
base
indicates that this is a search only for the
specified entry
one
indicates that this is a search for matching entries
one level under the specified entry (and not including the entry itself)
sub
indicates that this is a search for matching entries
at all levels under the specified entry (including the entry itself)
If not specified,
scope
is
base
by
default.
filterString
is a human-readable representation
of the search criteria. This value is used only for one-level or subtree
searches.
Note that if scope
and filterString
are not specified, an LDAP URL identifies exactly one entry in the
directory.
The same encoding rules for other URLs (e.g. HTTP) apply for LDAP
URLs. Specifically, any "illegal" characters are escaped with
%HH
, where HH
represent the
two hex digits which correspond to the ASCII value of the character.
This encoding is only legal (or necessary) on the DN and filter portions
of the URL.
LDAPUrl(String url) - Constructs a URL object with the specified string as URL.
|
LDAPUrl(String host, int port, String DN) - Constructs with the specified host, port, and DN.
|
LDAPUrl(String host, int port, String DN, Enumeration attributes, int scope, String filter) - Constructs a full-blown LDAP URL to specify an LDAP search operation.
|
LDAPUrl(String host, int port, String DN, String[] attributes, int scope, String filter, boolean secure) - Constructs a full-blown LDAP URL to specify an LDAP search operation.
|
LDAPUrl(String host, int port, String DN, attributes[] , int scope, String filter) - Constructs a full-blown LDAP URL to specify an LDAP search operation.
|
static String | decode(String URLEncoded) - Decodes a URL-encoded string.
|
static String | encode(String toEncode) - Encodes an arbitrary string.
|
boolean | equals(LDAPUrl url) - Reports if the two objects represent the same URL
|
String[] | getAttributeArray() - Return the collection of attributes specified in the URL, or null
for "every attribute"
|
Enumeration | getAttributes() - Return the collection of attributes specified in the URL, or null
for "every attribute"
|
String | getDN() - Return the distinguished name encapsulated in the URL
|
String | getFilter() - Returns the search filter (RFC 1558), or the default if none was
specified.
|
String | getHost() - Return the host name of the LDAP server
|
int | getPort() - Return the port number for the LDAP server
|
int | getScope() - Returns the scope of the search, according to the values
SCOPE_BASE, SCOPE_ONE, SCOPE_SUB as defined in LDAPv2.
|
static LDAPSocketFactory | getSocketFactory() - Gets the socket factory to be used for ldaps:// URLs.
|
String | getUrl() - Returns a valid string representation of this LDAP URL.
|
boolean | isSecure() - Returns true if the secure ldap protocol is used.
|
static void | setSocketFactory(LDAPSocketFactory factory) - Sets the socket factory to be used for ldaps:// URLs.
|
String | toString() - Returns the URL in String format
|
DEFAULT_SECURE_PORT
public static final int DEFAULT_SECURE_PORT
The default port number for secure LDAP connections.
netscape.ldap.LDAPUrl.LDAPUrl(java.lang.String, int, java.lang.String, java.lang.String[], int, java.lang.String, boolean)
defaultFilter
public static String defaultFilter
LDAPUrl
public LDAPUrl(String url)
throws java.net.MalformedURLException
Constructs a URL object with the specified string as URL.
url
- LDAP search expression in URL form
LDAPUrl
public LDAPUrl(String host,
int port,
String DN)
Constructs with the specified host, port, and DN. This form is used to
create URL references to a particular object in the directory.
host
- host name of the LDAP server, or null for "nearest X.500/LDAP"port
- port number of the LDAP server (use LDAPv2.DEFAULT_PORT for
the default port)DN
- distinguished name of the object
LDAPUrl
public LDAPUrl(String host,
int port,
String DN,
Enumeration attributes,
int scope,
String filter)
Constructs a full-blown LDAP URL to specify an LDAP search operation.
host
- host name of the LDAP server, or null for "nearest X.500/LDAP"port
- port number of the LDAP server (use LDAPv2.DEFAULT_PORT for
the default port)DN
- distinguished name of the objectattributes
- list of the attributes to return. Use null for "all
attributes."scope
- depth of the search (in DN namespace). Use one of the LDAPv2 scopes:
SCOPE_BASE, SCOPE_ONE, or SCOPE_SUB.filter
- LDAP filter string (as defined in RFC 1558). Use null for
no filter (this effectively makes the URL reference a single object).
LDAPUrl
public LDAPUrl(String host,
int port,
String DN,
String[] attributes,
int scope,
String filter,
boolean secure)
Constructs a full-blown LDAP URL to specify an LDAP search operation.
host
- host name of the LDAP server, or null for "nearest X.500/LDAP"port
- port number of the LDAP server (use LDAPv2.DEFAULT_PORT for
the default non-secure port or LDAPUrl.DEFAULT_SECURE_PORT for the default
secure port)DN
- distinguished name of the objectattributes
- list of the attributes to return. Use null for "all
attributes."scope
- depth of the search (in DN namespace). Use one of the LDAPv2 scopes:
SCOPE_BASE, SCOPE_ONE, or SCOPE_SUB.filter
- LDAP filter string (as defined in RFC 1558). Use null for
no filter (this effectively makes the URL reference a single object).secure
- flag if secure ldap protocol (ldaps) is to be used.
LDAPUrl
public LDAPUrl(String host,
int port,
String DN,
attributes[] ,
int scope,
String filter)
Constructs a full-blown LDAP URL to specify an LDAP search operation.
host
- host name of the LDAP server, or null for "nearest X.500/LDAP"port
- port number of the LDAP server (use LDAPv2.DEFAULT_PORT for
the default port)DN
- distinguished name of the objectscope
- depth of search (in DN namespace). Use one of the LDAPv2 scopes:
SCOPE_BASE, SCOPE_ONE, or SCOPE_SUB.filter
- LDAP filter string (as defined in RFC 1558). Use null for
no filter (this effectively makes the URL reference a single object).
decode
public static String decode(String URLEncoded)
throws MalformedURLException
Decodes a URL-encoded string. Any occurences of %HH are decoded to the
hex value represented. However, this routine does NOT decode "+"
into " ". See RFC 1738 for full details about URL encoding/decoding.
URLEncoded
- a segment of a URL which was encoded using the URL
encoding rules
encode
public static String encode(String toEncode)
Encodes an arbitrary string. Any illegal characters are encoded as
%HH. However, this routine does NOT decode "+" into " " (this is a HTTP
thing, not a general URL thing). Note that, because Sun's URLEncoder
does do this encoding, we can't use it.
See RFC 1738 for full details about URL encoding/decoding.
toEncode
- an arbitrary string to encode for embedding within a URL
equals
public boolean equals(LDAPUrl url)
Reports if the two objects represent the same URL
url
- the object to be compared to
true
if the two are equivalent
getAttributeArray
public String[] getAttributeArray()
Return the collection of attributes specified in the URL, or null
for "every attribute"
- string array of attributes.
getAttributes
public Enumeration getAttributes()
Return the collection of attributes specified in the URL, or null
for "every attribute"
- enumeration of attributes.
getDN
public String getDN()
Return the distinguished name encapsulated in the URL
- target distinguished name.
getFilter
public String getFilter()
Returns the search filter (RFC 1558), or the default if none was
specified.
getHost
public String getHost()
Return the host name of the LDAP server
getPort
public int getPort()
Return the port number for the LDAP server
getScope
public int getScope()
Returns the scope of the search, according to the values
SCOPE_BASE, SCOPE_ONE, SCOPE_SUB as defined in LDAPv2. This refers
to how deep within the directory namespace the search will look
getSocketFactory
public static LDAPSocketFactory getSocketFactory()
Gets the socket factory to be used for ldaps:// URLs.
If the factory is not explicitly specified with
LDAPUrl.setSocketFactory
, the method will
attempt the determine the default factory based on the
available factories in the netscape.ldap.factory package.
- the socket factory to be used for ldaps:// URLs
getUrl
public String getUrl()
Returns a valid string representation of this LDAP URL.
- the LDAP search expression in URL form.
isSecure
public boolean isSecure()
Returns true if the secure ldap protocol is used.
setSocketFactory
public static void setSocketFactory(LDAPSocketFactory factory)
Sets the socket factory to be used for ldaps:// URLs.
Overrides the default factory assigned by the LDAPUrl
class.
factory
- the socket factory to be used for ldaps:// URLs
toString
public String toString()
Returns the URL in String format