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
-
-
Field Summary
-
Fields inherited from class org.apache.camel.dataformat.bindy.BindyAbstractFactory
annotatedLinkFields, crlf, eol, formatFactory, modelClassNames, models
-
-
Constructor Summary
Constructors Constructor Description BindyKeyValuePairFactory(Class<?> type)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
bind(List<String> data, Map<String,Object> model, int line, Map<String,List<Object>> lists)
void
bind(org.apache.camel.CamelContext camelContext, List<String> data, Map<String,Object> model, int line)
The bind allow to read the content of a record (expressed as a List) and map it to the model classes. String
getKeyValuePairSeparator()
Find the key value pair separator used to link the key with its valueString
getPairSeparator()
Find the pair separator used to delimit the key value pair fieldsvoid
initAnnotatedFields()
Find fields annotated in each class of the modelvoid
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.boolean
isMessageOrdered()
Flag indicating if the message must be orderedString
unbind(org.apache.camel.CamelContext camelContext, Map<String,Object> model)
The unbind is used to transform the content of the classes model objects into a string.-
Methods inherited from class org.apache.camel.dataformat.bindy.BindyAbstractFactory
factory, formatString, generateKey, getCarriageReturn, getDefaultValueForPrimitive, getEndOfLine, getLocale, initModel, link, setFormatFactory, setLocale, supportsModel
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.camel.dataformat.bindy.BindyFactory
initModel
-
-
-
-
Method Detail
-
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 classBindyAbstractFactory
-
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 interfaceBindyFactory
- Specified by:
bind
in classBindyAbstractFactory
data
- Listrepresents the csv, ... data to transform model
- Mapis 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 interfaceBindyFactory
- Specified by:
unbind
in classBindyAbstractFactory
model
- Mapis 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
-
-