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:
FrankElement,HasApplicationContext,HasName,HasTransactionAttribute,IConfigurable,IForwardTarget,IPipe,IScopeProvider,IWithParameters,NameAware,EventThrowing,org.springframework.beans.factory.Aware,org.springframework.context.ApplicationContextAware,org.springframework.context.Lifecycle
This Pipe is used to replace values in a few ways. The following steps are performed:
- If the attribute
findis provided, the pipe will attempt to replace the provided value with the content of the attributereplace. - The resulting string is substituted based on the parameters of this pipe. It will replace values in the input enclosed
with
?{...}, for instance text like:?{parameterOne}in combination with a parameterparameterOnewill use the value of thisParameter. If a parameter for the given value is not found, it will not be replaced and the?{parameterOne}value will remain in the output. - If attribute
substituteVarsistrue, then expressions${...}are substituted using system properties, session variables and application properties. Please note that no${...}patterns are left in the input.
- Since:
- 4.2
- Author:
- Gerrit van Brakel
- Parameters
- Used for substitution. For a parameter named
xyz, the string?{xyz}is substituted by the parameter's value.
-
Field Summary
Fields 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 TypeMethodDescriptionvoidChecks for correct configuration of forward.doPipe(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.booleanbooleanvoidsetAllowUnicodeSupplementaryCharacters(boolean allowUnicodeSupplementaryCharacters) Whether to allow Unicode supplementary characters (like a smiley) duringreplaceNonValidXmlCharactersvoidSets the string that is searched for.voidsetLineSeparatorSymbol(String string) sets the string that will represent the line-separator in thesetFind(String)andsetReplace(String)strings.voidsetNonXmlReplacementCharacter(String nonXmlReplacementCharacter) character that will replace each non-valid xml character (empty string is also possible) (use ¿ for inverted question mark)voidsetReplace(String replace) Sets the string that will replace each of the occurrences of the find-string.voidsetReplaceNonXmlChar(String replaceNonXmlChar) Deprecated, for removal: This API element is subject to removal in a future version.voidsetReplaceNonXmlChars(boolean b) Replace all characters that are non-printable according to the XML specification with the value specified insetNonXmlReplacementCharacter(String).voidsetSubstituteVars(boolean substitute) Should properties (values between${and}) be resolved.Methods inherited from class org.frankframework.pipes.FixedForwardPipe
getParameterValue, setIfParam, setIfValue, setOnlyIfSessionKey, setOnlyIfValue, setSkipOnEmptyInput, setUnlessSessionKey, setUnlessValue, skipPipeMethods inherited from class org.frankframework.pipes.AbstractPipe
addForward, addParameter, consumesSessionVariable, 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
-
Constructor Details
-
ReplacerPipe
public ReplacerPipe()
-
-
Method Details
-
configure
Description copied from class:FixedForwardPipeChecks for correct configuration of forward.- Specified by:
configurein interfaceIConfigurable- Overrides:
configurein classFixedForwardPipe- 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
-
getFind
-
setFind
Sets the string that is searched for. Newlines can be represented by thesetLineSeparatorSymbol(String). -
getReplace
-
setReplace
Sets the string that will replace each of the occurrences of the find-string. Newlines can be represented * by thesetLineSeparatorSymbol(String). -
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. -
isReplaceNonXmlChars
public boolean isReplaceNonXmlChars() -
setReplaceNonXmlChars
public void setReplaceNonXmlChars(boolean b) Replace all characters that are non-printable according to the XML specification with the value specified insetNonXmlReplacementCharacter(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
-
getNonXmlReplacementCharacter
-
setNonXmlReplacementCharacter
character that will replace each non-valid xml character (empty string is also possible) (use ¿ for inverted question mark)- Default value
- empty string
-
setReplaceNonXmlChar
@Deprecated(since="8.2", forRemoval=true) @ConfigurationWarning("The attribute \'replaceNonXmlChar\' has been renamed to \'nonXmlReplacementCharacter\' for readability") public void setReplaceNonXmlChar(String replaceNonXmlChar) Deprecated, for removal: This API element is subject to removal in a future version. -
isAllowUnicodeSupplementaryCharacters
public boolean isAllowUnicodeSupplementaryCharacters() -
setAllowUnicodeSupplementaryCharacters
public void setAllowUnicodeSupplementaryCharacters(boolean allowUnicodeSupplementaryCharacters) Whether to allow Unicode supplementary characters (like a smiley) duringreplaceNonValidXmlCharacters- Default value
- false
-
setSubstituteVars
public void setSubstituteVars(boolean substitute) Should properties (values between${and}) be resolved.- Default value
- false
-