net.sf.jsefa.csv
Class CsvIOFactory

java.lang.Object
  extended by net.sf.jsefa.csv.CsvIOFactory
All Implemented Interfaces:
IOFactory
Direct Known Subclasses:
CsvIOFactoryImpl

public abstract class CsvIOFactory
extends Object
implements IOFactory

Factory for creating CsvSerializers and CsvDeserializers.

This is the abstract base class for concrete factories. Each subclass must provide a static method create(CsvConfiguration config) as well as implement the abstract methods.

This class provides a static factory method createFactory(CsvConfiguration) to create an instance of a concrete CsvIOFactory.

This class also provides static facade methods hiding the details of creating entry points based on annotated object types.

Author:
Norman Lahme-Huetig

Constructor Summary
CsvIOFactory()
           
 
Method Summary
abstract  CsvDeserializer createDeserializer()
          Creates a new Deserializer.
static CsvIOFactory createFactory(Class<?>... objectTypes)
          Creates a new CsvIOFactory for CsvSerializers and CsvDeserializers which can handle objects of the given object types.
static CsvIOFactory createFactory(CsvConfiguration config)
          Creates a new CsvIOFactory for CsvSerializers and CsvDeserializers using the given configuration.
static CsvIOFactory createFactory(CsvConfiguration config, Class<?>... objectTypes)
          Creates a new CsvIOFactory for CsvSerializers and CsvDeserializers which can handle objects of the given object types as well as those object types for which entry points are defined in the config.
abstract  CsvSerializer createSerializer()
          Creates a new Serializer.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CsvIOFactory

public CsvIOFactory()
Method Detail

createFactory

public static CsvIOFactory createFactory(CsvConfiguration config)
Creates a new CsvIOFactory for CsvSerializers and CsvDeserializers using the given configuration.

Note that the configuration should provide a non empty collection of entry points.
You can use the methods createFactory(Class...) or createFactory(CsvConfiguration, Class...) if you want to get the entry points automatically created from annotated classes.

Parameters:
config - the configuration object. It will be copied so that the given one can be modified or reused.
Returns:
an CsvIOFactory factory
Throws:
IOFactoryException

createFactory

public static CsvIOFactory createFactory(Class<?>... objectTypes)
Creates a new CsvIOFactory for CsvSerializers and CsvDeserializers which can handle objects of the given object types.

It creates a new CsvConfiguration with entry points generated from the annotations found in the given object types.

Parameters:
objectTypes - object types for which entry points should be created from annotations
Returns:
a CsvIOFactory factory
Throws:
IOFactoryException

createFactory

public static CsvIOFactory createFactory(CsvConfiguration config,
                                         Class<?>... objectTypes)
Creates a new CsvIOFactory for CsvSerializers and CsvDeserializers which can handle objects of the given object types as well as those object types for which entry points are defined in the config.

Parameters:
config - the configuration object. It will be copied so that the given one can be modified or reused.
objectTypes - object types for which entry points should be created from annotations
Returns:
a a CsvIOFactory factory
Throws:
IOFactoryException

createSerializer

public abstract CsvSerializer createSerializer()
Creates a new Serializer.

Specified by:
createSerializer in interface IOFactory
Returns:
a Serializer

createDeserializer

public abstract CsvDeserializer createDeserializer()
Creates a new Deserializer.

Specified by:
createDeserializer in interface IOFactory
Returns:
a new Deserializer


Copyright © 2014. All rights reserved.