Package org.apache.camel.model
Class PolicyDefinition
java.lang.Object
- All Implemented Interfaces:
org.apache.camel.CamelContextAware
,org.apache.camel.LineNumberAware
,Block
,OutputNode
,org.apache.camel.NamedNode
,org.apache.camel.spi.HasCamelContext
,org.apache.camel.spi.HasId
,org.apache.camel.spi.IdAware
@Metadata(label="configuration")
public class PolicyDefinition
extends OutputDefinition<PolicyDefinition>
Defines a policy the route will use
-
Field Summary
Fields inherited from class org.apache.camel.model.OutputDefinition
outputs
Fields inherited from class org.apache.camel.model.ProcessorDefinition
disabled, inheritErrorHandler
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected String
getLabel()
Returns a label to describe this node such as the expression if some kind of expression nodeorg.apache.camel.spi.Policy
getRef()
Class<? extends org.apache.camel.spi.Policy>
getType()
boolean
Whether this model is abstract or not.boolean
Whether this definition can only be added as top-level directly on the route itself (such as onException,onCompletion,intercept, etc.)boolean
Whether this definition is wrapping the entire output.Sets a reference to use for lookup the policy in the registry.void
setOutputs
(List<ProcessorDefinition<?>> outputs) void
void
Sets a policy type that this definition should scope within.toString()
Methods inherited from class org.apache.camel.model.ProcessorDefinition
addInterceptStrategy, addOutput, aggregate, aggregate, aggregate, aggregate, bean, bean, bean, bean, bean, bean, bean, bean, bean, bean, bean, choice, circuitBreaker, claimCheck, claimCheck, claimCheck, claimCheck, clearOutput, configureChild, convertBodyTo, convertBodyTo, convertBodyTo, delay, delay, delay, disabled, disabled, disabled, doTry, dynamicRouter, dynamicRouter, end, endChoice, endCircuitBreaker, endDoCatch, endDoTry, endParent, enrich, enrich, enrich, enrich, enrich, enrich, enrich, enrich, enrich, enrichWith, enrichWith, enrichWith, enrichWith, enrichWith, enrichWith, filter, filter, filter, filter, getDisabled, getIndex, getInterceptStrategies, getParent, getRouteConfiguration, id, idempotentConsumer, idempotentConsumer, idempotentConsumer, inheritErrorHandler, isInheritErrorHandler, kamelet, loadBalance, loadBalance, log, log, log, log, log, log, loop, loop, loop, loopDoWhile, loopDoWhile, markRollbackOnly, markRollbackOnlyLast, marshal, marshal, marshal, marshal, multicast, multicast, multicast, nodePrefixId, onCompletion, onException, onException, pausable, pausable, pausable, pausable, pipeline, pipeline, pipeline, policy, policy, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrichWith, pollEnrichWith, pollEnrichWith, pollEnrichWith, pollEnrichWith, pollEnrichWith, preCreateProcessor, process, process, process, recipientList, recipientList, recipientList, recipientList, removeHeader, removeHeaders, removeHeaders, removeProperties, removeProperties, removeProperty, resequence, resequence, resumable, resumable, resumable, rollback, rollback, routeDescription, routeGroup, routeId, routingSlip, routingSlip, routingSlip, saga, sample, sample, sample, sample, script, script, serviceCall, serviceCall, serviceCall, setBody, setBody, setBody, setDisabled, setExchangePattern, setExchangePattern, setHeader, setHeader, setHeader, setInheritErrorHandler, setParent, setProperty, setProperty, setProperty, setRouteConfiguration, sort, sort, sort, split, split, split, split, startupOrder, step, step, stop, threads, threads, threads, threads, throttle, throttle, throttle, throttle, throttle, throwException, throwException, to, to, to, to, to, to, to, to, to, to, to, to, toD, toD, toD, toD, toD, toD, toD, toF, transacted, transacted, transform, transform, transform, transform, unmarshal, unmarshal, unmarshal, unmarshal, unmarshal, unmarshal, unmarshal, validate, validate, validate, wireTap, wireTap, wireTap
Methods inherited from class org.apache.camel.model.OptionalIdentifiedDefinition
description, getCamelContext, getCustomId, getDescription, getDescriptionText, getId, getLineNumber, getLocation, hasCustomIdAssigned, idOrCreate, setCamelContext, setCustomId, setDescription, setGeneratedId, setId, setLineNumber, setLocation
-
Constructor Details
-
PolicyDefinition
public PolicyDefinition() -
PolicyDefinition
public PolicyDefinition(org.apache.camel.spi.Policy policy)
-
-
Method Details
-
getOutputs
- Overrides:
getOutputs
in classOutputDefinition<PolicyDefinition>
-
setOutputs
- Overrides:
setOutputs
in classOutputDefinition<PolicyDefinition>
-
toString
- Overrides:
toString
in classOutputDefinition<PolicyDefinition>
-
getPolicy
public org.apache.camel.spi.Policy getPolicy() -
getType
-
description
-
getShortName
- Specified by:
getShortName
in interfaceorg.apache.camel.NamedNode
- Overrides:
getShortName
in classOutputDefinition<PolicyDefinition>
-
getLabel
Description copied from class:ProcessorDefinition
Returns a label to describe this node such as the expression if some kind of expression node- Specified by:
getLabel
in interfaceorg.apache.camel.NamedNode
- Overrides:
getLabel
in classProcessorDefinition<PolicyDefinition>
-
isAbstract
public boolean isAbstract()Description copied from class:ProcessorDefinition
Whether this model is abstract or not. An abstract model is something that is used for configuring cross cutting concerns such as error handling, transaction policies, interceptors etc. Regular definitions is what is part of the route, such as ToDefinition, WireTapDefinition and the likes. Will by default return false to indicate regular definition, so all the abstract definitions must override this method and return true instead. This information is used in camel-spring to let Camel work a bit on the model provided by JAXB from the Spring XML file. This is needed to handle those cross cutting concerns properly. The Java DSL does not have this issue as it can work this out directly using the fluent builder methods.- Overrides:
isAbstract
in classProcessorDefinition<PolicyDefinition>
- Returns:
- true for abstract, otherwise false for regular.
-
isTopLevelOnly
public boolean isTopLevelOnly()Description copied from class:ProcessorDefinition
Whether this definition can only be added as top-level directly on the route itself (such as onException,onCompletion,intercept, etc.) If trying to add a top-level only definition to a nested output would fail in theProcessorDefinition.addOutput(ProcessorDefinition)
method.- Overrides:
isTopLevelOnly
in classProcessorDefinition<PolicyDefinition>
-
isWrappingEntireOutput
public boolean isWrappingEntireOutput()Description copied from class:ProcessorDefinition
Whether this definition is wrapping the entire output. When a definition is wrapping the entire output, the check to ensure that a route definition is empty should be done on the wrapped output.- Overrides:
isWrappingEntireOutput
in classProcessorDefinition<PolicyDefinition>
- Returns:
- true when wrapping the entire output.
-
getRef
-
setRef
-
setType
Sets a policy type that this definition should scope within. Is used for convention over configuration situations where the policy should be automatic looked up in the registry and it should be based on this type. For instance aTransactedPolicy
can be set as type for easy transaction configuration. Will by default scope to the widePolicy
- Parameters:
type
- the policy type
-
ref
Sets a reference to use for lookup the policy in the registry.- Parameters:
ref
- the reference- Returns:
- the builder
-