org.opensaml.xml.io
Class UnmarshallerFactory

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

public class UnmarshallerFactory
extends Object

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


Field Summary
private  Logger log
          Class logger.
private  Map<QName,Unmarshaller> unmarshallers
          Map of unmarshallers to the elements they are for.
 
Constructor Summary
UnmarshallerFactory()
          Constructor.
 
Method Summary
 Unmarshaller deregisterUnmarshaller(QName key)
          Deregisters the unmarshaller for the given element.
 Unmarshaller getUnmarshaller(Element domElement)
          Retrieves the unmarshaller for the given element.
 Unmarshaller getUnmarshaller(QName key)
          Gets the Unmarshaller for a particular element or null if no unmarshaller is registered for an element.
 Map<QName,Unmarshaller> getUnmarshallers()
          Gets an immutable listing of all the Unarshallers currently registered.
 void registerUnmarshaller(QName key, Unmarshaller unmarshaller)
          Registers an Unmarshaller with this factory.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

private final Logger log
Class logger.


unmarshallers

private Map<QName,Unmarshaller> unmarshallers
Map of unmarshallers to the elements they are for.

Constructor Detail

UnmarshallerFactory

public UnmarshallerFactory()
Constructor.

Method Detail

getUnmarshaller

public Unmarshaller getUnmarshaller(QName key)
Gets the Unmarshaller for a particular element or null if no unmarshaller is registered for an element.

Parameters:
key - the key the unmarshaller was registered under
Returns:
the Unmarshaller

getUnmarshaller

public Unmarshaller getUnmarshaller(Element domElement)
Retrieves the unmarshaller for the given element. 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 unmarshaller registered under it.

Parameters:
domElement - the element to retrieve the unmarshaller for
Returns:
the unmarshaller for the XMLObject the given element can be unmarshalled into

getUnmarshallers

public Map<QName,Unmarshaller> getUnmarshallers()
Gets an immutable listing of all the Unarshallers currently registered.

Returns:
a listing of all the Unmarshallers currently registered

registerUnmarshaller

public void registerUnmarshaller(QName key,
                                 Unmarshaller unmarshaller)
Registers an Unmarshaller with this factory. If an Unmarshaller exist for the Qname given it is replaced with the given unmarshaller.

Parameters:
key - the key the unmarshaller was registered under
unmarshaller - the Unmarshaller

deregisterUnmarshaller

public Unmarshaller deregisterUnmarshaller(QName key)
Deregisters the unmarshaller for the given element.

Parameters:
key - the key the unmarshaller was registered under
Returns:
the Unmarshaller previously registered or null


Copyright © 1999-2013. All Rights Reserved.