Class BindyKeyValuePairFactory

java.lang.Object
org.apache.camel.dataformat.bindy.BindyAbstractFactory
org.apache.camel.dataformat.bindy.BindyKeyValuePairFactory
All Implemented Interfaces:
BindyFactory

public class BindyKeyValuePairFactory extends BindyAbstractFactory implements BindyFactory
The BindyKeyValuePairFactory is the class who allows to bind data of type key value pair. Such format exist in financial messages FIX. This class allows to generate a model associated to message, bind data from a message to the POJOs, export data of POJOs to a message and format data into String, Date, Double, ... according to the format/pattern defined
  • Constructor Details

  • Method Details

    • initKeyValuePairModel

      public void initKeyValuePairModel()
      method uses to initialize the model representing the classes who will bind the data This process will scan for classes according to the package name provided, check the annotated classes and fields. Next, we retrieve the parameters required like : Pair Separator & key value pair separator
      Throws:
      Exception
    • initAnnotatedFields

      public void initAnnotatedFields()
      Description copied from class: BindyAbstractFactory
      Find fields annotated in each class of the model
      Specified by:
      initAnnotatedFields in class BindyAbstractFactory
    • bind

      public void bind(org.apache.camel.CamelContext camelContext, List<String> data, Map<String,Object> model, int line) throws Exception
      Description copied from interface: BindyFactory
      The bind allow to read the content of a record (expressed as a List) and map it to the model classes.
      Specified by:
      bind in interface BindyFactory
      Specified by:
      bind in class BindyAbstractFactory
      data - List represents the csv, ... data to transform
      model - Map<String, object> is a collection of objects used to bind data. String is the key name of the class link to POJO objects
      line - is the position of the record into the file
      Throws:
      Exception - can be thrown
    • bind

      public void bind(List<String> data, Map<String,Object> model, int line, Map<String,List<Object>> lists) throws Exception
      Throws:
      Exception
    • unbind

      public String unbind(org.apache.camel.CamelContext camelContext, Map<String,Object> model) throws Exception
      Description copied from interface: BindyFactory
      The unbind is used to transform the content of the classes model objects into a string. The string represents a record of a CSV file
      Specified by:
      unbind in interface BindyFactory
      Specified by:
      unbind in class BindyAbstractFactory
      model - Map<String, Object> is a collection of objects used to create csv, ... records. String is the key name of the class link to POJO objects
      Returns:
      String represents a csv record created
      Throws:
      Exception - can be thrown
    • getPairSeparator

      public String getPairSeparator()
      Find the pair separator used to delimit the key value pair fields
    • getKeyValuePairSeparator

      public String getKeyValuePairSeparator()
      Find the key value pair separator used to link the key with its value
    • isMessageOrdered

      public boolean isMessageOrdered()
      Flag indicating if the message must be ordered
      Returns:
      boolean