public class TokenPairExpressionIterator extends ExpressionAdapter
Expression
to walk a Message
body
using an Iterator
, which grabs the content between a start and end token.
The message body must be able to convert to InputStream
type which is used as stream
to access the message body.
For splitting XML files use TokenXMLExpressionIterator
instead.Modifier and Type | Field and Description |
---|---|
protected String |
endToken |
protected boolean |
includeTokens |
protected String |
startToken |
Constructor and Description |
---|
TokenPairExpressionIterator(String startToken,
String endToken,
boolean includeTokens) |
Modifier and Type | Method and Description |
---|---|
protected Iterator<?> |
createIterator(Exchange exchange,
InputStream in,
String charset)
Strategy to create the iterator
|
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
|
String |
toString() |
assertionFailureMessage, evaluate
assertMatches
protected final String startToken
protected final boolean includeTokens
public TokenPairExpressionIterator(String startToken, String endToken, boolean includeTokens)
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.protected Iterator<?> createIterator(Exchange exchange, InputStream in, String charset)
exchange
- the exchangein
- input stream to iteratecharset
- charsetApache Camel