org.apache.camel.model
Class TransactedDefinition

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

public class TransactedDefinition
extends OutputDefinition<TransactedDefinition>

Represents an XML <transacted/> element

Version:
$Revision: 20257 $

Field Summary
static String PROPAGATION_REQUIRED
           
protected  String ref
           
protected  Class<? extends Policy> type
           
 
Fields inherited from class org.apache.camel.model.OutputDefinition
outputs
 
Fields inherited from class org.apache.camel.model.ProcessorDefinition
errorHandlerBuilder, errorHandlerRef, inheritErrorHandler, log
 
Constructor Summary
TransactedDefinition()
           
TransactedDefinition(Policy policy)
           
 
Method Summary
 Processor createProcessor(RouteContext routeContext)
          Override this in definition class and implement logic to create the processor based on the definition model.
protected  String description()
           
protected static Policy doResolvePolicy(RouteContext routeContext, String ref, Class<? extends Policy> type)
           
 String getLabel()
          Returns a label to describe this node such as the expression if some kind of expression node
 String getRef()
           
 String getShortName()
          Returns a short name for this node which can be useful for ID generation or referring to related resources like images
 boolean isAbstract()
          Whether this model is abstract or not.
 TransactedDefinition ref(String ref)
          Sets a reference to use for lookup the policy in the registry.
protected  Policy resolvePolicy(RouteContext routeContext)
           
 void setRef(String ref)
           
 void setType(Class<? extends Policy> type)
          Sets a policy type that this definition should scope within.
 String toString()
           
 
Methods inherited from class org.apache.camel.model.OutputDefinition
getOutputs, setOutputs
 
Methods inherited from class org.apache.camel.model.ProcessorDefinition
addInterceptStrategies, addInterceptStrategy, addOutput, addRoutes, aggregate, aggregate, aggregate, aggregate, aop, bean, bean, bean, bean, beanRef, beanRef, choice, clearOutput, configureChild, convertBodyTo, convertBodyTo, createChannel, createChildProcessor, createCompositeProcessor, createErrorHandlerBuilder, createOutputsProcessor, createOutputsProcessor, delay, delay, delay, doTry, end, enrich, enrich, enrichRef, filter, filter, filter, filter, getErrorHandlerBuilder, getInterceptStrategies, getNodeFactory, getParent, id, idempotentConsumer, idempotentConsumer, idempotentConsumer, inheritErrorHandler, inOnly, inOnly, inOnly, inOnly, inOnly, inOnly, inOut, inOut, inOut, inOut, inOut, inOut, isInheritErrorHandler, loadBalance, loadBalance, log, log, log, loop, loop, loop, makeProcessor, markRollbackOnly, markRollbackOnlyLast, marshal, marshal, marshal, marshal, multicast, multicast, multicast, onCompletion, onException, pipeline, pipeline, pipeline, pipeline, policy, policy, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrichRef, process, processRef, recipientList, recipientList, recipientList, removeFaultHeader, removeHeader, removeHeaders, removeProperty, resequence, resequence, resequence, resequence, rollback, rollback, routeId, routingSlip, routingSlip, routingSlip, routingSlip, routingSlip, routingSlip, routingSlip, sample, sample, setBody, setBody, setErrorHandlerBuilder, setExchangePattern, setFaultBody, setFaultHeader, setHeader, setHeader, setInheritErrorHandler, setNodeFactory, setOutHeader, setOutHeader, setParent, setProperty, setProperty, sort, sort, sortBody, sortBody, split, split, split, stop, threads, threads, threads, 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, getId, hasCustomIdAssigned, idOrCreate, setDescription, setId
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

PROPAGATION_REQUIRED

public static final String PROPAGATION_REQUIRED
See Also:
Constant Field Values

type

protected Class<? extends Policy> type

ref

protected String ref
Constructor Detail

TransactedDefinition

public TransactedDefinition()

TransactedDefinition

public TransactedDefinition(Policy policy)
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

Overrides:
getShortName in class OptionalIdentifiedDefinition
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<TransactedDefinition>

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 class ProcessorDefinition<TransactedDefinition>
Returns:
true for abstract, otherwise false for regular.

getRef

public String getRef()

setRef

public void setRef(String ref)

setType

public void setType(Class<? extends Policy> type)
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 a TransactedPolicy can be set as type for easy transaction configuration.

Will by default scope to the wide Policy

Parameters:
type - the policy type

ref

public TransactedDefinition ref(String ref)
Sets a reference to use for lookup the policy in the registry.

Parameters:
ref - the reference
Returns:
the builder

createProcessor

public Processor 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<TransactedDefinition>
Throws:
Exception

description

protected String description()

resolvePolicy

protected Policy resolvePolicy(RouteContext routeContext)

doResolvePolicy

protected static Policy doResolvePolicy(RouteContext routeContext,
                                        String ref,
                                        Class<? extends Policy> type)


Copyright © 2007-2010 IONA Open Source Community. All Rights Reserved.