Class BindyAbstractFactory

    • Method Detail

      • initModel

        public void initModel()
                       throws Exception
        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.
        Specified by:
        initModel in interface BindyFactory
        Throws:
        Exception
      • initAnnotatedFields

        public abstract void initAnnotatedFields()
                                          throws Exception
        Find fields annotated in each class of the model
        Throws:
        Exception
      • bind

        public abstract 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
        data - List represents the csv, ... data to transform
        model - Map 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
      • unbind

        public abstract 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
        model - Map 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
      • link

        public void link​(Map<String,​Object> model)
        Link objects together
      • factory

        public Map<String,​Object> factory()
                                         throws Exception
        Factory method generating new instances of the model and adding them to a HashMap
        Returns:
        Map is a collection of the objects used to bind data from records, messages
        Throws:
        Exception - can be thrown
      • supportsModel

        public boolean supportsModel​(Set<String> classes)
        Indicates whether this factory can support a row comprised of the identified classes
        Parameters:
        classes - the names of the classes in the row
        Returns:
        true if the model supports the identified classes
      • generateKey

        protected static Integer generateKey​(Integer key1,
                                             Integer key2)
        Generate a unique key
        Parameters:
        key1 - The key of the section number
        key2 - The key of the position of the field
        Returns:
        the key generated
      • getDefaultValueForPrimitive

        public static Object getDefaultValueForPrimitive​(Class<?> clazz)
      • getCarriageReturn

        public String getCarriageReturn()
        Find the carriage return set
      • getEndOfLine

        public String getEndOfLine()
        Find the carriage return set
      • formatString

        public String formatString​(Format<?> format,
                                   Object value)
                            throws Exception
        Format the object into a string according to the format rule defined
        Throws:
        Exception
      • getLocale

        public String getLocale()
      • setLocale

        public void setLocale​(String locale)
      • setFormatFactory

        public void setFormatFactory​(FormatFactory formatFactory)