org.opensaml.xml.io
Class MarshallerFactory

java.lang.Object
  extended by org.opensaml.xml.io.MarshallerFactory

public class MarshallerFactory
extends Object

This thread-safe factory creates Marshallers that can be used to convert XMLObjects into W3C DOM elements. Marshallers are stored and retrieved by a QName key. This key is either the XML Schema Type or element QName of the XML element the XMLObject is marshalled into.


Constructor Summary
MarshallerFactory()
          Constructor.
 
Method Summary
 Marshaller deregisterMarshaller(QName key)
          Deregisters the marshaller for the given element.
 Marshaller getMarshaller(QName key)
          Gets the Marshaller for a particular element or null if no marshaller is registered for an element.
 Marshaller getMarshaller(XMLObject xmlObject)
          Retrieves the marshaller for the given XMLObject.
 Map<QName,Marshaller> getMarshallers()
          Gets an immutable listing of all the Marshallers currently registered.
 void registerMarshaller(QName key, Marshaller marshaller)
          Registers a Marshaller with this factory.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MarshallerFactory

public MarshallerFactory()
Constructor.

Method Detail

getMarshaller

public Marshaller getMarshaller(QName key)
Gets the Marshaller for a particular element or null if no marshaller is registered for an element.

Parameters:
key - the key the marshaller was registered under
Returns:
the Marshaller or null

getMarshaller

public Marshaller getMarshaller(XMLObject xmlObject)
Retrieves the marshaller for the given XMLObject. The schema type, if present, is tried first as the key with the element QName used if no schema type is present or does not have a marshaller registered under it.

Parameters:
xmlObject - the XMLObject to retrieve the marshaller for
Returns:
the marshaller that can be used for the given XMLObject

getMarshallers

public Map<QName,Marshaller> getMarshallers()
Gets an immutable listing of all the Marshallers currently registered.

Returns:
a listing of all the Marshallers currently registered

registerMarshaller

public void registerMarshaller(QName key,
                               Marshaller marshaller)
Registers a Marshaller with this factory. If a Marshaller exist for the element name given it is replaced with the given marshaller.

Parameters:
key - the key the marshaller was registered under
marshaller - the Marshaller

deregisterMarshaller

public Marshaller deregisterMarshaller(QName key)
Deregisters the marshaller for the given element.

Parameters:
key - the key the marshaller was registered under
Returns:
the Marshaller previously registered or null


Copyright © 2006-2011 Internet2. All Rights Reserved.