net.sf.jsefa.flr
Class FlrIOFactory

java.lang.Object
  extended by net.sf.jsefa.flr.FlrIOFactory
All Implemented Interfaces:
IOFactory
Direct Known Subclasses:
FlrIOFactoryImpl

public abstract class FlrIOFactory
extends Object
implements IOFactory

Factory for creating FlrSerializers and FlrDeserializers.

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

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

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
FlrIOFactory()
           
 
Method Summary
abstract  FlrDeserializer createDeserializer()
          Creates a new Deserializer.
static FlrIOFactory createFactory(Class<?>... objectTypes)
          Creates a new FlrIOFactory for FlrSerializers and FlrDeserializers which can handle objects of the given object types.
static FlrIOFactory createFactory(FlrConfiguration config)
          Creates a new FlrIOFactory for FlrSerializers and FlrDeserializers using the given configuration.
static FlrIOFactory createFactory(FlrConfiguration config, Class<?>... objectTypes)
          Creates a new FlrIOFactory for FlrSerializers and FlrDeserializers 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  FlrSerializer 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

FlrIOFactory

public FlrIOFactory()
Method Detail

createFactory

public static FlrIOFactory createFactory(FlrConfiguration config)
Creates a new FlrIOFactory for FlrSerializers and FlrDeserializers 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(FlrConfiguration, 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 FlrIOFactory factory
Throws:
IOFactoryException

createFactory

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

It creates a new FlrConfiguration 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 FlrIOFactory factory
Throws:
IOFactoryException

createFactory

public static FlrIOFactory createFactory(FlrConfiguration config,
                                         Class<?>... objectTypes)
Creates a new FlrIOFactory for FlrSerializers and FlrDeserializers 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 FlrIOFactory factory
Throws:
IOFactoryException

createSerializer

public abstract FlrSerializer createSerializer()
Creates a new Serializer.

Specified by:
createSerializer in interface IOFactory
Returns:
a Serializer

createDeserializer

public abstract FlrDeserializer createDeserializer()
Creates a new Deserializer.

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


Copyright © 2014. All rights reserved.