Package org.apache.camel.builder
Class NotifyBuilder
- java.lang.Object
-
- org.apache.camel.builder.NotifyBuilder
-
public class NotifyBuilder extends Object
A builder to build an expression based onEventNotifier
notifications aboutExchange
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 Summary
Constructors Constructor Description NotifyBuilder(org.apache.camel.CamelContext context)
Creates a new builder.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method 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 itsCamelContext
.ExpressionClauseSupport<NotifyBuilder>
filter()
Optionally a filter to only allow matchingExchange
to be used for matching.NotifyBuilder
filter(org.apache.camel.Predicate predicate)
Optionally a filter to only allow matchingExchange
to be used for matching.NotifyBuilder
from(String endpointUri)
Optionally a from endpoint which means that this expression should only be based onExchange
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 onExchange
which is the current route(s).NotifyBuilder
fromRoute(String routeId)
Optionally a from route which means that this expression should only be based onExchange
which is originated from the particular route(s).boolean
matches()
Does all the expression match?boolean
matches(long timeout, TimeUnit timeUnit)
Does all the expression match?boolean
matchesMockWaitTime()
Deprecated.usematchesWaitTime()
insteadboolean
matchesWaitTime()
Does all the expressions match?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 thematchesWaitTime()
method.NotifyBuilder
wereSentTo(String endpointUri)
Optionally a sent to endpoint which means that this expression should only be based onExchange
which has been sent to the given endpoint uri.NotifyBuilder
whenAllDoneMatches(org.apache.camel.Predicate predicate)
Sets a condition that all doneExchange
should match thePredicate
NotifyBuilder
whenAllReceivedMatches(org.apache.camel.Predicate predicate)
Sets a condition that all receivedExchange
should match thePredicate
NotifyBuilder
whenAnyDoneMatches(org.apache.camel.Predicate predicate)
Sets a condition that any doneExchange
should match thePredicate
NotifyBuilder
whenAnyReceivedMatches(org.apache.camel.Predicate predicate)
Sets a condition that any receivedExchange
should match thePredicate
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 ofExchange
has been completed.NotifyBuilder
whenDone(int number)
Sets a condition when number ofExchange
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 onExchange
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 onExchange
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 ofExchange
has been completed.NotifyBuilder
whenExactlyDone(int number)
Sets a condition when number ofExchange
is done being processed.NotifyBuilder
whenExactlyFailed(int number)
Sets a condition when number ofExchange
has failed.NotifyBuilder
whenFailed(int number)
Sets a condition when number ofExchange
has failed.NotifyBuilder
whenReceived(int number)
Sets a condition when number ofExchange
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 onExchange
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 onExchange
being sent to it when they are received.
-
-
-
Method Detail
-
from
public NotifyBuilder from(String endpointUri)
Optionally a from endpoint which means that this expression should only be based onExchange
which is originated from the particular endpoint(s).- Parameters:
endpointUri
- uri of endpoint or pattern (see the EndpointHelper javadoc)- Returns:
- the builder
- See Also:
EndpointHelper.matchEndpoint(org.apache.camel.CamelContext, String, String)
-
fromRoute
public NotifyBuilder fromRoute(String routeId)
Optionally a from route which means that this expression should only be based onExchange
which is originated from the particular route(s).- Parameters:
routeId
- id of route or pattern (see the EndpointHelper javadoc)- Returns:
- the builder
- See Also:
EndpointHelper.matchEndpoint(org.apache.camel.CamelContext, String, String)
-
fromCurrentRoute
public NotifyBuilder fromCurrentRoute(String routeId)
Optionally a from current route which means that this expression should only be based onExchange
which is the current route(s).- Parameters:
routeId
- id of route or pattern (see the EndpointHelper javadoc)- Returns:
- the builder
- See Also:
EndpointHelper.matchEndpoint(org.apache.camel.CamelContext, String, String)
-
filter
public NotifyBuilder filter(org.apache.camel.Predicate predicate)
Optionally a filter to only allow matchingExchange
to be used for matching.- Parameters:
predicate
- the predicate to use for the filter- Returns:
- the builder
-
filter
public ExpressionClauseSupport<NotifyBuilder> filter()
Optionally a filter to only allow matchingExchange
to be used for matching.- Returns:
- the builder
-
wereSentTo
public NotifyBuilder wereSentTo(String endpointUri)
Optionally a sent to endpoint which means that this expression should only be based onExchange
which has been sent to the given endpoint uri. Notice theExchange
may have been sent to other endpoints as well. This condition will match if theExchange
has been sent at least once to the given endpoint.- Parameters:
endpointUri
- uri of endpoint or pattern (see the EndpointHelper javadoc)- Returns:
- the builder
- See Also:
EndpointHelper.matchEndpoint(org.apache.camel.CamelContext, String, String)
-
whenReceived
public NotifyBuilder whenReceived(int number)
Sets a condition when number ofExchange
has been received. The number matching is at least based which means that if more messages received it will match also.- Parameters:
number
- at least number of messages- Returns:
- the builder
-
whenDone
public NotifyBuilder whenDone(int number)
Sets a condition when number ofExchange
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.- Parameters:
number
- at least number of messages- Returns:
- the builder
-
whenDoneByIndex
public NotifyBuilder whenDoneByIndex(int index)
Sets a condition when tne n'th (by 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.- Parameters:
index
- the message by index to be done- Returns:
- the builder
-
whenCompleted
public NotifyBuilder whenCompleted(int number)
Sets a condition when number ofExchange
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.- Parameters:
number
- at least number of messages- Returns:
- the builder
-
whenFailed
public NotifyBuilder whenFailed(int number)
Sets a condition when number ofExchange
has failed. The number matching is at least based which means that if more messages received it will match also.- Parameters:
number
- at least number of messages- Returns:
- the builder
-
whenExactlyDone
public NotifyBuilder whenExactlyDone(int number)
Sets a condition when number ofExchange
is done being processed. messages, where as completed is only successful processed messages.- Parameters:
number
- exactly number of messages- Returns:
- the builder
-
whenExactlyCompleted
public NotifyBuilder whenExactlyCompleted(int number)
Sets a condition when number ofExchange
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.- Parameters:
number
- exactly number of messages- Returns:
- the builder
-
whenExactlyFailed
public NotifyBuilder whenExactlyFailed(int number)
Sets a condition when number ofExchange
has failed.- Parameters:
number
- exactly number of messages- Returns:
- the builder
-
whenAnyReceivedMatches
public NotifyBuilder whenAnyReceivedMatches(org.apache.camel.Predicate predicate)
Sets a condition that any receivedExchange
should match thePredicate
- Parameters:
predicate
- the predicate- Returns:
- the builder
-
whenAnyDoneMatches
public NotifyBuilder whenAnyDoneMatches(org.apache.camel.Predicate predicate)
Sets a condition that any doneExchange
should match thePredicate
- Parameters:
predicate
- the predicate- Returns:
- the builder
-
whenAllReceivedMatches
public NotifyBuilder whenAllReceivedMatches(org.apache.camel.Predicate predicate)
Sets a condition that all receivedExchange
should match thePredicate
- Parameters:
predicate
- the predicate- Returns:
- the builder
-
whenAllDoneMatches
public NotifyBuilder whenAllDoneMatches(org.apache.camel.Predicate predicate)
Sets a condition that all doneExchange
should match thePredicate
- Parameters:
predicate
- the predicate- Returns:
- the builder
-
whenBodiesReceived
public NotifyBuilder whenBodiesReceived(Object... bodies)
Sets a condition that the bodies is expected to be received in the order as well. This condition will discard any additional messages. If you need a more strict condition then usewhenExactBodiesReceived(Object...)
- Parameters:
bodies
- the expected bodies- Returns:
- the builder
- See Also:
whenExactBodiesReceived(Object...)
-
whenBodiesDone
public NotifyBuilder whenBodiesDone(Object... bodies)
Sets a condition that the bodies is expected to be done in the order as well. This condition will discard any additional messages. If you need a more strict condition then usewhenExactBodiesDone(Object...)
- Parameters:
bodies
- the expected bodies- Returns:
- the builder
- See Also:
whenExactBodiesDone(Object...)
-
whenExactBodiesReceived
public NotifyBuilder whenExactBodiesReceived(Object... bodies)
Sets a condition that the bodies is expected to be received in the order as well. This condition is strict which means that it only expect that exact number of bodies- Parameters:
bodies
- the expected bodies- Returns:
- the builder
- See Also:
whenBodiesReceived(Object...)
-
whenExactBodiesDone
public NotifyBuilder whenExactBodiesDone(Object... bodies)
Sets a condition that the bodies is expected to be done in the order as well. This condition is strict which means that it only expect that exact number of bodies- Parameters:
bodies
- the expected bodies- Returns:
- the builder
- See Also:
whenExactBodiesDone(Object...)
-
whenDoneSatisfied
public NotifyBuilder whenDoneSatisfied(org.apache.camel.spi.NotifyBuilderMatcher matcher)
Sets a condition when the provided matcher (such as mock endpoint) is satisfied based onExchange
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 doneExchange
to it. So its like adding the mock to the end of your route(s).- Parameters:
matcher
- the matcher such as mock endpoint- Returns:
- the builder
-
whenReceivedSatisfied
public NotifyBuilder whenReceivedSatisfied(org.apache.camel.spi.NotifyBuilderMatcher matcher)
Sets a condition when the provided matcher (such as mock endpoint) is satisfied based onExchange
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 doneExchange
to it. So its like adding the mock to the end of your route(s).- Parameters:
matcher
- the matcher such as mock endpoint- Returns:
- the builder
-
whenReceivedNotSatisfied
public NotifyBuilder whenReceivedNotSatisfied(org.apache.camel.spi.NotifyBuilderMatcher matcher)
Sets a condition when the provided matcher (such as mock endpoint) is not satisfied based onExchange
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 doneExchange
to it. So its like adding the mock to the end of your route(s).- Parameters:
matcher
- the matcher such as mock endpoint- Returns:
- the builder
-
whenDoneNotSatisfied
public NotifyBuilder whenDoneNotSatisfied(org.apache.camel.spi.NotifyBuilderMatcher matcher)
Sets a condition when the provided matcher (such as mock endpoint) is not satisfied based onExchange
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 doneExchange
to it. So its like adding the mock to the end of your route(s).- Parameters:
matcher
- the matcher such as mock endpoint- Returns:
- the builder
-
and
public NotifyBuilder and()
Prepares to append an additional expression using the and operator.- Returns:
- the builder
-
or
public NotifyBuilder or()
Prepares to append an additional expression using the or operator.- Returns:
- the builder
-
not
public NotifyBuilder not()
Prepares to append an additional expression using the not operator.- Returns:
- the builder
-
waitTime
public NotifyBuilder waitTime(long waitTime)
Specifies the wait time in millis to use in thematchesWaitTime()
method.
-
create
public NotifyBuilder create()
Creates the expression this builder should use for matching. You must call this method when you are finished building the expressions.- Returns:
- the created builder ready for matching
-
destroy
public void destroy()
De-registers this builder from itsCamelContext
. Once destroyed, this instance will not function again.
-
matches
public boolean matches()
Does all the expression match? This operation will return immediately which means it can be used for testing at this very moment.- Returns:
- true if matching, false otherwise
-
matches
public 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.- Parameters:
timeout
- the timeout valuetimeUnit
- the time unit- Returns:
- true if matching, false otherwise due to timeout
-
matchesMockWaitTime
@Deprecated public boolean matchesMockWaitTime()
Deprecated.usematchesWaitTime()
insteadDoes all the expressions match? This operation will wait until the match is true or otherwise a timeout occur which means false will be returned. The timeout value is by default 10 seconds.- Returns:
- true if matching, false otherwise due to timeout
-
matchesWaitTime
public 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. The timeout value is by default 10 seconds.- Returns:
- true if matching, false otherwise due to timeout
-
reset
public void reset()
Resets the notifier.
-
-