Package org.frankframework.pipes
Class ReplacerPipe
java.lang.Object
org.frankframework.core.TransactionAttributes
org.frankframework.pipes.AbstractPipe
org.frankframework.pipes.FixedForwardPipe
org.frankframework.pipes.ReplacerPipe
- All Implemented Interfaces:
HasTransactionAttribute
,IConfigurable
,IConfigurationAware
,IForwardTarget
,INamedObject
,IPipe
,IScopeProvider
,IWithParameters
,EventThrowing
,HasStatistics
,org.springframework.beans.factory.Aware
,org.springframework.context.ApplicationContextAware
Replaces all occurrences of one string with another.
Optionally strips or replaces XML non-printable characters.
- Since:
- 4.2
- Author:
- Gerrit van Brakel
-
Field Summary
Fields inherited from class org.frankframework.pipes.AbstractPipe
parameterNamesMustBeUnique
Fields inherited from class org.frankframework.core.TransactionAttributes
log
Fields inherited from interface org.frankframework.core.IPipe
LONG_DURATION_MONITORING_EVENT, MESSAGE_SIZE_MONITORING_EVENT, PIPE_EXCEPTION_MONITORING_EVENT
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
checks for correct configuration of forwarddoPipe
(Message message, PipeLineSession session) This is where the action takes place.getFind()
Sets the string the representation in find and replace of the line separator.boolean
boolean
void
setAllowUnicodeSupplementaryCharacters
(boolean b) Whether to allow Unicode supplementary characters (like a smiley) duringreplaceNonValidXmlCharacters
void
Sets the string that is searched for.void
setLineSeparatorSymbol
(String string) sets the string that will represent the line-separator in thesetFind(String)
andsetReplace(String)
strings.void
setReplace
(String replace) Sets the string that will replace each of the occurrences of the find-string.void
setReplaceNonXmlChar
(String replaceNonXmlChar) character that will replace each non valid xml character (empty string is also possible) (use ¿ for inverted question mark)void
setReplaceNonXmlChars
(boolean b) Replace all characters that are non-printable according to the XML specification with the value specified insetReplaceNonXmlChar(String)
.Methods inherited from class org.frankframework.pipes.FixedForwardPipe
getIfParam, getIfValue, getOnlyIfSessionKey, getOnlyIfValue, getParameterValue, getSuccessForward, getUnlessSessionKey, getUnlessValue, isSkipOnEmptyInput, setIfParam, setIfValue, setOnlyIfSessionKey, setOnlyIfValue, setSkipOnEmptyInput, setUnlessSessionKey, setUnlessValue, skipPipe
Methods inherited from class org.frankframework.pipes.AbstractPipe
addParameter, consumesSessionVariable, createBean, findForward, getAdapter, getApplicationContext, getChompCharSize, getConfigurationClassLoader, getDurationThreshold, getElementToMove, getElementToMoveChain, getElementToMoveSessionKey, getEmptyInputReplacement, getEventSourceName, getForwards, getGetInputFromFixedValue, getGetInputFromSessionKey, getHideRegex, getLocker, getLogIntermediaryResults, getMaxThreads, getName, getParameterList, getPipeLine, getSecLogSessionKeys, getStoreResultInSessionKey, isPreserveInput, isRemoveCompactMsgNamespaces, isRestoreMovedElements, isWriteToSecLog, registerEvent, registerForward, setApplicationContext, setChompCharSize, setDurationThreshold, setElementToMove, setElementToMoveChain, setElementToMoveSessionKey, setEmptyInputReplacement, setEventPublisher, setGetInputFromFixedValue, setGetInputFromSessionKey, setHideRegex, setLocker, setLogIntermediaryResults, setMaxThreads, setName, setPipeLine, setPreserveInput, setRemoveCompactMsgNamespaces, setRestoreMovedElements, setSecLogSessionKeys, setSizeStatistics, setStoreResultInSessionKey, setWriteToSecLog, sizeStatisticsEnabled, start, stop, throwEvent
Methods inherited from class org.frankframework.core.TransactionAttributes
configureTransactionAttributes, getTransactionAttribute, getTransactionTimeout, getTxDef, isTransacted, isTransacted, setTransacted, setTransactionAttribute, setTransactionTimeout
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.frankframework.core.IPipe
throwEvent
-
Constructor Details
-
ReplacerPipe
public ReplacerPipe()
-
-
Method Details
-
configure
Description copied from class:FixedForwardPipe
checks for correct configuration of forward- Specified by:
configure
in interfaceIConfigurable
- Specified by:
configure
in interfaceIPipe
- Overrides:
configure
in classFixedForwardPipe
- Throws:
ConfigurationException
-
doPipe
Description copied from interface:IPipe
This 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. If the result of the Pipe does not depend on the input, like for theFixedResultPipe
, the Pipe can schedule the input to be closed at session exit, by callingMessage.closeOnCloseOf(PipeLineSession, String)
This allows the previous Pipe to release any resources (e.g. connections) that it might have kept open until the message was consumed. Doing so avoids connections leaking from pools, while it enables efficient streaming processing of data while it is being read from a stream.- Throws:
PipeRunException
-
setFind
Sets the string that is searched for. Newlines can be represented by thesetLineSeparatorSymbol(String)
. -
getFind
-
setReplace
Sets the string that will replace each of the occurrences of the find-string. Newlines can be represented * by thesetLineSeparatorSymbol(String)
. -
getReplace
-
getLineSeparatorSymbol
Sets the string the representation in find and replace of the line separator. -
setLineSeparatorSymbol
sets the string that will represent the line-separator in thesetFind(String)
andsetReplace(String)
strings. -
setReplaceNonXmlChars
public void setReplaceNonXmlChars(boolean b) Replace all characters that are non-printable according to the XML specification with the value specified insetReplaceNonXmlChar(String)
.NB: This will only replace or remove characters considered non-printable. This will not check if a given character is valid in the particular way it is used. Thus it will not remove or replace, for instance, a single
'&'
character.See also:
- Default value
- false
-
isReplaceNonXmlChars
public boolean isReplaceNonXmlChars() -
setReplaceNonXmlChar
character that will replace each non valid xml character (empty string is also possible) (use ¿ for inverted question mark)- Default value
- empty string
-
getReplaceNonXmlChar
-
setAllowUnicodeSupplementaryCharacters
public void setAllowUnicodeSupplementaryCharacters(boolean b) Whether to allow Unicode supplementary characters (like a smiley) duringreplaceNonValidXmlCharacters
- Default value
- false
-
isAllowUnicodeSupplementaryCharacters
public boolean isAllowUnicodeSupplementaryCharacters()
-