Interface DocumentPreprocessor
- All Known Implementing Classes:
DocumentElementPreprocessor
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.
- Since:
- Coherence 12.1.2
- Author:
- bo 2012.03.12
-
Method Summary
Modifier and TypeMethodDescriptionboolean
preprocess
(ProcessingContext context, XmlElement xmlElement) Performs pre-processing of the anXmlElement
, optionally mutating it (or it's children) as required.
-
Method Details
-
preprocess
Performs pre-processing of the anXmlElement
, 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 providedXmlElement
. eg: Attempting to modify any of the parents of the providedXmlElement
may result in undefined and unexpected behavior. Only mutations of theXmlElement
itself or children is permitted.- Parameters:
context
- theProcessingContext
in which theXmlElement
is being pre-processedxmlElement
- theXmlElement
to pre-process- Returns:
true
if the specifiedXmlElement
should be reconsidered either by this or otherDocumentPreprocessor
s for re-preprocessing due to mutations on theXmlElement
,false
otherwise.- Throws:
ConfigurationException
- if during pre-processing of theXmlElement
a configuration issue was discovered (or if pre-processing fails for some reason)
-