@ThreadSafety(level=COMPLETELY_THREADSAFE) public final class RedactAttributeTransformation extends java.lang.Object implements EntryTransformation, LDIFChangeRecordTransformation
Constructor and Description |
---|
RedactAttributeTransformation(Schema schema,
boolean redactDNAttributes,
boolean preserveValueCount,
java.util.Collection<java.lang.String> attributes)
Creates a new redact attribute transformation that will redact the values
of the specified attributes.
|
RedactAttributeTransformation(Schema schema,
boolean redactDNAttributes,
boolean preserveValueCount,
java.lang.String... attributes)
Creates a new redact attribute transformation that will redact the values
of the specified attributes.
|
Modifier and Type | Method and Description |
---|---|
LDIFChangeRecord |
transformChangeRecord(LDIFChangeRecord r)
Applies an appropriate transformation to the provided LDIF change record.
|
Entry |
transformEntry(Entry e)
Applies an appropriate transformation to the provided entry.
|
Entry |
translate(Entry original,
long firstLineNumber)
Applies some special transformation or filtering to the original Entry.
|
LDIFChangeRecord |
translate(LDIFChangeRecord original,
long firstLineNumber)
Applies some special transformation or filtering to the original change
record.
|
LDIFChangeRecord |
translateChangeRecordToWrite(LDIFChangeRecord original)
Applies some special transformation or filtering to the original change
record.
|
Entry |
translateEntryToWrite(Entry original)
Applies some special transformation or filtering to the original Entry.
|
public RedactAttributeTransformation(@Nullable Schema schema, boolean redactDNAttributes, boolean preserveValueCount, @NotNull java.lang.String... attributes)
schema
- The schema to use to identify alternate names
that may be used to reference the attributes to
redact. It may be null
to use a
default standard schema.redactDNAttributes
- Indicates whether to redact values of the
target attributes that appear in DNs. This
includes the DNs of the entries to process as
well as the values of attributes with a DN
syntax.preserveValueCount
- Indicates whether to preserve the number of
values in redacted attributes. If this is
true
, then multivalued attributes that
are redacted will have the same number of
values but each value will be replaced with
"***REDACTED{num}***" where "{num}" is a
counter that increments for each value. If
this is false
, then the set of values
will always be replaced with a single value of
"***REDACTED***" regardless of whether the
original attribute had one or multiple values.attributes
- The names of the attributes whose values should
be redacted. It must must not be null
or empty.public RedactAttributeTransformation(@Nullable Schema schema, boolean redactDNAttributes, boolean preserveValueCount, @NotNull java.util.Collection<java.lang.String> attributes)
schema
- The schema to use to identify alternate names
that may be used to reference the attributes to
redact. It may be null
to use a
default standard schema.redactDNAttributes
- Indicates whether to redact values of the
target attributes that appear in DNs. This
includes the DNs of the entries to process as
well as the values of attributes with a DN
syntax.preserveValueCount
- Indicates whether to preserve the number of
values in redacted attributes. If this is
true
, then multivalued attributes that
are redacted will have the same number of
values but each value will be replaced with
"***REDACTED{num}***" where "{num}" is a
counter that increments for each value. If
this is false
, then the set of values
will always be replaced with a single value of
"***REDACTED***" regardless of whether the
original attribute had one or multiple values.attributes
- The names of the attributes whose values should
be redacted. It must must not be null
or empty.@Nullable public Entry transformEntry(@NotNull Entry e)
transformEntry
in interface EntryTransformation
e
- The entry to transform.null
if the entry should be suppressed.@Nullable public LDIFChangeRecord transformChangeRecord(@NotNull LDIFChangeRecord r)
transformChangeRecord
in interface LDIFChangeRecordTransformation
r
- The LDIF change record to transform.null
if the change record should be
suppressed.@Nullable public Entry translate(@NotNull Entry original, long firstLineNumber)
translate
in interface LDIFReaderEntryTranslator
original
- The original Entry that was read and parsed from
the input file.firstLineNumber
- The first line number of the LDIF record
corresponding to the read Entry. This is most
useful when throwing an LDIFException.LDIFReader.readEntry()
. This can be the original parameter
Entry, a newly constructed Entry, or null
to signal that
the provided Entry should be skipped.@Nullable public LDIFChangeRecord translate(@NotNull LDIFChangeRecord original, long firstLineNumber)
translate
in interface LDIFReaderChangeRecordTranslator
original
- The original change record that was read and
parsed from the input file.firstLineNumber
- The first line number of the LDIF change record.
This is most useful when throwing an
LDIFException
.LDIFReader.readChangeRecord()
. This can be the original
parameter change record, a newly constructed change record, or
null
to signal that the provided change record should be
skipped.@Nullable public Entry translateEntryToWrite(@NotNull Entry original)
translateEntryToWrite
in interface LDIFWriterEntryTranslator
original
- The original Entry that was to be written.null
to
signal that this Entry should not be written. Note, however, that
if the original entry provided as a parameter is altered, then
the change will be visible to anything that references that entry.
If you are not sure about whether changes to the original entry
are acceptable, it is recommended that you use the
duplicate()
method to create a copy of the original and
make the necessary changes to that duplicate.@Nullable public LDIFChangeRecord translateChangeRecordToWrite(@NotNull LDIFChangeRecord original)
translateChangeRecordToWrite
in interface LDIFWriterChangeRecordTranslator
original
- The original change record that was to be written.null
to signal that the change record should
not be written. Note, however, that if the original record
provided as a parameter is altered, then the change will be
visible to anything that references that change record. If you
are not sure about whether changes to the original change record
are acceptable, it is recommended that you use the
duplicate()
method to create a copy of the original and
make the necessary changes to that duplicate.