@NotMutable @ThreadSafety(level=COMPLETELY_THREADSAFE) public final class GetChangelogBatchExtendedRequest extends ExtendedRequest
NOTE: This class, and other classes within the
com.unboundid.ldap.sdk.unboundidds
package structure, are only
supported for use against Ping Identity, UnboundID, and
Nokia/Alcatel-Lucent 8661 server products. These classes provide support
for proprietary functionality or for external specifications that are not
considered stable or mature enough to be guaranteed to work in an
interoperable way with other types of LDAP servers.
ChangelogBatchRequest ::= SEQUENCE { startingPoint CHOICE { resumeWithToken [0] OCTET STRING, resumeWithCSN [1] OCTET STRING, beginningOfChangelog [2] NULL, endOfChangelog [3] NULL, changeTime [4] OCTET STRING, ... }, maxChanges INTEGER (0 .. maxInt), maxTimeMillis [0] INTEGER DEFAULT 0, waitForMaxChanges [1] BOOLEAN DEFAULT FALSE, includeBase [2] SEQUENCE OF LDAPDN OPTIONAL, excludeBase [3] SEQUENCE OF LDAPDN OPTIONAL, changeTypes [4] SET OF ENUMERATED { add (0), delete (1), modify (2), modifyDN (3) } OPTIONAL, continueOnMissingChanges [5] BOOLEAN DEFAULT FALSE, pareEntriesForUserDN [6] LDAPDN OPTIONAL, changeSelectionCriteria [7] CHOICE { anyAttributes [1] SEQUENCE OF LDAPString, allAttributes [2] SEQUENCE OF LDAPString, ignoreAttributes [3] SEQUENCE { ignoreAttributes SEQUENCE OF LDAPString ignoreOperationalAttributes BOOLEAN, ... }, notificationDestination [4] OCTET STRING, ... } OPTIONAL, includeSoftDeletedEntryMods [8] BOOLEAN DEFAULT FALSE, includeSoftDeletedEntryDeletes [9] BOOLEAN DEFAULT FALSE, ... }
ChangelogBatchStartingPoint startingPoint = new BeginningOfChangelogStartingPoint(); while (true) { GetChangelogBatchExtendedRequest request = new GetChangelogBatchExtendedRequest(startingPoint, 1000, 5000L); GetChangelogBatchExtendedResult result = (GetChangelogBatchExtendedResult) connection.processExtendedOperation(request); List<ChangelogEntryIntermediateResponse> changelogEntries = result.getChangelogEntries(); startingPoint = new ResumeWithTokenStartingPoint(result.getResumeToken()); }
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
GET_CHANGELOG_BATCH_REQUEST_OID
The OID (1.3.6.1.4.1.30221.2.6.10) for the get changelog batch extended
request.
|
TYPE_EXTENDED_REQUEST_OID, TYPE_EXTENDED_REQUEST_VALUE
Constructor and Description |
---|
GetChangelogBatchExtendedRequest(ChangelogBatchStartingPoint startingPoint,
int maxChanges,
long maxWaitTimeMillis,
boolean waitForMaxChanges,
java.util.List<java.lang.String> includeBaseDNs,
java.util.List<java.lang.String> excludeBaseDNs,
java.util.Set<ChangeType> changeTypes,
boolean continueOnMissingChanges,
Control... controls)
Creates a new get changelog batch extended request with the provided
information.
|
GetChangelogBatchExtendedRequest(ChangelogBatchStartingPoint startingPoint,
int maxChanges,
long maxWaitTimeMillis,
Control... controls)
Creates a new get changelog batch extended request with the provided
information.
|
GetChangelogBatchExtendedRequest(ChangelogEntryListener entryListener,
ChangelogBatchStartingPoint startingPoint,
int maxChanges,
long maxWaitTimeMillis,
boolean waitForMaxChanges,
java.util.List<java.lang.String> includeBaseDNs,
java.util.List<java.lang.String> excludeBaseDNs,
java.util.Set<ChangeType> changeTypes,
boolean continueOnMissingChanges,
Control... controls)
Creates a new get changelog batch extended request with the provided
information.
|
GetChangelogBatchExtendedRequest(ChangelogEntryListener entryListener,
ChangelogBatchStartingPoint startingPoint,
int maxChanges,
long maxWaitTimeMillis,
boolean waitForMaxChanges,
java.util.List<java.lang.String> includeBaseDNs,
java.util.List<java.lang.String> excludeBaseDNs,
java.util.Set<ChangeType> changeTypes,
boolean continueOnMissingChanges,
java.lang.String pareEntriesForUserDN,
ChangelogBatchChangeSelectionCriteria changeSelectionCriteria,
boolean includeSoftDeletedEntryMods,
boolean includeSoftDeletedEntryDeletes,
Control... controls)
Creates a new get changelog batch extended request with the provided
information.
|
GetChangelogBatchExtendedRequest(ChangelogEntryListener entryListener,
ChangelogBatchStartingPoint startingPoint,
int maxChanges,
long maxWaitTimeMillis,
boolean waitForMaxChanges,
java.util.List<java.lang.String> includeBaseDNs,
java.util.List<java.lang.String> excludeBaseDNs,
java.util.Set<ChangeType> changeTypes,
boolean continueOnMissingChanges,
java.lang.String pareEntriesForUserDN,
ChangelogBatchChangeSelectionCriteria changeSelectionCriteria,
Control... controls)
Creates a new get changelog batch extended request with the provided
information.
|
GetChangelogBatchExtendedRequest(ChangelogEntryListener entryListener,
ChangelogBatchStartingPoint startingPoint,
int maxChanges,
long maxWaitTimeMillis,
Control... controls)
Creates a new get changelog batch extended request with the provided
information.
|
GetChangelogBatchExtendedRequest(ExtendedRequest extendedRequest)
Creates a new get changelog batch extended request from the provided
generic extended request.
|
Modifier and Type | Method and Description |
---|---|
boolean |
continueOnMissingChanges()
Indicates whether the server should make a best-effort attempt to return
changes to the client even if the starting point represents a time before
the start of the changelog and there may be missing changes.
|
GetChangelogBatchExtendedRequest |
duplicate()
Creates a new instance of this LDAP request that may be modified without
impacting this request.
|
GetChangelogBatchExtendedRequest |
duplicate(Control[] controls)
Creates a new instance of this LDAP request that may be modified without
impacting this request.
|
ChangelogBatchChangeSelectionCriteria |
getChangeSelectionCriteria()
Retrieves the change selection criteria for this get changelog batch
extended request, if defined.
|
java.util.Set<ChangeType> |
getChangeTypes()
Retrieves the set of change types for changes to be returned to the client.
|
ChangelogEntryListener |
getEntryListener()
Retrieves the changelog entry listener that will be used for this request,
if applicable.
|
java.util.List<java.lang.String> |
getExcludeBaseDNs()
Retrieves a list of base DNs below which the server should exclude
information about changes processed.
|
java.lang.String |
getExtendedRequestName()
Retrieves the user-friendly name for the extended request, if available.
|
java.util.List<java.lang.String> |
getIncludeBaseDNs()
Retrieves a list of base DNs below which the server should return
information about changes that have been processed.
|
int |
getMaxChanges()
Retrieves the maximum number of changes that should be returned before the
operation completes.
|
long |
getMaxWaitTimeMillis()
Retrieves the maximum length of time in milliseconds that the server should
wait for changes to become available before returning the corresponding
extended result to the client.
|
java.lang.String |
getPareEntriesForUserDN()
Retrieves the possibly-empty DN of the user for whom changelog entries
should be pared based on access control and sensitive attribute
restrictions, if defined.
|
ChangelogBatchStartingPoint |
getStartingPoint()
Retrieves the starting point for the batch of changes to retrieve.
|
boolean |
includeSoftDeletedEntryDeletes()
Indicates whether to include changes that represent deletes of soft-deleted
entries.
|
boolean |
includeSoftDeletedEntryMods()
Indicates whether to include changes that represent modifications to
soft-deleted entries.
|
GetChangelogBatchExtendedResult |
process(LDAPConnection connection,
int depth)
Sends this extended request to the directory server over the provided
connection and returns the associated response.
|
void |
toString(java.lang.StringBuilder buffer)
Appends a string representation of this request to the provided buffer.
|
boolean |
waitForMaxChanges()
Indicates whether the server should wait for up to the maximum length of
time for up to the maximum number of changes to be returned before sending
the extended result.
|
encodeProtocolOp, getLastMessageID, getOID, getOperationType, getProtocolOpType, getValue, hasValue, responseReceived, toCode, writeTo
followReferrals, getControl, getControlList, getControls, getIntermediateResponseListener, getReferralConnector, getReferralConnectorInternal, getReferralDepth, getResponseTimeoutMillis, hasControl, hasControl, setFollowReferrals, setIntermediateResponseListener, setReferralConnector, setReferralDepth, setResponseTimeoutMillis, toString
@NotNull public static final java.lang.String GET_CHANGELOG_BATCH_REQUEST_OID
public GetChangelogBatchExtendedRequest(@NotNull ChangelogBatchStartingPoint startingPoint, int maxChanges, long maxWaitTimeMillis, @Nullable Control... controls)
startingPoint
- An object which indicates the starting point for
the batch of changes to retrieve. It must not
be null
.maxChanges
- The maximum number of changes that should be
retrieved before the server should return the
corresponding extended result. A value less
than or equal to zero may be used to indicate
that the server should not return any entries
but should just return a result containing a
token which represents the starting point.maxWaitTimeMillis
- The maximum length of time in milliseconds to
wait for changes. A value less than or equal to
zero indicates that there should not be any wait
and the result should be returned as soon as all
immediately-available changes (up to the
specified maximum count) have been returned.controls
- The set of controls to include in the request.
It may be null
or empty if there should
be no controls.public GetChangelogBatchExtendedRequest(@Nullable ChangelogEntryListener entryListener, @NotNull ChangelogBatchStartingPoint startingPoint, int maxChanges, long maxWaitTimeMillis, @Nullable Control... controls)
entryListener
- The listener that will be notified of any
changelog entries (or other types of
intermediate response) returned during the
course of processing this request. It may be
null
if changelog entries should be
collected and made available in the extended
result.startingPoint
- An object which indicates the starting point for
the batch of changes to retrieve. It must not
be null
.maxChanges
- The maximum number of changes that should be
retrieved before the server should return the
corresponding extended result. A value less
than or equal to zero may be used to indicate
that the server should not return any entries
but should just return a result containing a
token which represents the starting point.maxWaitTimeMillis
- The maximum length of time in milliseconds to
wait for changes. A value less than or equal to
zero indicates that there should not be any wait
and the result should be returned as soon as all
immediately-available changes (up to the
specified maximum count) have been returned.controls
- The set of controls to include in the request.
It may be null
or empty if there should
be no controls.public GetChangelogBatchExtendedRequest(@NotNull ChangelogBatchStartingPoint startingPoint, int maxChanges, long maxWaitTimeMillis, boolean waitForMaxChanges, @Nullable java.util.List<java.lang.String> includeBaseDNs, @Nullable java.util.List<java.lang.String> excludeBaseDNs, @Nullable java.util.Set<ChangeType> changeTypes, boolean continueOnMissingChanges, @Nullable Control... controls)
startingPoint
- An object which indicates the starting
point for the batch of changes to
retrieve. It must not be null
.maxChanges
- The maximum number of changes that should
be retrieved before the server should
return the corresponding extended result.
A value less than or equal to zero may be
used to indicate that the server should
not return any entries but should just
return a result containing a token which
represents the starting point.maxWaitTimeMillis
- The maximum length of time in
milliseconds to wait for changes. A
value less than or equal to zero
indicates that there should not be any
wait and the result should be returned as
soon as all immediately-available changes
(up to the specified maximum count) have
been returned.waitForMaxChanges
- Indicates whether the server should wait
for up to the maximum length of time for
up to the maximum number of changes to be
returned. If this is false
, then
the result will be returned as soon as
any changes are available (after sending
those changes), even if the number of
available changes is less than
maxChanges
. Otherwise, the
result will not be returned until either
the maximum number of changes have been
returned or the maximum wait time has
elapsed.includeBaseDNs
- A list of base DNs for entries to include
in the set of changes to be returned.excludeBaseDNs
- A list of base DNs for entries to exclude
from the set of changes to be returned.changeTypes
- The types of changes that should be
returned. If this is null
or
empty, then all change types will be
included.continueOnMissingChanges
- Indicates whether the server should make
a best-effort attempt to return changes
even if the starting point represents a
point that is before the first available
change in the changelog and therefore the
results returned may be missing changes.controls
- The set of controls to include in the
request. It may be null
or empty
if there should be no controls.public GetChangelogBatchExtendedRequest(@Nullable ChangelogEntryListener entryListener, @NotNull ChangelogBatchStartingPoint startingPoint, int maxChanges, long maxWaitTimeMillis, boolean waitForMaxChanges, @Nullable java.util.List<java.lang.String> includeBaseDNs, @Nullable java.util.List<java.lang.String> excludeBaseDNs, @Nullable java.util.Set<ChangeType> changeTypes, boolean continueOnMissingChanges, @Nullable Control... controls)
entryListener
- The listener that will be notified of any
changelog entries (or other types of
intermediate response) returned during
the course of processing this request.
It may be null
if changelog
entries should be collected and made
available in the extended result.startingPoint
- An object which indicates the starting
point for the batch of changes to
retrieve. It must not be null
.maxChanges
- The maximum number of changes that should
be retrieved before the server should
return the corresponding extended result.
A value less than or equal to zero may be
used to indicate that the server should
not return any entries but should just
return a result containing a token which
represents the starting point.maxWaitTimeMillis
- The maximum length of time in
milliseconds to wait for changes. A
value less than or equal to zero
indicates that there should not be any
wait and the result should be returned as
soon as all immediately-available changes
(up to the specified maximum count) have
been returned.waitForMaxChanges
- Indicates whether the server should wait
for up to the maximum length of time for
up to the maximum number of changes to be
returned. If this is false
, then
the result will be returned as soon as
any changes are available (after sending
those changes), even if the number of
available changes is less than
maxChanges
. Otherwise, the
result will not be returned until either
the maximum number of changes have been
returned or the maximum wait time has
elapsed.includeBaseDNs
- A list of base DNs for entries to include
in the set of changes to be returned.excludeBaseDNs
- A list of base DNs for entries to exclude
from the set of changes to be returned.changeTypes
- The types of changes that should be
returned. If this is null
or
empty, then all change types will be
included.continueOnMissingChanges
- Indicates whether the server should make
a best-effort attempt to return changes
even if the starting point represents a
point that is before the first available
change in the changelog and therefore the
results returned may be missing changes.controls
- The set of controls to include in the
request. It may be null
or empty
if there should be no controls.public GetChangelogBatchExtendedRequest(@Nullable ChangelogEntryListener entryListener, @NotNull ChangelogBatchStartingPoint startingPoint, int maxChanges, long maxWaitTimeMillis, boolean waitForMaxChanges, @Nullable java.util.List<java.lang.String> includeBaseDNs, @Nullable java.util.List<java.lang.String> excludeBaseDNs, @Nullable java.util.Set<ChangeType> changeTypes, boolean continueOnMissingChanges, @Nullable java.lang.String pareEntriesForUserDN, @Nullable ChangelogBatchChangeSelectionCriteria changeSelectionCriteria, @Nullable Control... controls)
entryListener
- The listener that will be notified of any
changelog entries (or other types of
intermediate response) returned during
the course of processing this request.
It may be null
if changelog
entries should be collected and made
available in the extended result.startingPoint
- An object which indicates the starting
point for the batch of changes to
retrieve. It must not be null
.maxChanges
- The maximum number of changes that should
be retrieved before the server should
return the corresponding extended result.
A value less than or equal to zero may be
used to indicate that the server should
not return any entries but should just
return a result containing a token which
represents the starting point.maxWaitTimeMillis
- The maximum length of time in
milliseconds to wait for changes. A
value less than or equal to zero
indicates that there should not be any
wait and the result should be returned as
soon as all immediately-available changes
(up to the specified maximum count) have
been returned.waitForMaxChanges
- Indicates whether the server should wait
for up to the maximum length of time for
up to the maximum number of changes to be
returned. If this is false
, then
the result will be returned as soon as
any changes are available (after sending
those changes), even if the number of
available changes is less than
maxChanges
. Otherwise, the
result will not be returned until either
the maximum number of changes have been
returned or the maximum wait time has
elapsed.includeBaseDNs
- A list of base DNs for entries to include
in the set of changes to be returned.excludeBaseDNs
- A list of base DNs for entries to exclude
from the set of changes to be returned.changeTypes
- The types of changes that should be
returned. If this is null
or
empty, then all change types will be
included.continueOnMissingChanges
- Indicates whether the server should make
a best-effort attempt to return changes
even if the starting point represents a
point that is before the first available
change in the changelog and therefore the
results returned may be missing changes.pareEntriesForUserDN
- The DN of a user for whom to pare down
the contents of changelog entries based
on the access control and sensitive
attribute restrictions defined for that
user. It may be null
if
changelog entries should not be pared
down for any user, an empty string if
changelog entries should be pared down to
what is available to anonymous users, or
a user DN to pare down entries for the
specified user.changeSelectionCriteria
- The optional criteria to use to pare down
the changelog entries that should be
returned. It may be null
if all
changelog entries should be returned.controls
- The set of controls to include in the
request. It may be null
or empty
if there should be no controls.public GetChangelogBatchExtendedRequest(@Nullable ChangelogEntryListener entryListener, @NotNull ChangelogBatchStartingPoint startingPoint, int maxChanges, long maxWaitTimeMillis, boolean waitForMaxChanges, @Nullable java.util.List<java.lang.String> includeBaseDNs, @Nullable java.util.List<java.lang.String> excludeBaseDNs, @Nullable java.util.Set<ChangeType> changeTypes, boolean continueOnMissingChanges, @Nullable java.lang.String pareEntriesForUserDN, @Nullable ChangelogBatchChangeSelectionCriteria changeSelectionCriteria, boolean includeSoftDeletedEntryMods, boolean includeSoftDeletedEntryDeletes, @Nullable Control... controls)
entryListener
- The listener that will be notified
of any changelog entries (or other
types of intermediate response)
returned during the course of
processing this request. It may be
null
if changelog entries
should be collected and made
available in the extended result.startingPoint
- An object which indicates the
starting point for the batch of
changes to retrieve. It must not
be null
.maxChanges
- The maximum number of changes that
should be retrieved before the
server should return the
corresponding extended result. A
value less than or equal to zero
may be used to indicate that the
server should not return any
entries but should just return a
result containing a token which
represents the starting point.maxWaitTimeMillis
- The maximum length of time in
milliseconds to wait for changes.
A value less than or equal to zero
indicates that there should not be
any wait and the result should be
returned as soon as all
immediately-available changes (up
to the specified maximum count)
have been returned.waitForMaxChanges
- Indicates whether the server should
wait for up to the maximum length
of time for up to the maximum
number of changes to be returned.
If this is false
, then the
result will be returned as soon as
any changes are available (after
sending those changes), even if the
number of available changes is less
than maxChanges
.
Otherwise, the result will not be
returned until either the maximum
number of changes have been
returned or the maximum wait time
has elapsed.includeBaseDNs
- A list of base DNs for entries to
include in the set of changes to be
returned.excludeBaseDNs
- A list of base DNs for entries to
exclude from the set of changes to
be returned.changeTypes
- The types of changes that should be
returned. If this is null
or empty, then all change types
will be included.continueOnMissingChanges
- Indicates whether the server should
make a best-effort attempt to
return changes even if the starting
point represents a point that is
before the first available change
in the changelog and therefore the
results returned may be missing
changes.pareEntriesForUserDN
- The DN of a user for whom to pare
down the contents of changelog
entries based on the access control
and sensitive attribute
restrictions defined for that user.
It may be null
if changelog
entries should not be pared down
for any user, an empty string if
changelog entries should be pared
down to what is available to
anonymous users, or a user DN to
pare down entries for the specified
user.changeSelectionCriteria
- The optional criteria to use to
pare down the changelog entries
that should be returned. It may be
null
if all changelog
entries should be returned.includeSoftDeletedEntryMods
- Indicates whether to include
changelog entries that represent
changes to soft-deleted entries.includeSoftDeletedEntryDeletes
- Indicates whether to include
changelog entries that represent
deletes of soft-deleted entries.controls
- The set of controls to include in
the request. It may be
null
or empty if there
should be no controls.public GetChangelogBatchExtendedRequest(@NotNull ExtendedRequest extendedRequest) throws LDAPException
extendedRequest
- The generic extended request to be decoded as a
get changelog batch extended request.LDAPException
- If the provided generic request cannot be decoded
as a get changelog batch extended request.@NotNull public ChangelogBatchStartingPoint getStartingPoint()
public int getMaxChanges()
public long getMaxWaitTimeMillis()
public boolean waitForMaxChanges()
false
if the server should return the corresponding
extended result as soon as any changes are available (after
sending those available changes), or true
if the result
should not be returned until either the maximum number of changes
have been returned or the maximum wait time has elapsed.@NotNull public java.util.List<java.lang.String> getIncludeBaseDNs()
@NotNull public java.util.List<java.lang.String> getExcludeBaseDNs()
@NotNull public java.util.Set<ChangeType> getChangeTypes()
public boolean continueOnMissingChanges()
true
if the server should attempt to return as many
changes as possible even if some may be missing, or false
if the server should return an error if there may be missing
changes.@Nullable public java.lang.String getPareEntriesForUserDN()
null
if changelog entries should not be
pared based for any user.@Nullable public ChangelogBatchChangeSelectionCriteria getChangeSelectionCriteria()
null
if none is defined.public boolean includeSoftDeletedEntryMods()
true
if the result set should include modifications to
soft-deleted entries, or false
if not.public boolean includeSoftDeletedEntryDeletes()
true
if the result set should include deletes of
soft-deleted entries, or false
if not.@Nullable public ChangelogEntryListener getEntryListener()
null
if the entries will be made available in the
extended result.@NotNull public GetChangelogBatchExtendedResult process(@NotNull LDAPConnection connection, int depth) throws LDAPException
process
in class ExtendedRequest
connection
- The connection to use to communicate with the directory
server.depth
- The current referral depth for this request. It should
always be one for the initial request, and should only
be incremented when following referrals.LDAPException
- If a problem occurs while sending the request or
reading the response.@NotNull public GetChangelogBatchExtendedRequest duplicate()
duplicate
in interface ReadOnlyLDAPRequest
duplicate
in class ExtendedRequest
@NotNull public GetChangelogBatchExtendedRequest duplicate(@Nullable Control[] controls)
duplicate
in interface ReadOnlyLDAPRequest
duplicate
in class ExtendedRequest
controls
- The set of controls to include in the duplicate request.@NotNull public java.lang.String getExtendedRequestName()
getExtendedRequestName
in class ExtendedRequest
public void toString(@NotNull java.lang.StringBuilder buffer)
toString
in interface ProtocolOp
toString
in interface ReadOnlyLDAPRequest
toString
in class ExtendedRequest
buffer
- The buffer to which to append a string representation of
this request.