org.jibx.extras
Class TypedArrayMapper

java.lang.Object
  extended by org.jibx.extras.TypedArrayMapper
All Implemented Interfaces:
IAliasable, IMarshaller, IUnmarshaller

public class TypedArrayMapper
extends Object
implements IMarshaller, IUnmarshaller, IAliasable

Custom marshaller/unmarshaller for reference arrays of a particular type. This handles mapping arrays typed as object-type[], where the object-type is any class name (not a primitive type). All items in the array must be of a mapped type. If a name is specified by the mapping definition that name is used as a wrapper around the elements representing the items in the array; otherwise, the elements are just handled inline.

Author:
Dennis M. Sosnoski

Constructor Summary
TypedArrayMapper(String type)
          Class only constructor.
TypedArrayMapper(String uri, int index, String name, String type)
          Aliased constructor.
 
Method Summary
 boolean isExtension(String mapname)
           
 boolean isPresent(IUnmarshallingContext ctx)
           
 void marshal(Object obj, IMarshallingContext ictx)
           
 Object unmarshal(Object obj, IUnmarshallingContext ictx)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TypedArrayMapper

public TypedArrayMapper(String uri,
                        int index,
                        String name,
                        String type)
Aliased constructor. This takes a name definition for the top-level wrapper element. It'll be used by JiBX when a name is supplied by the mapping which references this custom marshaller/unmarshaller.

Parameters:
uri - namespace URI for the top-level element
index - namespace index corresponding to the defined URI within the marshalling context definitions
name - local name for the top-level element
type - class name for type of items in array

TypedArrayMapper

public TypedArrayMapper(String type)
Class only constructor. This just sets up for an XML representation with no element wrapping the actual item structures. It'll be used by JiBX when no name information is supplied by the mapping which references this custom marshaller/unmarshaller.

Parameters:
type - class name for type of items in array
Method Detail

isExtension

public boolean isExtension(String mapname)
Specified by:
isExtension in interface IMarshaller

marshal

public void marshal(Object obj,
                    IMarshallingContext ictx)
             throws JiBXException
Specified by:
marshal in interface IMarshaller
Throws:
JiBXException

isPresent

public boolean isPresent(IUnmarshallingContext ctx)
                  throws JiBXException
Specified by:
isPresent in interface IUnmarshaller
Throws:
JiBXException

unmarshal

public Object unmarshal(Object obj,
                        IUnmarshallingContext ictx)
                 throws JiBXException
Specified by:
unmarshal in interface IUnmarshaller
Throws:
JiBXException


Copyright © 2005-2011 jibx.org. All Rights Reserved.