Class ContractAdvice

java.lang.Object
org.apache.camel.processor.ContractAdvice
All Implemented Interfaces:
org.apache.camel.spi.CamelInternalProcessorAdvice<Object>

public class ContractAdvice extends Object implements org.apache.camel.spi.CamelInternalProcessorAdvice<Object>
A CamelInternalProcessorAdvice which applies Transformer and Validator according to the data type Contract.

The default camel Message implements DataTypeAware which holds a DataType to indicate current message type. If the input type declared by

invalid reference
org.apache.camel.model.InputTypeDefinition
is different from current IN message type, camel internal processor look for a Transformer which transforms from the current message type to the expected message type before routing. After routing, if the output type declared by
invalid reference
org.apache.camel.model.OutputTypeDefinition
is different from current OUT message (or IN message if no OUT), camel look for a Transformer and apply.
See Also:
  • Transformer
  • Validator
  • invalid reference
    org.apache.camel.model.InputTypeDefinition
  • invalid reference
    org.apache.camel.model.OutputTypeDefinition
  • Constructor Details

    • ContractAdvice

      public ContractAdvice(org.apache.camel.spi.Contract contract)
  • Method Details

    • before

      public Object before(org.apache.camel.Exchange exchange) throws Exception
      Specified by:
      before in interface org.apache.camel.spi.CamelInternalProcessorAdvice<Object>
      Throws:
      Exception
    • after

      public void after(org.apache.camel.Exchange exchange, Object data) throws Exception
      Specified by:
      after in interface org.apache.camel.spi.CamelInternalProcessorAdvice<Object>
      Throws:
      Exception
    • hasState

      public boolean hasState()
      Specified by:
      hasState in interface org.apache.camel.spi.CamelInternalProcessorAdvice<Object>