org.apache.camel.model
Class CatchDefinition

java.lang.Object
  extended by org.apache.camel.model.OptionalIdentifiedDefinition<Type>
      extended by org.apache.camel.model.ProcessorDefinition<CatchDefinition>
          extended by org.apache.camel.model.CatchDefinition
All Implemented Interfaces:
Block, NamedNode

public class CatchDefinition
extends ProcessorDefinition<CatchDefinition>

Represents an XML <catch/> element

Version:

Field Summary
 
Fields inherited from class org.apache.camel.model.ProcessorDefinition
inheritErrorHandler, log
 
Constructor Summary
CatchDefinition()
           
CatchDefinition(Class<? extends Throwable> exceptionType)
           
CatchDefinition(List<Class<? extends Throwable>> exceptionClasses)
           
 
Method Summary
protected  List<Class<? extends Throwable>> createExceptionClasses(CamelContext context)
           
 CatchProcessor createProcessor(RouteContext routeContext)
          Override this in definition class and implement logic to create the processor based on the definition model.
 CatchDefinition exceptionClasses(Class<? extends Throwable> exception)
          Sets the exception class that the CatchType want to catch
 CatchDefinition exceptionClasses(List<Class<? extends Throwable>> exceptionClasses)
          Sets the exceptionClasses of the CatchType
 List<Class<? extends Throwable>> getExceptionClasses()
           
 List<String> getExceptions()
           
 ExpressionSubElementDefinition getHandled()
           
 Predicate getHandledPolicy()
           
 String getLabel()
          Returns a label to describe this node such as the expression if some kind of expression node
 WhenDefinition getOnWhen()
           
 List<ProcessorDefinition<?>> getOutputs()
           
 String getShortName()
          Returns a short name for this node which can be useful for ID generation or referring to related resources like images
 CatchDefinition handled(boolean handled)
          Deprecated. will be removed in Camel 3.0. Instead of using handled(false) you can re-throw the exception from a Processor or use the ProcessorDefinition.throwException(Exception)
 CatchDefinition handled(Expression handled)
          Deprecated. will be removed in Camel 3.0. Instead of using handled(false) you can re-throw the exception from a Processor or use the ProcessorDefinition.throwException(Exception)
 CatchDefinition handled(Predicate handled)
          Deprecated. will be removed in Camel 3.0. Instead of using handled(false) you can re-throw the exception from a Processor or use the ProcessorDefinition.throwException(Exception)
 boolean isOutputSupported()
           
 CatchDefinition onWhen(Predicate predicate)
          Sets an additional predicate that should be true before the onCatch is triggered.
 void setExceptionClasses(List<Class<? extends Throwable>> exceptionClasses)
           
 void setExceptions(List<String> exceptions)
           
 void setHandled(ExpressionSubElementDefinition handled)
           
 void setHandledPolicy(Predicate handledPolicy)
           
 void setOnWhen(WhenDefinition onWhen)
           
 void setOutputs(List<ProcessorDefinition<?>> outputs)
           
 String toString()
           
 
Methods inherited from class org.apache.camel.model.ProcessorDefinition
addInterceptStrategies, addInterceptStrategy, addOutput, addRoutes, aggregate, aggregate, aggregate, aggregate, aop, attribute, bean, bean, bean, bean, beanRef, beanRef, choice, clearOutput, configureChild, convertBodyTo, convertBodyTo, createChannel, createChildProcessor, createCompositeProcessor, createOutputsProcessor, createOutputsProcessor, delay, delay, delay, doTry, dynamicRouter, dynamicRouter, end, endChoice, endDoTry, endParent, enrich, enrich, enrichRef, filter, filter, filter, filter, getInterceptStrategies, getNodeFactory, getOtherAttributes, getParent, id, idempotentConsumer, idempotentConsumer, idempotentConsumer, inheritErrorHandler, inOnly, inOnly, inOnly, inOnly, inOnly, inOnly, inOut, inOut, inOut, inOut, inOut, inOut, isAbstract, isInheritErrorHandler, loadBalance, loadBalance, log, log, log, log, loop, loop, loop, makeProcessor, markRollbackOnly, markRollbackOnlyLast, marshal, marshal, marshal, marshal, multicast, multicast, multicast, onCompletion, onException, onException, pipeline, pipeline, pipeline, pipeline, placeholder, policy, policy, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrichRef, preCreateProcessor, process, processRef, recipientList, recipientList, recipientList, recipientList, removeFaultHeader, removeHeader, removeHeaders, removeHeaders, removeProperty, resequence, resequence, resolveKnownConstantFields, resolvePropertyPlaceholders, rollback, rollback, routeId, routingSlip, routingSlip, routingSlip, routingSlip, routingSlip, routingSlip, routingSlip, sample, sample, sample, setBody, setBody, setExchangePattern, setFaultBody, setFaultHeader, setHeader, setHeader, setInheritErrorHandler, setNodeFactory, setOtherAttributes, setOutHeader, setOutHeader, setParent, setProperty, setProperty, sort, sort, sort, split, split, split, stop, threads, threads, threads, threads, throttle, throttle, throwException, to, to, to, to, to, to, to, to, to, to, toF, transacted, transacted, transform, transform, unmarshal, unmarshal, unmarshal, unmarshal, validate, validate, validate, wireTap, wireTap, wireTap, wireTap, wireTap, wireTap, wireTap, wrapChannel, wrapInErrorHandler, wrapProcessor
 
