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 onEventNotifiernotifications aboutExchangebeing 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 NotifyBuilderand()Prepares to append an additional expression using the and operator.NotifyBuildercreate()Creates the expression this builder should use for matching.voiddestroy()De-registers this builder from itsCamelContext.ExpressionClauseSupport<NotifyBuilder>filter()Optionally a filter to only allow matchingExchangeto be used for matching.NotifyBuilderfilter(org.apache.camel.Predicate predicate)Optionally a filter to only allow matchingExchangeto be used for matching.NotifyBuilderfrom(String endpointUri)Optionally a from endpoint which means that this expression should only be based onExchangewhich is originated from the particular endpoint(s).NotifyBuilderfromCurrentRoute(String routeId)Optionally a from current route which means that this expression should only be based onExchangewhich is the current route(s).NotifyBuilderfromRoute(String routeId)Optionally a from route which means that this expression should only be based onExchangewhich is originated from the particular route(s).booleanmatches()Does all the expression match?booleanmatches(long timeout, TimeUnit timeUnit)Does all the expression match?booleanmatchesMockWaitTime()Deprecated.usematchesWaitTime()insteadbooleanmatchesWaitTime()Does all the expressions match?NotifyBuildernot()Prepares to append an additional expression using the not operator.NotifyBuilderor()Prepares to append an additional expression using the or operator.voidreset()Resets the notifier.StringtoString()NotifyBuilderwaitTime(long waitTime)Specifies the wait time in millis to use in thematchesWaitTime()method.NotifyBuilderwereSentTo(String endpointUri)Optionally a sent to endpoint which means that this expression should only be based onExchangewhich has been sent to the given endpoint uri.NotifyBuilderwhenAllDoneMatches(org.apache.camel.Predicate predicate)Sets a condition that all doneExchangeshould match thePredicateNotifyBuilderwhenAllReceivedMatches(org.apache.camel.Predicate predicate)Sets a condition that all receivedExchangeshould match thePredicateNotifyBuilderwhenAnyDoneMatches(org.apache.camel.Predicate predicate)Sets a condition that any doneExchangeshould match thePredicateNotifyBuilderwhenAnyReceivedMatches(org.apache.camel.Predicate predicate)Sets a condition that any receivedExchangeshould match thePredicateNotifyBuilderwhenBodiesDone(Object... bodies)Sets a condition that the bodies is expected to be done in the order as well.NotifyBuilderwhenBodiesReceived(Object... bodies)Sets a condition that the bodies is expected to be received in the order as well.NotifyBuilderwhenCompleted(int number)Sets a condition when number ofExchangehas been completed.NotifyBuilderwhenDone(int number)Sets a condition when number ofExchangeis done being processed.NotifyBuilderwhenDoneByIndex(int index)Sets a condition when tne n'th (by index)Exchangeis done being processed.NotifyBuilderwhenDoneNotSatisfied(org.apache.camel.spi.NotifyBuilderMatcher matcher)Sets a condition when the provided matcher (such as mock endpoint) is not satisfied based onExchangebeing sent to it when they are done.NotifyBuilderwhenDoneSatisfied(org.apache.camel.spi.NotifyBuilderMatcher matcher)Sets a condition when the provided matcher (such as mock endpoint) is satisfied based onExchangebeing sent to it when they are done.NotifyBuilderwhenExactBodiesDone(Object... bodies)Sets a condition that the bodies is expected to be done in the order as well.NotifyBuilderwhenExactBodiesReceived(Object... bodies)Sets a condition that the bodies is expected to be received in the order as well.NotifyBuilderwhenExactlyCompleted(int number)Sets a condition when number ofExchangehas been completed.NotifyBuilderwhenExactlyDone(int number)Sets a condition when number ofExchangeis done being processed.NotifyBuilderwhenExactlyFailed(int number)Sets a condition when number ofExchangehas failed.NotifyBuilderwhenFailed(int number)Sets a condition when number ofExchangehas failed.NotifyBuilderwhenReceived(int number)Sets a condition when number ofExchangehas been received.NotifyBuilderwhenReceivedNotSatisfied(org.apache.camel.spi.NotifyBuilderMatcher matcher)Sets a condition when the provided matcher (such as mock endpoint) is not satisfied based onExchangebeing sent to it when they are received.NotifyBuilderwhenReceivedSatisfied(org.apache.camel.spi.NotifyBuilderMatcher matcher)Sets a condition when the provided matcher (such as mock endpoint) is satisfied based onExchangebeing 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 onExchangewhich 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 onExchangewhich 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 onExchangewhich 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 matchingExchangeto 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 matchingExchangeto 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 onExchangewhich has been sent to the given endpoint uri. Notice theExchangemay have been sent to other endpoints as well. This condition will match if theExchangehas 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 ofExchangehas 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 ofExchangeis 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)Exchangeis 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 ofExchangehas 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 ofExchangehas 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 ofExchangeis 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 ofExchangehas 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 ofExchangehas failed.- Parameters:
number- exactly number of messages- Returns:
- the builder
-
whenAnyReceivedMatches
public NotifyBuilder whenAnyReceivedMatches(org.apache.camel.Predicate predicate)
Sets a condition that any receivedExchangeshould match thePredicate- Parameters:
predicate- the predicate- Returns:
- the builder
-
whenAnyDoneMatches
public NotifyBuilder whenAnyDoneMatches(org.apache.camel.Predicate predicate)
Sets a condition that any doneExchangeshould match thePredicate- Parameters:
predicate- the predicate- Returns:
- the builder
-
whenAllReceivedMatches
public NotifyBuilder whenAllReceivedMatches(org.apache.camel.Predicate predicate)
Sets a condition that all receivedExchangeshould match thePredicate- Parameters:
predicate- the predicate- Returns:
- the builder
-
whenAllDoneMatches
public NotifyBuilder whenAllDoneMatches(org.apache.camel.Predicate predicate)
Sets a condition that all doneExchangeshould 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 onExchangebeing 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 doneExchangeto 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 onExchangebeing 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 doneExchangeto 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 onExchangebeing 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 doneExchangeto 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 onExchangebeing 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 doneExchangeto 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.
-
-