Package org.frankframework.pipes
Class CompareStringPipe
java.lang.Object
org.frankframework.core.TransactionAttributes
org.frankframework.pipes.AbstractPipe
org.frankframework.pipes.CompareStringPipe
- All Implemented Interfaces:
FrankElement,HasApplicationContext,HasName,HasTransactionAttribute,IConfigurable,IForwardTarget,IPipe,IScopeProvider,IWithParameters,NameAware,EventThrowing,org.springframework.beans.factory.Aware,org.springframework.context.ApplicationContextAware,org.springframework.context.Lifecycle
@Forward(name="lessthan",description="operand1 < operand2") @Forward(name="greaterthan",description="operand1 > operand2") @Forward(name="equals",description="operand1 = operand2")
@Category(BASIC)
@EnterpriseIntegrationPattern(ROUTER)
public class CompareStringPipe
extends AbstractPipe
Pipe that lexicographically compares two strings, which must NOT be empty.
- Author:
- Peter Leeuwenburgh
- Specific parameters
- operand1 The first operand, which holds v1. Defaults to input message., operand2 The second operand, which holds v2. Defaults to input message., ignorepatterns (optional) Contains an XML table with references to substrings that have to be ignored during the comparison. This XML table has the following layout:
<ignores> <ignore> <after>...</after> <before>...</before> </ignore> <ignore> <after>...</after> <before>...</before> </ignore> </ignores>
Substrings between "after" and "before" are ignored.
-
Field Summary
FieldsFields inherited from class org.frankframework.pipes.AbstractPipe
parameterNamesMustBeUniqueFields inherited from class org.frankframework.core.TransactionAttributes
logFields inherited from interface org.frankframework.core.IPipe
LONG_DURATION_MONITORING_EVENT, MESSAGE_SIZE_MONITORING_EVENT, PIPE_EXCEPTION_MONITORING_EVENT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidbooleanconsumesSessionVariable(String sessionKey) returnstrueif the pipe or one of its children use the named session variable.doPipe(Message message, PipeLineSession session) This is where the action takes place.booleanisXml()voidsetXml(boolean b) Iftrue, the string values to compare are considered to be XML strings, and before the actual comparison, both XML strings are transformed to a canonical form.Methods inherited from class org.frankframework.pipes.AbstractPipe
addForward, addParameter, createBean, findForward, getAdapter, getEventSourceName, getForwards, getParameterList, hasRegisteredForward, isRunning, registerEvent, setApplicationContext, setChompCharSize, setDurationThreshold, setElementToMove, setElementToMoveChain, setElementToMoveSessionKey, setEmptyInputReplacement, setGetInputFromFixedValue, setGetInputFromSessionKey, setHideRegex, setLocker, setLogIntermediaryResults, setMaxThreads, setName, setPreserveInput, setRemoveCompactMsgNamespaces, setRestoreMovedElements, setSecLogSessionKeys, setSizeStatistics, setStoreResultInSessionKey, setWriteToSecLog, sizeStatisticsEnabled, start, stop, throwEventMethods inherited from class org.frankframework.core.TransactionAttributes
configureTransactionAttributes, isTransacted, isTransacted, setTransacted, setTransactionTimeoutMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.frankframework.core.FrankElement
addConfigWarningMethods inherited from interface org.frankframework.core.HasApplicationContext
getApplicationContext, getConfigurationClassLoaderMethods inherited from interface org.frankframework.core.HasTransactionAttribute
getTransactionAttribute, getTransactionTimeout, getTxDef, setTransactionAttributeMethods inherited from interface org.frankframework.core.IForwardTarget
getNameMethods inherited from interface org.frankframework.core.IPipe
getChompCharSize, getDurationThreshold, getElementToMove, getElementToMoveChain, getElementToMoveSessionKey, getEmptyInputReplacement, getGetInputFromFixedValue, getGetInputFromSessionKey, getHideRegex, getLocker, getLogIntermediaryResults, getMaxThreads, getSecLogSessionKeys, getStoreResultInSessionKey, isPreserveInput, isRemoveCompactMsgNamespaces, isRestoreMovedElements, isWriteToSecLog, setPipeLine, throwEvent
-
Field Details
-
OPERAND1
- See Also:
-
OPERAND2
- See Also:
-
-
Constructor Details
-
CompareStringPipe
public CompareStringPipe()
-
-
Method Details
-
configure
Description copied from class:AbstractPipeconfigure()is called after thePipelineis registered at theAdapter. The purpose of this method is to reduce creating connections to databases, etc. in thedoPipe()method. As much as possible, class instantiation should take place in theconfigure()method to improve performance.- Specified by:
configurein interfaceIConfigurable- Overrides:
configurein classAbstractPipe- Throws:
ConfigurationException- in case it was not able to configure the component.
-
doPipe
Description copied from interface:IPipeThis is where the action takes place. Pipes may only throw a PipeRunException, to be handled by the caller of this object. Implementations must either consume the message, or pass it on to the next Pipe in the PipeRunResult.- Throws:
PipeRunException
-
consumesSessionVariable
Description copied from interface:IPipereturnstrueif the pipe or one of its children use the named session variable. Callers can use this to determine if a message needs to be preserved.- Specified by:
consumesSessionVariablein interfaceIPipe- Overrides:
consumesSessionVariablein classAbstractPipe
-
isXml
public boolean isXml() -
setXml
public void setXml(boolean b) Iftrue, the string values to compare are considered to be XML strings, and before the actual comparison, both XML strings are transformed to a canonical form.- Default value
- false
-