Methods inherited from class org.apache.camel.model.OptionalIdentifiedDefinition
description, getDescription, getDescriptionText, getId, hasCustomIdAssigned, idOrCreate, setDescription, setId
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CatchDefinition

public CatchDefinition()

CatchDefinition

public CatchDefinition(List<Class<? extends Throwable>> exceptionClasses)

CatchDefinition

public CatchDefinition(Class<? extends Throwable> exceptionType)
Method Detail

toString

public String toString()
Overrides:
toString in class Object

getShortName

public String getShortName()
Description copied from class: OptionalIdentifiedDefinition
Returns a short name for this node which can be useful for ID generation or referring to related resources like images

Specified by:
getShortName in interface NamedNode
Overrides:
getShortName in class OptionalIdentifiedDefinition<CatchDefinition>
Returns:
defaults to "node" but derived nodes should overload this to provide a unique name

getLabel

public String getLabel()
Description copied from class: ProcessorDefinition
Returns a label to describe this node such as the expression if some kind of expression node

Overrides:
getLabel in class ProcessorDefinition<CatchDefinition>

createProcessor

public CatchProcessor createProcessor(RouteContext routeContext)
                               throws Exception
Description copied from class: ProcessorDefinition
Override this in definition class and implement logic to create the processor based on the definition model.

Overrides:
createProcessor in class ProcessorDefinition<CatchDefinition>
Throws:
Exception

getOutputs

public List<ProcessorDefinition<?>> getOutputs()
Specified by:
getOutputs in class ProcessorDefinition<CatchDefinition>

setOutputs

public void setOutputs(List<ProcessorDefinition<?>> outputs)

isOutputSupported

public boolean isOutputSupported()
Specified by:
isOutputSupported in class ProcessorDefinition<CatchDefinition>

getExceptionClasses

public List<Class<? extends Throwable>> getExceptionClasses()

setExceptionClasses

public void setExceptionClasses(List<Class<? extends Throwable>> exceptionClasses)

exceptionClasses

public CatchDefinition exceptionClasses(List<Class<? extends Throwable>> exceptionClasses)
Sets the exceptionClasses of the CatchType

Parameters:
exceptionClasses - a list of the exception classes
Returns:
the builder

onWhen

public CatchDefinition onWhen(Predicate predicate)
Sets an additional predicate that should be true before the onCatch is triggered.

To be used for fine grained controlling whether a thrown exception should be intercepted by this exception type or not.

Parameters:
predicate - predicate that determines true or false
Returns:
the builder

handled

@Deprecated
public CatchDefinition handled(boolean handled)
Deprecated. will be removed in Camel 3.0. Instead of using handled(false) you can re-throw the exception from a Processor or use the ProcessorDefinition.throwException(Exception)

Sets whether the exchange should be marked as handled or not.

Parameters:
handled - handled or not
Returns:
the builder

handled

@Deprecated
public CatchDefinition handled(Predicate handled)
Deprecated. will be removed in Camel 3.0. Instead of using handled(false) you can re-throw the exception from a Processor or use the ProcessorDefinition.throwException(Exception)

Sets whether the exchange should be marked as handled or not.

Parameters:
handled - predicate that determines true or false
Returns:
the builder

handled

@Deprecated
public CatchDefinition handled(Expression handled)
Deprecated. will be removed in Camel 3.0. Instead of using handled(false) you can re-throw the exception from a Processor or use the ProcessorDefinition.throwException(Exception)

Sets whether the exchange should be marked as handled or not.

Parameters:
handled - expression that determines true or false
Returns:
the builder

exceptionClasses

public CatchDefinition exceptionClasses(Class<? extends Throwable> exception)
Sets the exception class that the CatchType want to catch

Parameters:
exception - the exception of class
Returns:
the builder

getExceptions

public List<String> getExceptions()

setExceptions

public void setExceptions(List<String> exceptions)

getOnWhen

public WhenDefinition getOnWhen()

setOnWhen

public void setOnWhen(WhenDefinition onWhen)

getHandledPolicy

public Predicate getHandledPolicy()

setHandledPolicy

public void setHandledPolicy(Predicate handledPolicy)

getHandled

public ExpressionSubElementDefinition getHandled()

setHandled

public void setHandled(ExpressionSubElementDefinition handled)

createExceptionClasses

protected List<Class<? extends Throwable>> createExceptionClasses(CamelContext context)
                                                           throws ClassNotFoundException
Throws:
ClassNotFoundException


Apache CAMEL