public class TokenXMLExpressionIterator extends ExpressionAdapter
Expression
to walk a Message
XML body
using an Iterator
, which grabs the content between a XML start and end token,
where the end token corresponds implicitly to either the end tag or the self-closing start tag.
The message body must be able to convert to InputStream
type which is used as stream
to access the message body.
Can be used to split big XML files.
This implementation supports inheriting namespaces from a parent/root tag.Modifier and Type | Field and Description |
---|---|
protected String |
inheritNamespaceToken |
protected String |
tagToken |
Constructor and Description |
---|
TokenXMLExpressionIterator(String tagToken,
String inheritNamespaceToken) |
Modifier and Type | Method and Description |
---|---|
protected Iterator<?> |
createIterator(Exchange exchange,
InputStream in,
String charset) |
protected Object |
doEvaluate(Exchange exchange,
boolean closeStream)
Strategy to evaluate the exchange
|
Object |
evaluate(Exchange exchange) |
boolean |
matches(Exchange exchange)
Evaluates the predicate on the message exchange and returns true if this
exchange matches the predicate
|
assertionFailureMessage, evaluate
assertMatches
protected final String inheritNamespaceToken
public TokenXMLExpressionIterator(String tagToken, String inheritNamespaceToken)
protected Iterator<?> createIterator(Exchange exchange, InputStream in, String charset)
public boolean matches(Exchange exchange)
Predicate
matches
in interface Predicate
matches
in class ExpressionSupport
exchange
- the message exchangepublic Object evaluate(Exchange exchange)
evaluate
in class ExpressionSupport
protected Object doEvaluate(Exchange exchange, boolean closeStream)
exchange
- the exchangecloseStream
- whether to close the stream before returning from this method.Apache Camel