net.sf.jsefa.xml
Class XmlIOFactory

java.lang.Object
  extended by net.sf.jsefa.xml.XmlIOFactory
All Implemented Interfaces:
IOFactory
Direct Known Subclasses:
XmlIOFactoryImpl

public abstract class XmlIOFactory
extends Object
implements IOFactory

Factory for creating XmlSerializers and XmlDeserializers.

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

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

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
XmlIOFactory()
           
 
Method Summary
abstract  XmlDeserializer createDeserializer()
          Creates a new Deserializer.
static XmlIOFactory createFactory(Class<?>... objectTypes)
          Creates a new XmlIOFactory for XmlSerializers and XmlDeserializers which can handle objects of the given object types.
static XmlIOFactory createFactory(XmlConfiguration config)
          Creates a new XmlIOFactory for XmlSerializers and XmlDeserializers using the given configuration.
static XmlIOFactory createFactory(XmlConfiguration config, Class<?>... objectTypes)
          Creates a new XmlIOFactory for XmlSerializers and XmlDeserializers 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  XmlSerializer 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

XmlIOFactory

public XmlIOFactory()
Method Detail

createFactory

public static XmlIOFactory createFactory(XmlConfiguration config)
Creates a new XmlIOFactory for XmlSerializers and XmlDeserializers 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(XmlConfiguration, 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 XmlIOFactory factory
Throws:
IOFactoryException

createFactory

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

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

createFactory

public static XmlIOFactory createFactory(XmlConfiguration config,
                                         Class<?>... objectTypes)
Creates a new XmlIOFactory for XmlSerializers and XmlDeserializers 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 XmlIOFactory factory
Throws:
IOFactoryException

createSerializer

public abstract XmlSerializer createSerializer()
Creates a new Serializer.

Specified by:
createSerializer in interface IOFactory
Returns:
a Serializer

createDeserializer

public abstract XmlDeserializer createDeserializer()
Creates a new Deserializer.

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


Copyright © 2014. All rights reserved.