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