public class NotifyBuilder extends Object
EventNotifier
notifications about
Exchange
being routed.
This builder can be used for testing purposes where you want to know when a
test is supposed to be done. The idea is that you can build an expression
that explains when the test is done. For example when Camel have finished
routing 5 messages. You can then in your test await for this condition to
occur.Constructor and Description |
---|
NotifyBuilder(org.apache.camel.CamelContext context)
Creates a new builder.
|
Modifier and Type | Method and Description |
---|---|
NotifyBuilder |
and()
Prepares to append an additional expression using the and
operator.
|
NotifyBuilder |
create()
Creates the expression this builder should use for matching.
|
void |
destroy()
De-registers this builder from its
CamelContext . |
ExpressionClauseSupport<NotifyBuilder> |
filter()
Optionally a filter to only allow matching
Exchange to be used
for matching. |
NotifyBuilder |
filter(org.apache.camel.Predicate predicate)
Optionally a filter to only allow matching
Exchange to be used
for matching. |
NotifyBuilder |
from(String endpointUri)
Optionally a from endpoint which means that this expression
should only be based on
Exchange which is originated from the
particular endpoint(s). |
NotifyBuilder |
fromCurrentRoute(String routeId)
Optionally a from current route which means that this expression
should only be based on
Exchange which is the current route(s). |
NotifyBuilder |
fromRoute(String routeId)
Optionally a from route which means that this expression should
only be based on
Exchange which is originated from the particular
route(s). |
boolean |
matches()
Does all the expression match?
This operation will return immediately which means it can be used for
testing at this very moment.
|
boolean |
matches(long timeout,
TimeUnit timeUnit)
Does all the expression match?
This operation will wait until the match is true or otherwise a
timeout occur which means false will be returned.
|
boolean |
matchesMockWaitTime()
Deprecated.
use
matchesWaitTime() instead |
boolean |
matchesWaitTime()
Does all the expressions match?
This operation will wait until the match is true or otherwise a
timeout occur which means false will be returned.
|
NotifyBuilder |
not()
Prepares to append an additional expression using the not
operator.
|
NotifyBuilder |
or()
Prepares to append an additional expression using the or operator.
|
void |
reset()
Resets the notifier.
|
String |
toString() |
NotifyBuilder |
waitTime(long waitTime)
Specifies the wait time in millis to use in the
matchesWaitTime() method. |
NotifyBuilder |
wereSentTo(String endpointUri)
Optionally a sent to endpoint which means that this expression
should only be based on
Exchange which has been sent to the given
endpoint uri. |
NotifyBuilder |
whenAllDoneMatches(org.apache.camel.Predicate predicate)
Sets a condition that all done
Exchange should match the
Predicate |
NotifyBuilder |
whenAllReceivedMatches(org.apache.camel.Predicate predicate)
Sets a condition that all received
Exchange should match
the Predicate |
NotifyBuilder |
whenAnyDoneMatches(org.apache.camel.Predicate predicate)
Sets a condition that any done
Exchange should match the
Predicate |
NotifyBuilder |
whenAnyReceivedMatches(org.apache.camel.Predicate predicate)
Sets a condition that any received
Exchange should match
the Predicate |
NotifyBuilder |
whenBodiesDone(Object... bodies)
Sets a condition that the bodies is expected to be done in the
order as well.
|
NotifyBuilder |
whenBodiesReceived(Object... bodies)
Sets a condition that the bodies is expected to be received in the
order as well.
|
NotifyBuilder |
whenCompleted(int number)
Sets a condition when number of
Exchange has been
completed. |
NotifyBuilder |
whenDone(int number)
Sets a condition when number of
Exchange is done being
processed. |
NotifyBuilder |
whenDoneByIndex(int index)
Sets a condition when tne n'th (by index)
Exchange is
done being processed. |
NotifyBuilder |
whenDoneNotSatisfied(org.apache.camel.spi.NotifyBuilderMatcher matcher)
Sets a condition when the provided matcher (such as mock endpoint) is
not satisfied based on
Exchange being sent to it when they
are done. |
NotifyBuilder |
whenDoneSatisfied(org.apache.camel.spi.NotifyBuilderMatcher matcher)
Sets a condition when the provided matcher (such as mock endpoint) is
satisfied based on
Exchange being sent to it when they are
done. |
NotifyBuilder |
whenExactBodiesDone(Object... bodies)
Sets a condition that the bodies is expected to be done in the
order as well.
|
NotifyBuilder |
whenExactBodiesReceived(Object... bodies)
Sets a condition that the bodies is expected to be received in the
order as well.
|
NotifyBuilder |
whenExactlyCompleted(int number)
Sets a condition when number of
Exchange has been
completed. |
NotifyBuilder |
whenExactlyDone(int number)
Sets a condition when number of
Exchange is done being
processed. |
NotifyBuilder |
whenExactlyFailed(int number)
Sets a condition when number of
Exchange has failed. |
NotifyBuilder |
whenFailed(int number)
Sets a condition when number of
Exchange has failed. |
NotifyBuilder |
whenReceived(int number)
Sets a condition when number of
Exchange has been
received. |
NotifyBuilder |
whenReceivedNotSatisfied(org.apache.camel.spi.NotifyBuilderMatcher matcher)
Sets a condition when the provided matcher (such as mock endpoint) is
not satisfied based on
Exchange being sent to it when they
are received. |
NotifyBuilder |
whenReceivedSatisfied(org.apache.camel.spi.NotifyBuilderMatcher matcher)
Sets a condition when the provided matcher (such as mock endpoint) is
satisfied based on
Exchange being sent to it when they are
received. |
public NotifyBuilder(org.apache.camel.CamelContext context)
context
- the Camel contextpublic NotifyBuilder from(String endpointUri)
Exchange
which is originated from the
particular endpoint(s).endpointUri
- uri of endpoint or pattern (see the EndpointHelper
javadoc)EndpointHelper.matchEndpoint(org.apache.camel.CamelContext, String,
String)
public NotifyBuilder fromRoute(String routeId)
Exchange
which is originated from the particular
route(s).routeId
- id of route or pattern (see the EndpointHelper javadoc)EndpointHelper.matchEndpoint(org.apache.camel.CamelContext, String,
String)
public NotifyBuilder fromCurrentRoute(String routeId)
Exchange
which is the current route(s).routeId
- id of route or pattern (see the EndpointHelper javadoc)EndpointHelper.matchEndpoint(org.apache.camel.CamelContext, String,
String)
public NotifyBuilder filter(org.apache.camel.Predicate predicate)
Exchange
to be used
for matching.predicate
- the predicate to use for the filterpublic ExpressionClauseSupport<NotifyBuilder> filter()
Exchange
to be used
for matching.public NotifyBuilder wereSentTo(String endpointUri)
Exchange
which has been sent to the given
endpoint uri.
Notice the Exchange
may have been sent to other endpoints as
well. This condition will match if the Exchange
has been sent at
least once to the given endpoint.endpointUri
- uri of endpoint or pattern (see the EndpointHelper
javadoc)EndpointHelper.matchEndpoint(org.apache.camel.CamelContext, String,
String)
public NotifyBuilder whenReceived(int number)
Exchange
has been
received.
The number matching is at least based which means that if more
messages received it will match also.number
- at least number of messagespublic NotifyBuilder whenDone(int number)
Exchange
is done being
processed.
The number matching is at least based which means that if more
messages received it will match also.
The difference between done and completed is that done can
also include failed messages, where as completed is only successful
processed messages.number
- at least number of messagespublic NotifyBuilder whenDoneByIndex(int index)
Exchange
is
done being processed.
The difference between done and completed is that done can
also include failed messages, where as completed is only successful
processed messages.index
- the message by index to be donepublic NotifyBuilder whenCompleted(int number)
Exchange
has been
completed.
The number matching is at least based which means that if more
messages received it will match also.
The difference between done and completed is that done can
also include failed messages, where as completed is only successful
processed messages.number
- at least number of messagespublic NotifyBuilder whenFailed(int number)
Exchange
has failed.
The number matching is at least based which means that if more
messages received it will match also.number
- at least number of messagespublic NotifyBuilder whenExactlyDone(int number)
Exchange
is done being
processed.
messages, where as completed is only successful processed messages.number
- exactly number of messagespublic NotifyBuilder whenExactlyCompleted(int number)
Exchange
has been
completed.
The difference between done and completed is that done can
also include failed messages, where as completed is only successful
processed messages.number
- exactly number of messagespublic NotifyBuilder whenExactlyFailed(int number)
Exchange
has failed.number
- exactly number of messagespublic NotifyBuilder whenAnyReceivedMatches(org.apache.camel.Predicate predicate)
Exchange
should match
the Predicate
predicate
- the predicatepublic NotifyBuilder whenAnyDoneMatches(org.apache.camel.Predicate predicate)
Exchange
should match the
Predicate
predicate
- the predicatepublic NotifyBuilder whenAllReceivedMatches(org.apache.camel.Predicate predicate)
Exchange
should match
the Predicate
predicate
- the predicatepublic NotifyBuilder whenAllDoneMatches(org.apache.camel.Predicate predicate)
Exchange
should match the
Predicate
predicate
- the predicatepublic NotifyBuilder whenBodiesReceived(Object... bodies)
whenExactBodiesReceived(Object...)
bodies
- the expected bodieswhenExactBodiesReceived(Object...)
public NotifyBuilder whenBodiesDone(Object... bodies)
whenExactBodiesDone(Object...)
bodies
- the expected bodieswhenExactBodiesDone(Object...)
public NotifyBuilder whenExactBodiesReceived(Object... bodies)
bodies
- the expected bodieswhenBodiesReceived(Object...)
public NotifyBuilder whenExactBodiesDone(Object... bodies)
bodies
- the expected bodieswhenExactBodiesDone(Object...)
public NotifyBuilder whenDoneSatisfied(org.apache.camel.spi.NotifyBuilderMatcher matcher)
Exchange
being sent to it when they are
done.
The idea is that you can use mock endpoints (or other matchers) for
setting fine grained expectations and then use that together with this
builder. The mock provided does NOT have to already exist in the
route. You can just create a new pseudo mock and this builder will send
the done Exchange
to it. So its like adding the mock to the end
of your route(s).matcher
- the matcher such as mock endpointpublic NotifyBuilder whenReceivedSatisfied(org.apache.camel.spi.NotifyBuilderMatcher matcher)
Exchange
being sent to it when they are
received.
The idea is that you can use mock endpoints (or other matchers) for
setting fine grained expectations and then use that together with this
builder. The mock provided does NOT have to already exist in the
route. You can just create a new pseudo mock and this builder will send
the done Exchange
to it. So its like adding the mock to the end
of your route(s).matcher
- the matcher such as mock endpointpublic NotifyBuilder whenReceivedNotSatisfied(org.apache.camel.spi.NotifyBuilderMatcher matcher)
Exchange
being sent to it when they
are received.
The idea is that you can use mock endpoints (or other matchers) for
setting fine grained expectations and then use that together with this
builder. The mock provided does NOT have to already exist in the
route. You can just create a new pseudo mock and this builder will send
the done Exchange
to it. So its like adding the mock to the end
of your route(s).matcher
- the matcher such as mock endpointpublic NotifyBuilder whenDoneNotSatisfied(org.apache.camel.spi.NotifyBuilderMatcher matcher)
Exchange
being sent to it when they
are done.
The idea is that you can use mock endpoints (or other matchers) for
setting fine grained expectations and then use that together with this
builder. The mock provided does NOT have to already exist in the
route. You can just create a new pseudo mock and this builder will send
the done Exchange
to it. So its like adding the mock to the end
of your route(s).matcher
- the matcher such as mock endpointpublic NotifyBuilder and()
public NotifyBuilder or()
public NotifyBuilder not()
public NotifyBuilder waitTime(long waitTime)
matchesWaitTime()
method.public NotifyBuilder create()
public void destroy()
CamelContext
.
Once destroyed, this instance will not function again.public boolean matches()
public boolean matches(long timeout, TimeUnit timeUnit)
timeout
- the timeout valuetimeUnit
- the time unit@Deprecated public boolean matchesMockWaitTime()
matchesWaitTime()
insteadpublic boolean matchesWaitTime()
public void reset()
Apache Camel