BeanIO 1.2.3

org.beanio.config.xml
Class XmlMappingParser

java.lang.Object
  extended by org.beanio.config.xml.XmlMappingParser

public class XmlMappingParser
extends Object

Parses a mapping file into a BeanIOConfig object. A BeanIOConfig is also produced for each mapping file imported by the mapping file being parsed, and the entire collection is returned from loadConfiguration(InputStream).

This class is not thread safe and a new instance must be created for parsing each input stream.

Since:
1.2.1
Author:
Kevin Seim

Constructor Summary
XmlMappingParser(XmlMappingReader reader)
          Constructs a new XmlMappingParser.
 
Method Summary
protected  void addProperties(BeanConfig beanConfig, Element element)
          Parses bean properties from the given DOM element.
protected  BeanConfig createBeanConfig(Element element)
          Parses a bean configuration from a DOM element.
protected  Bean createBeanFactory(Element element)
          Parses a Bean from a DOM element.
protected  BeanPropertyConfig createBeanPropertyConfig(Element element)
          Parses a bean property configuration from a DOM element.
protected  FieldConfig createFieldConfig(Element element)
          Parses a field configuration from a DOM element.
protected  GroupConfig createGroupConfig(Element element)
          Parses a group configuration from a DOM element.
protected  TypeHandlerConfig createHandlerConfig(Element element)
          Parses a TypeHandlerConfig from a DOM element.
protected  Properties createProperties(Element element)
          Parses Properties from a DOM element.
protected  RecordConfig createRecordConfig(Element record)
          Parses a record configuration from the given DOM element.
protected  StreamConfig createStreamConfig(Element element)
          Parses a StreamConfig from a DOM element.
protected  void createTemplate(Element element)
          Adds a template to the active mapping.
protected  XmlMapping getMapping()
          Returns the mapping file information actively being parsed, which may change when one mapping file imports another.
protected  int getPositionOffset()
          Returns the amount to offset a field position, which is calculated according to included template offset configurations.
protected  XmlMapping importConfiguration(Element element)
          Parses an import DOM element and loads its mapping file.
protected  void includeTemplate(BeanConfig beanConfig, Element element)
          Includes a template.
protected  void includeTemplate(BeanConfig beanConfig, String template, int offset)
          Includes a template.
 Collection<BeanIOConfig> loadConfiguration(InputStream in)
          Reads a mapping file input stream and returns a collection of BeanIO configurations, one for the input stream and one for each imported mapping file (if specified).
protected  void loadMapping(Element element)
          Parses a BeanIO configuration from a DOM element.
protected  void loadMapping(InputStream in)
          Loads a mapping file from an input stream.
protected  void pop()
          Completes the parsing of an imported mapping file.
protected  XmlMapping push(String name, String location)
          Initiates the parsing of an imported mapping file.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XmlMappingParser

public XmlMappingParser(XmlMappingReader reader)
Constructs a new XmlMappingParser.

Parameters:
reader - the XML mapping reader for reading XML mapping files into a DOM object
Method Detail

loadConfiguration

public Collection<BeanIOConfig> loadConfiguration(InputStream in)
                                           throws IOException,
                                                  BeanIOConfigurationException
Reads a mapping file input stream and returns a collection of BeanIO configurations, one for the input stream and one for each imported mapping file (if specified).

Parameters:
in - the input stream to read
Returns:
the collection of parsed BeanIO configuration objects
Throws:
IOException - if an I/O error occurs
BeanIOConfigurationException - if the configuration is invalid

push

protected final XmlMapping push(String name,
                                String location)
Initiates the parsing of an imported mapping file.

After parsing completes, pop() must be invoked before continuing.

Parameters:
name - the name of the imported mapping file
location - the location of the imported mapping file (this should be an absolute URL so that importing the same mapping more than once can be detected)
Returns:
the new Mapping object pushed onto the stack (this can also be accessed by calling getMapping())
See Also:
pop()

pop

protected final void pop()
Completes the parsing of an imported mapping file.

See Also:
push(String, String)

getMapping

protected final XmlMapping getMapping()
Returns the mapping file information actively being parsed, which may change when one mapping file imports another.

Returns:
the active mapping information

getPositionOffset

protected final int getPositionOffset()
Returns the amount to offset a field position, which is calculated according to included template offset configurations.

Returns:
the current field position offset

loadMapping

protected void loadMapping(InputStream in)
                    throws IOException
Loads a mapping file from an input stream.

Parameters:
in - the input stream to read
Throws:
IOException - if an I/O error occurs

loadMapping

protected void loadMapping(Element element)
Parses a BeanIO configuration from a DOM element.

Parameters:
element - the root 'beanio' DOM element to parse

importConfiguration

protected final XmlMapping importConfiguration(Element element)
Parses an import DOM element and loads its mapping file.

Parameters:
element - the import DOM element
Returns:
a new BeanIOConfig for the imported resource or file

createHandlerConfig

protected TypeHandlerConfig createHandlerConfig(Element element)
Parses a TypeHandlerConfig from a DOM element.

Parameters:
element - the DOM element to parse
Returns:
the new TypeHandlerConfig

createTemplate

protected void createTemplate(Element element)
Adds a template to the active mapping.

Parameters:
element - the DOM element that defines the template

createBeanFactory

protected Bean createBeanFactory(Element element)
Parses a Bean from a DOM element.

Parameters:
element - the DOM element to parse
Returns:
the new Bean

createProperties

protected Properties createProperties(Element element)
Parses Properties from a DOM element.

Parameters:
element - the DOM element to parse
Returns:
the new Properties

createStreamConfig

protected StreamConfig createStreamConfig(Element element)
Parses a StreamConfig from a DOM element.

Parameters:
element - the stream DOM element to parse
Returns:
the new StreamConfig

createGroupConfig

protected GroupConfig createGroupConfig(Element element)
Parses a group configuration from a DOM element.

Parameters:
element - the group DOM element to parse
Returns:
the parsed group configuration

createRecordConfig

protected RecordConfig createRecordConfig(Element record)
Parses a record configuration from the given DOM element.

Parameters:
record - the record DOM element to parse
Returns:
the parsed record configuration

addProperties

protected void addProperties(BeanConfig beanConfig,
                             Element element)
Parses bean properties from the given DOM element.

Parameters:
beanConfig - the enclosing bean configuration to add the properties to
element - the bean or record DOM element to parse

includeTemplate

protected void includeTemplate(BeanConfig beanConfig,
                               Element element)
Includes a template.

Parameters:
beanConfig - the parent bean configuration
element - the include DOM element to parse

includeTemplate

protected void includeTemplate(BeanConfig beanConfig,
                               String template,
                               int offset)
Includes a template.

Parameters:
beanConfig - the parent bean configuration
template - the name of the template to include
offset - the value to offset configured positions by

createBeanConfig

protected BeanConfig createBeanConfig(Element element)
Parses a bean configuration from a DOM element.

Parameters:
element - the bean DOM element to parse
Returns:
the parsed bean configuration

createFieldConfig

protected FieldConfig createFieldConfig(Element element)
Parses a field configuration from a DOM element.

Parameters:
element - the field DOM element to parse
Returns:
the parsed field configuration

createBeanPropertyConfig

protected BeanPropertyConfig createBeanPropertyConfig(Element element)
Parses a bean property configuration from a DOM element.

Parameters:
element - the property DOM element to parse
Returns:
the parsed bean property configuration

BeanIO 1.2.3

Copyright © 2010-2012 Kevin Seim