Package com.unboundid.ldap.sdk
Class RootDSE
- java.lang.Object
-
- com.unboundid.ldap.sdk.Entry
-
- com.unboundid.ldap.sdk.ReadOnlyEntry
-
- com.unboundid.ldap.sdk.RootDSE
-
- All Implemented Interfaces:
LDIFRecord
,java.io.Serializable
- Direct Known Subclasses:
UnboundIDRootDSE
@NotExtensible @NotMutable @ThreadSafety(level=COMPLETELY_THREADSAFE) public class RootDSE extends ReadOnlyEntry
This class provides a data structure for representing the directory server root DSE. This entry provides information about the capabilities of the directory server, server vendor and version information, and published naming contexts.
Note a root DSE object instance represents a read-only version of an entry, so all read operations allowed for an entry will succeed, but all write attempts will be rejected.
Example
The following example demonstrates the process for retrieving the root DSE of a directory server and using it to determine whether it supports theServerSideSortRequestControl
:RootDSE rootDSE = connection.getRootDSE(); if (rootDSE.supportsControl( ServerSideSortRequestControl.SERVER_SIDE_SORT_REQUEST_OID)) { // The directory server does support the server-side sort control. } else { // The directory server does not support the server-side sort control. }
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
ATTR_ALT_SERVER
The name of the attribute that includes a set of URIs (likely in the form of LDAP URLs) of other servers that may be contacted if the target server is unavailable, as defined in RFC 4512 section 5.1.static java.lang.String
ATTR_CHANGELOG_DN
The name of the attribute that specifies the DN that is the base of the LDAP changelog data, if available, as defined in draft-good-ldap-changelog.static java.lang.String
ATTR_FIRST_CHANGE_NUMBER
The name of the attribute that may contain the change number for the first entry in the LDAP changelog.static java.lang.String
ATTR_LAST_CHANGE_NUMBER
The name of the attribute that may contain the change number for the last entry in the LDAP changelog, if available.static java.lang.String
ATTR_LAST_PURGED_CHANGE_NUMBER
The name of the attribute that may contain the change number for the last entry purged from the LDAP changelog, if available.static java.lang.String
ATTR_NAMING_CONTEXT
The name of the attribute that includes the DNs of the public naming contexts defined in the server, as defined in RFC 4512 section 5.1.static java.lang.String
ATTR_SUBSCHEMA_SUBENTRY
The name of the attribute that specifies the DN of the subschema subentry that serves the server root DSE, as defined in RFC 4512 section 4.2.static java.lang.String
ATTR_SUPPORTED_AUTH_PASSWORD_STORAGE_SCHEME
The name of the attribute that includes the names of the supported authentication password storage schemes, as defined in RFC 3112.static java.lang.String
ATTR_SUPPORTED_CONTROL
The name of the attribute that includes the OIDs of the request controls supported by the server, as defined in RFC 4512 section 5.1.static java.lang.String
ATTR_SUPPORTED_EXTENDED_OPERATION
The name of the attribute that includes the OIDs of the extended operations supported by the server, as defined in RFC 4512 section 5.1.static java.lang.String
ATTR_SUPPORTED_FEATURE
The name of the attribute that includes the OIDs of the features supported by the server, as defined in RFC 4512 section 5.1.static java.lang.String
ATTR_SUPPORTED_LDAP_VERSION
The name of the attribute that includes the OIDs of the LDAP protocol versions supported by the server, as defined in RFC 4512 section 5.1.static java.lang.String
ATTR_SUPPORTED_SASL_MECHANISM
The name of the attribute that includes the names of the SASL mechanisms supported by the server, as defined in RFC 4512 section 5.1.static java.lang.String
ATTR_VENDOR_NAME
The name of the attribute that includes the name of the server vendor, as defined in RFC 3045.static java.lang.String
ATTR_VENDOR_VERSION
The name of the attribute that includes the server version, as defined in RFC 3045.protected static java.lang.String[]
REQUEST_ATTRS
The set of request attributes to use when attempting to retrieve the server root DSE.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String[]
getAltServerURIs()
Retrieves a set of URIs for alternate servers that may be contacted if the current server becomes unavailable.java.lang.String
getChangelogDN()
Retrieves the DN of the base entry for the directory server changelog information, if available.java.lang.Long
getFirstChangeNumber()
Retrieves the change number for the first entry contained in the LDAP changelog, if available.java.lang.Long
getLastChangeNumber()
Retrieves the change number for the last entry contained in the LDAP changelog, if available.java.lang.Long
getLastPurgedChangeNumber()
Retrieves the change number for the last entry purged from the LDAP changelog, if available.java.lang.String[]
getNamingContextDNs()
Retrieves the DNs of the naming contexts provided by the directory server.static RootDSE
getRootDSE(LDAPInterface connection)
Retrieves the directory server root DSE using the provided connection.java.lang.String
getSubschemaSubentryDN()
Retrieves the DN of the subschema subentry that serves the directory server root DSE.java.lang.String[]
getSupportedAuthPasswordSchemeNames()
Retrieves the names of the authentication password storage schemes supported by the server.java.lang.String[]
getSupportedControlOIDs()
Retrieves the OIDs of the supported request controls advertised by the server root DSE.java.lang.String[]
getSupportedExtendedOperationOIDs()
Retrieves the OIDs of the supported extended operations advertised by the server root DSE.java.lang.String[]
getSupportedFeatureOIDs()
Retrieves the OIDs of the supported features advertised by the server root DSE.int[]
getSupportedLDAPVersions()
Retrieves the supported LDAP protocol versions advertised by the server root DSE.java.lang.String[]
getSupportedSASLMechanismNames()
Retrieves the names of the supported SASL mechanisms advertised by the server root DSE.java.lang.String
getVendorName()
Retrieves the name of the directory server vendor, if available.java.lang.String
getVendorVersion()
Retrieves the directory server version string, if available.boolean
supportsAuthPasswordScheme(java.lang.String scheme)
Indicates whether the directory server indicates that it supports the specified authentication password storage scheme.boolean
supportsControl(java.lang.String controlOID)
Indicates whether the directory server indicates that it supports the request control with the provided OID.boolean
supportsExtendedOperation(java.lang.String extendedOperationOID)
Indicates whether the directory server indicates that it supports the extended operation with the provided OID.boolean
supportsFeature(java.lang.String featureOID)
Indicates whether the directory server indicates that it supports the extended operation with the provided OID.boolean
supportsLDAPVersion(int ldapVersion)
Indicates whether the directory server indicates that it supports the provided LDAP protocol version.boolean
supportsSASLMechanism(java.lang.String mechanismName)
Indicates whether the directory server indicates that it supports the specified SASL mechanism.-
Methods inherited from class com.unboundid.ldap.sdk.ReadOnlyEntry
addAttribute, addAttribute, addAttribute, addAttribute, addAttribute, removeAttribute, removeAttributeValue, removeAttributeValue, removeAttributeValues, removeAttributeValues, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setDN, setDN
-
Methods inherited from class com.unboundid.ldap.sdk.Entry
addAttribute, applyModifications, applyModifications, applyModifyDN, applyModifyDN, diff, diff, diff, duplicate, equals, getAttribute, getAttribute, getAttributes, getAttributesWithOptions, getAttributeValue, getAttributeValueAsBoolean, getAttributeValueAsDate, getAttributeValueAsDN, getAttributeValueAsInteger, getAttributeValueAsLong, getAttributeValueByteArrays, getAttributeValueBytes, getAttributeValues, getDN, getObjectClassAttribute, getObjectClassValues, getParentDN, getParentDNString, getParsedDN, getRDN, getSchema, hasAttribute, hasAttribute, hasAttribute, hasAttributeValue, hasAttributeValue, hasAttributeValue, hasAttributeValue, hashCode, hasObjectClass, intersectEntries, matchesBaseAndScope, matchesBaseAndScope, mergeEntries, removeAttributeValue, removeAttributeValue, setAttribute, toLDIF, toLDIF, toLDIF, toLDIF, toLDIFString, toLDIFString, toLDIFString, toLDIFString, toString, toString
-
-
-
-
Field Detail
-
ATTR_ALT_SERVER
public static final java.lang.String ATTR_ALT_SERVER
The name of the attribute that includes a set of URIs (likely in the form of LDAP URLs) of other servers that may be contacted if the target server is unavailable, as defined in RFC 4512 section 5.1.- See Also:
- Constant Field Values
-
ATTR_CHANGELOG_DN
public static final java.lang.String ATTR_CHANGELOG_DN
The name of the attribute that specifies the DN that is the base of the LDAP changelog data, if available, as defined in draft-good-ldap-changelog.- See Also:
- Constant Field Values
-
ATTR_FIRST_CHANGE_NUMBER
public static final java.lang.String ATTR_FIRST_CHANGE_NUMBER
The name of the attribute that may contain the change number for the first entry in the LDAP changelog. This is not defined in any public specification, but is provided by a number of servers which implement draft-good-ldap-changelog.- See Also:
- Constant Field Values
-
ATTR_LAST_CHANGE_NUMBER
public static final java.lang.String ATTR_LAST_CHANGE_NUMBER
The name of the attribute that may contain the change number for the last entry in the LDAP changelog, if available. This is not defined in any public specification, but is provided by a number of servers which implement draft-good-ldap-changelog.- See Also:
- Constant Field Values
-
ATTR_LAST_PURGED_CHANGE_NUMBER
public static final java.lang.String ATTR_LAST_PURGED_CHANGE_NUMBER
The name of the attribute that may contain the change number for the last entry purged from the LDAP changelog, if available. This is not defined in any public specification, but is provided by a number of servers which implement draft-good-ldap-changelog.- See Also:
- Constant Field Values
-
ATTR_NAMING_CONTEXT
public static final java.lang.String ATTR_NAMING_CONTEXT
The name of the attribute that includes the DNs of the public naming contexts defined in the server, as defined in RFC 4512 section 5.1.- See Also:
- Constant Field Values
-
ATTR_SUBSCHEMA_SUBENTRY
public static final java.lang.String ATTR_SUBSCHEMA_SUBENTRY
The name of the attribute that specifies the DN of the subschema subentry that serves the server root DSE, as defined in RFC 4512 section 4.2.- See Also:
- Constant Field Values
-
ATTR_SUPPORTED_AUTH_PASSWORD_STORAGE_SCHEME
public static final java.lang.String ATTR_SUPPORTED_AUTH_PASSWORD_STORAGE_SCHEME
The name of the attribute that includes the names of the supported authentication password storage schemes, as defined in RFC 3112.- See Also:
- Constant Field Values
-
ATTR_SUPPORTED_CONTROL
public static final java.lang.String ATTR_SUPPORTED_CONTROL
The name of the attribute that includes the OIDs of the request controls supported by the server, as defined in RFC 4512 section 5.1.- See Also:
- Constant Field Values
-
ATTR_SUPPORTED_EXTENDED_OPERATION
public static final java.lang.String ATTR_SUPPORTED_EXTENDED_OPERATION
The name of the attribute that includes the OIDs of the extended operations supported by the server, as defined in RFC 4512 section 5.1.- See Also:
- Constant Field Values
-
ATTR_SUPPORTED_FEATURE
public static final java.lang.String ATTR_SUPPORTED_FEATURE
The name of the attribute that includes the OIDs of the features supported by the server, as defined in RFC 4512 section 5.1.- See Also:
- Constant Field Values
-
ATTR_SUPPORTED_LDAP_VERSION
public static final java.lang.String ATTR_SUPPORTED_LDAP_VERSION
The name of the attribute that includes the OIDs of the LDAP protocol versions supported by the server, as defined in RFC 4512 section 5.1.- See Also:
- Constant Field Values
-
ATTR_SUPPORTED_SASL_MECHANISM
public static final java.lang.String ATTR_SUPPORTED_SASL_MECHANISM
The name of the attribute that includes the names of the SASL mechanisms supported by the server, as defined in RFC 4512 section 5.1.- See Also:
- Constant Field Values
-
ATTR_VENDOR_NAME
public static final java.lang.String ATTR_VENDOR_NAME
The name of the attribute that includes the name of the server vendor, as defined in RFC 3045.- See Also:
- Constant Field Values
-
ATTR_VENDOR_VERSION
public static final java.lang.String ATTR_VENDOR_VERSION
The name of the attribute that includes the server version, as defined in RFC 3045.- See Also:
- Constant Field Values
-
REQUEST_ATTRS
protected static final java.lang.String[] REQUEST_ATTRS
The set of request attributes to use when attempting to retrieve the server root DSE. It will attempt to retrieve all operational attributes if the server supports that capability, but will also attempt to retrieve specific attributes by name in case it does not.
-
-
Method Detail
-
getRootDSE
public static RootDSE getRootDSE(LDAPInterface connection) throws LDAPException
Retrieves the directory server root DSE using the provided connection.- Parameters:
connection
- The connection to use to retrieve the server root DSE.- Returns:
- The directory server root DSE, or
null
if it is not available (e.g., the client does not have permission to read the entry). - Throws:
LDAPException
- If a problem occurs while attempting to retrieve the server root DSE.
-
getAltServerURIs
public final java.lang.String[] getAltServerURIs()
Retrieves a set of URIs for alternate servers that may be contacted if the current server becomes unavailable.- Returns:
- A set of URIs for alternate servers that may be contacted if the
current server becomes available, or
null
if the server does not publish that information.
-
getChangelogDN
public final java.lang.String getChangelogDN()
Retrieves the DN of the base entry for the directory server changelog information, if available.- Returns:
- The DN of the base entry for the directory server changelog
information, or
null
if the server does not publish that information or no changelog is available.
-
getFirstChangeNumber
public final java.lang.Long getFirstChangeNumber()
Retrieves the change number for the first entry contained in the LDAP changelog, if available.- Returns:
- The change number for the first entry contained in the LDAP changelog, if available.
-
getLastChangeNumber
public final java.lang.Long getLastChangeNumber()
Retrieves the change number for the last entry contained in the LDAP changelog, if available.- Returns:
- The change number for the last entry contained in the LDAP changelog, if available.
-
getLastPurgedChangeNumber
public final java.lang.Long getLastPurgedChangeNumber()
Retrieves the change number for the last entry purged from the LDAP changelog, if available.- Returns:
- The change number for the last entry purged from the LDAP changelog, if available.
-
getNamingContextDNs
public final java.lang.String[] getNamingContextDNs()
Retrieves the DNs of the naming contexts provided by the directory server.- Returns:
- The DNs of the naming contexts provided by the directory server,
or
null
if the server does not publish that information.
-
getSubschemaSubentryDN
public final java.lang.String getSubschemaSubentryDN()
Retrieves the DN of the subschema subentry that serves the directory server root DSE.- Returns:
- The DN of the subschema subentry that serves the directory server
root DSE, or
null
if the server does not publish that information.
-
getSupportedAuthPasswordSchemeNames
public final java.lang.String[] getSupportedAuthPasswordSchemeNames()
Retrieves the names of the authentication password storage schemes supported by the server.- Returns:
- The names of the authentication password storage schemes supported
by the server, or
null
if the server does not publish that information.
-
supportsAuthPasswordScheme
public final boolean supportsAuthPasswordScheme(java.lang.String scheme)
Indicates whether the directory server indicates that it supports the specified authentication password storage scheme.- Parameters:
scheme
- The name of the authentication password storage scheme for which to make the determination. It must not benull
.- Returns:
true
if the directory server indicates that it supports the specified authentication password storage scheme, orfalse
if it does not.
-
getSupportedControlOIDs
public final java.lang.String[] getSupportedControlOIDs()
Retrieves the OIDs of the supported request controls advertised by the server root DSE.- Returns:
- The OIDs of the supported request controls advertised by the
server root DSE, or
null
if the server does not publish that information.
-
supportsControl
public final boolean supportsControl(java.lang.String controlOID)
Indicates whether the directory server indicates that it supports the request control with the provided OID.- Parameters:
controlOID
- The OID of the control for which to make the determination. It must not benull
.- Returns:
true
if the server indicates that it supports the request control with the specified OID, orfalse
if it does not.
-
getSupportedExtendedOperationOIDs
public final java.lang.String[] getSupportedExtendedOperationOIDs()
Retrieves the OIDs of the supported extended operations advertised by the server root DSE.- Returns:
- The OIDs of the supported extended operations advertised by the
server root DSE, or
null
if the server does not publish that information.
-
supportsExtendedOperation
public final boolean supportsExtendedOperation(java.lang.String extendedOperationOID)
Indicates whether the directory server indicates that it supports the extended operation with the provided OID.- Parameters:
extendedOperationOID
- The OID of the extended operation for which to make the determination. It must not benull
.- Returns:
true
if the server indicates that it supports the extended operation with the specified OID, orfalse
if it does not.
-
getSupportedFeatureOIDs
public final java.lang.String[] getSupportedFeatureOIDs()
Retrieves the OIDs of the supported features advertised by the server root DSE.- Returns:
- The OIDs of the supported features advertised by the server root
DSE, or
null
if the server does not publish that information.
-
supportsFeature
public final boolean supportsFeature(java.lang.String featureOID)
Indicates whether the directory server indicates that it supports the extended operation with the provided OID.- Parameters:
featureOID
- The OID of the feature for which to make the determination. It must not benull
.- Returns:
true
if the server indicates that it supports the feature with the specified OID, orfalse
if it does not.
-
getSupportedLDAPVersions
public final int[] getSupportedLDAPVersions()
Retrieves the supported LDAP protocol versions advertised by the server root DSE.- Returns:
- The supported LDAP protocol versions advertised by the server
root DSE, or
null
if the server does not publish that information.
-
supportsLDAPVersion
public final boolean supportsLDAPVersion(int ldapVersion)
Indicates whether the directory server indicates that it supports the provided LDAP protocol version.- Parameters:
ldapVersion
- The LDAP protocol version for which to make the determination.- Returns:
true
if the server indicates that it supports the specified LDAP protocol version, orfalse
if it does not.
-
getSupportedSASLMechanismNames
public final java.lang.String[] getSupportedSASLMechanismNames()
Retrieves the names of the supported SASL mechanisms advertised by the server root DSE.- Returns:
- The names of the supported SASL mechanisms advertised by the
server root DSE, or
null
if the server does not publish that information.
-
supportsSASLMechanism
public final boolean supportsSASLMechanism(java.lang.String mechanismName)
Indicates whether the directory server indicates that it supports the specified SASL mechanism.- Parameters:
mechanismName
- The name of the SASL mechanism for which to make the determination. It must not benull
.- Returns:
true
if the server indicates that it supports the specified SASL mechanism, orfalse
if it does not.
-
getVendorName
public final java.lang.String getVendorName()
Retrieves the name of the directory server vendor, if available.- Returns:
- The name of the directory server vendor, or
null
if the server does not publish that information.
-
getVendorVersion
public final java.lang.String getVendorVersion()
Retrieves the directory server version string, if available.- Returns:
- The directory server version string, or
null
if the server does not publish that information.
-
-