public class PipelineChain
extends java.lang.Object
implements java.io.Serializable
This class is responsible for maintaining the list of processors to be executed in series. The chain keeps track of the transactional information and starts, stops, or suspends transactions as necessary. See the JTA specification for more information. The PipelineChain consists of PipelineProcessors whose return code values determine which processor if any is called next in the execution stream.
PipelineProcessor
,
Serialized FormModifier and Type | Field and Description |
---|---|
static java.lang.String |
CLASS_VERSION |
static int |
TX_MANDATORY |
static java.lang.String |
TX_MANDATORY_STR |
static int |
TX_NOT_SUPPORTED |
static java.lang.String |
TX_NOT_SUPPORTED_STR |
static int |
TX_REQUIRED |
static java.lang.String |
TX_REQUIRED_STR |
static int |
TX_REQUIRES_NEW |
static java.lang.String |
TX_REQUIRES_NEW_STR |
static int |
TX_SUPPORTS |
static java.lang.String |
TX_SUPPORTS_STR |
Modifier and Type | Method and Description |
---|---|
void |
addTransition(PipelineLink pFromLink,
int pRetCode,
PipelineLink pToLink)
Adds a transition from aFromLink to aToLink.
|
void |
addTransition(PipelineLink pFromLink,
int pRetCode,
PipelineLink pToLink,
boolean pRemoveExisting)
Adds a transition from aFromLink to aToLink.
|
protected void |
cancelChainTransaction()
Called by the PipelineChain if an error occurs during the execution of a pipeline chain.
|
protected void |
cancelLinkTransaction(PipelineLink pLink)
Called by the PipelineChain if an error occurs during the execution of a pipeline chain.
|
void |
clearHeadLink()
Clears the head link from this chain and essentially resets the chain to have no links or
transitions in it.
|
PipelineLink |
createLink(java.lang.String pLinkId,
PipelineProcessor pProc,
PipelineLink pFromLink,
int pRetCode,
atg.service.pipeline.ProcessorConfiguration pProcConfig)
Creates a PipelineLink object with the name aLinkId and the PipelineProcessor aProc.
|
PipelineLink |
getHeadLink()
Returns the first link in the PipelineChain.
|
java.lang.String |
getId()
Returns the chainId.
|
PipelineLink |
getLinkById(java.lang.String pLinkId)
Given a LinkId this method will search for it in a chain.
|
ApplicationLogging |
getLogging()
Returns the logging
|
int |
getTransactionMode()
Returns the default transaction mode of the chain.
|
protected PipelineLink |
instantiatePipelineLink(java.lang.String pLinkId)
This method should be overridden by subclasses.
|
protected void |
postChainTransaction()
Called by the PipelineChain after calling runProcess() to cleanup any transaction data as
a result of the execution of the pipeline.
|
protected void |
postLinkTransaction(PipelineLink pLink)
Called by the PipelineChain after calling runProcess() to cleanup any transaction data as
a result of the execution of the pipeline.
|
protected void |
preChainTransaction()
Called by the PipelineChain before calling runProcess() to setup any transaction data or
structures for the execution of the processor.
|
protected void |
preLinkTransaction(PipelineLink pLink)
Called by the PipelineChain before calling runProcess() to setup any transaction data or
structures for the execution of the processor.
|
void |
removeTransition(PipelineLink pFromLink,
int pRetCode)
Removes the transition in aFromLink with the return code aRetCode.
|
void |
removeTransition(PipelineLink pFromLink,
PipelineLink pToLink)
Remove the transition from aFromLink to aToLink.
|
protected PipelineResult |
runProcess(java.lang.Object pParam)
This method runs the chain.
|
PipelineLink |
setHeadLink(java.lang.String pLinkId,
PipelineProcessor pProc,
atg.service.pipeline.ProcessorConfiguration pProcConfig)
Sets the first link in the PipelineChain to aLink.
|
void |
setLogging(ApplicationLogging pLogging)
Sets the logging
|
void |
setTransactionMode(int pMode)
Sets the default transaction mode of the chain.
|
static int |
stringToTransactionMode(java.lang.String pMode)
Given a String representation of a transaction mode, returns the corresponding transaction mode
|
static java.lang.String |
transactionModeToString(int pMode)
Given a transaction mode, returns a String representation of it
|
public static java.lang.String CLASS_VERSION
public static final int TX_REQUIRED
public static final int TX_REQUIRES_NEW
public static final int TX_SUPPORTS
public static final int TX_NOT_SUPPORTED
public static final int TX_MANDATORY
public static final java.lang.String TX_REQUIRED_STR
public static final java.lang.String TX_REQUIRES_NEW_STR
public static final java.lang.String TX_SUPPORTS_STR
public static final java.lang.String TX_NOT_SUPPORTED_STR
public static final java.lang.String TX_MANDATORY_STR
protected PipelineLink instantiatePipelineLink(java.lang.String pLinkId)
public final java.lang.String getId()
public ApplicationLogging getLogging()
public void setLogging(ApplicationLogging pLogging)
public PipelineLink getHeadLink()
public PipelineLink setHeadLink(java.lang.String pLinkId, PipelineProcessor pProc, atg.service.pipeline.ProcessorConfiguration pProcConfig) throws CreateLinkException, LockChainException
public void clearHeadLink() throws LockChainException
LockChainException
public void setTransactionMode(int pMode) throws LockChainException
LockChainException
public int getTransactionMode()
protected PipelineResult runProcess(java.lang.Object pParam) throws RunProcessException
RunProcessException
public PipelineLink getLinkById(java.lang.String pLinkId)
public PipelineLink createLink(java.lang.String pLinkId, PipelineProcessor pProc, PipelineLink pFromLink, int pRetCode, atg.service.pipeline.ProcessorConfiguration pProcConfig) throws CreateLinkException, TransitionException, LockChainException
public void addTransition(PipelineLink pFromLink, int pRetCode, PipelineLink pToLink) throws TransitionException, LockChainException
public void addTransition(PipelineLink pFromLink, int pRetCode, PipelineLink pToLink, boolean pRemoveExisting) throws TransitionException, LockChainException
public void removeTransition(PipelineLink pFromLink, int pRetCode) throws TransitionException, LockChainException
public void removeTransition(PipelineLink pFromLink, PipelineLink pToLink) throws TransitionException, LockChainException
protected void preChainTransaction() throws RunProcessException
RunProcessException
protected void postChainTransaction() throws RunProcessException
RunProcessException
protected void cancelChainTransaction() throws RunProcessException
RunProcessException
protected void preLinkTransaction(PipelineLink pLink) throws RunProcessException
RunProcessException
protected void postLinkTransaction(PipelineLink pLink) throws RunProcessException
RunProcessException
protected void cancelLinkTransaction(PipelineLink pLink) throws RunProcessException
RunProcessException
public static java.lang.String transactionModeToString(int pMode)
public static int stringToTransactionMode(java.lang.String pMode)