Class XmlIf

All Implemented Interfaces:
HasTransactionAttribute, IConfigurable, IConfigurationAware, IForwardTarget, INamedObject, IPipe, IScopeProvider, IWithParameters, EventThrowing, HasStatistics, org.springframework.beans.factory.Aware, org.springframework.context.ApplicationContextAware

@Forward(name="*",description="when {@literal thenForwardName} or {@literal elseForwardName} are used") @Forward(name="then",description="the configured condition is met") @Forward(name="else",description="the configured condition is not met") @EnterpriseIntegrationPattern(ROUTER) @Deprecated(since="9.0.0", forRemoval=true) public class XmlIf extends IfPipe
Deprecated, for removal: This API element is subject to removal in a future version.
please use the IfPipe for if (else/then) behaviour. If you need regular expressions, see the @RegExPipe as well.
Selects a forward, based on XPath evaluation
Since:
4.3
Author:
Peter Leeuwenburgh
  • Constructor Details

    • XmlIf

      public XmlIf()
      Deprecated, for removal: This API element is subject to removal in a future version.
  • Method Details

    • doPipe

      public PipeRunResult doPipe(Message message, PipeLineSession session) throws PipeRunException
      Deprecated, for removal: This API element is subject to removal in a future version.
      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 the FixedResultPipe, the Pipe can schedule the input to be closed at session exit, by calling Message.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.
      Specified by:
      doPipe in interface IPipe
      Overrides:
      doPipe in class IfPipe
      Throws:
      PipeRunException
    • consumesSessionVariable

      public boolean consumesSessionVariable(String sessionKey)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: IPipe
      returns true if 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:
      consumesSessionVariable in interface IPipe
      Overrides:
      consumesSessionVariable in class AbstractPipe
    • setRegex

      @Deprecated(forRemoval=true, since="9.0") @ConfigurationWarning("Please use the RegExPipe instead") public void setRegex(String regex)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Regular expression to be applied to the input-message (ignored if either xpathExpression or jsonPathExpression is specified). The input-message fully matching the given regular expression leads to the 'then'-forward
    • setSessionKey

      @Deprecated(forRemoval=true, since="7.7.0") @ConfigurationWarning("Please use getInputFromSessionKey instead.") public void setSessionKey(String sessionKey)
      Deprecated, for removal: This API element is subject to removal in a future version.
      name of the key in the pipelinesession to retrieve the input-message from. if not set, the current input message of the pipe is taken. n.b. same as getinputfromsessionkey
    • setJsonPathExpression

      @Protected public void setJsonPathExpression(String jsonPathExpression)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Hide this method since it should not be able to set this from within this Pipe
      Overrides:
      setJsonPathExpression in class IfPipe