public interface DocumentPreprocessor
DocumentPreprocessor
provides a mechanism to pre-process an
XmlElement
, representing part or all of an XmlDocument
prior to the said XmlElement
being processes using configured
ElementProcessor
s.
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
a DocumentPreprocessor
may be called for a particular document or
element, simply because other DocumentPreprocessor
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 xmlElement)
Performs pre-processing of the an
XmlElement , optionally mutating
it (or it's children) as required. |
boolean preprocess(ProcessingContext context, XmlElement xmlElement) throws ConfigurationException
XmlElement
, optionally mutating
it (or it's children) as required.
Implementations of this interface may traverse and/or perform any
mutations on the specified XmlElement
.
Note: It is illegal to modify an XmlElement
outside the scope of the provided XmlElement
. eg: Attempting
to modify any of the parents of the provided XmlElement
may result in undefined and unexpected behavior. Only mutations of the
XmlElement
itself or children is permitted.
context
- the ProcessingContext
in which the
XmlElement
is being pre-processedxmlElement
- the XmlElement
to pre-processtrue
if the specified XmlElement
should be
reconsidered either by this or other DocumentPreprocessor
s
for re-preprocessing due to mutations on the XmlElement
,
false
otherwise.ConfigurationException
- if during pre-processing of the
XmlElement
a configuration issue was
discovered (or if pre-processing fails for some reason)