public static interface DocumentElementPreprocessor.ElementPreprocessor
DocumentElementPreprocessor.ElementPreprocessor
provides a mechanism to examine and optionally
mutate an XmlElement
prior to it being processed by a
ElementProcessor
. DocumentElementPreprocessor.ElementPreprocessor
s are designed to be
used when a number of similar XmlElement
s in a document need
to be pre-processed, ie: on an element-by-element basis, instead of an
entire document being processed.
Rule 1: Implementations of this interface must remain
stateless with respect to the XmlElement
s or
ProcessingContext
that they are passed. That is, no state should
be retained relating to either of these concepts for each method call.
Rule 2: No assumptions can be made as to the number of times
an DocumentElementPreprocessor.ElementPreprocessor
may be called for a particular document or
element, simply because other DocumentElementPreprocessor.ElementPreprocessor
s may request
"re-pre-processing".
Violating either of these two rules may likely result in unpredictable application behavior.
Modifier and Type | Method and Description |
---|---|
boolean |
preprocess(ProcessingContext context,
XmlElement element)
Process an
XmlElement , optionally mutating it (or it's children) if required. |
boolean preprocess(ProcessingContext context, XmlElement element) throws ConfigurationException
XmlElement
, optionally mutating it (or it's children) if required.
Note: An implementation of this interface should avoid
attempting to traverse child XmlElement
s. If you wish to
manually traverse or change the entire document, you should instead use
a DocumentPreprocessor
.
context
- the ProcessingContext
in which the pre-processing is occurringelement
- the XmlElement
to preprocesstrue
if the specified XmlElement
should be
re-preprocessed by this and other DocumentElementPreprocessor.ElementPreprocessor
s
due to the XmlElement
being modified, false
otherwise.ConfigurationException
- if during pre-processing of the XmlElement
a configuration
issue was discovered (or if pre-processing fails for some reason)