Class BindyFixedLengthFactory

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

public class BindyFixedLengthFactory extends BindyAbstractFactory implements BindyFactory
The BindyFixedLengthFactory is the class who allows to : Generate a model associated to a fixed length record, bind data from a record to the POJOs, export data of POJOs to a fixed length record and format data into String, Date, Double, ... according to the format/pattern defined
  • Constructor Details

  • Method Details

    • initFixedLengthModel

      public void initFixedLengthModel()
      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
    • 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(org.apache.camel.CamelContext camelContext, String recordStr, Map<String,Object> model, int line) 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
    • header

      public Class<?> header()
      Gets the type of the header record.
      Returns:
      The type of the header record if any, otherwise void.class.
    • hasHeader

      public boolean hasHeader()
      Flag indicating if we have a header
    • footer

      public Class<?> footer()
      Gets the type of the footer record.
      Returns:
      The type of the footer record if any, otherwise void.class.
    • hasFooter

      public boolean hasFooter()
      Flag indicating if we have a footer
    • skipHeader

      public boolean skipHeader()
      Flag indicating whether to skip the header parsing
    • skipFooter

      public boolean skipFooter()
      Flag indicating whether to skip the footer processing
    • isHeader

      public boolean isHeader()
      Flag indicating whether this factory is for a header
    • isFooter

      public boolean isFooter()
      Flag indicating whether this factory is for a footer
    • paddingchar

      public char paddingchar()
      Padding char used to fill the field
    • recordLength

      public int recordLength()
      Expected fixed length of the record
    • isIgnoreTrailingChars

      public boolean isIgnoreTrailingChars()
      Flag indicating whether trailing characters beyond the last declared field may be ignored
    • isIgnoreMissingChars

      public boolean isIgnoreMissingChars()
      Flag indicating whether too short lines are ignored
    • isCountGrapheme

      public boolean isCountGrapheme()
      Flag indicating whether graphemes or codepoints are counted.