Package org.opensaml.core.xml.io
Class UnmarshallerFactory
- java.lang.Object
-
- org.opensaml.core.xml.io.UnmarshallerFactory
-
public class UnmarshallerFactory extends Object
This thread-safe factory createsUnmarshallers that can be used to convert W3C DOM elements intoXMLObjects. Unmarshallers are stored and retrieved by aQNamekey. This key is either the XML Schema Type or element QName of the XML element being unmarshalled.
-
-
Field Summary
Fields Modifier and Type Field Description private org.slf4j.LoggerlogClass logger.private Map<QName,Unmarshaller>unmarshallersMap of unmarshallers to the elements they are for.
-
Constructor Summary
Constructors Constructor Description UnmarshallerFactory()Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description UnmarshallerderegisterUnmarshaller(QName key)Deregisters the unmarshaller for the given element.UnmarshallergetUnmarshaller(QName key)Gets the Unmarshaller for a particular element or null if no unmarshaller is registered for an element.UnmarshallergetUnmarshaller(Element domElement)Retrieves the unmarshaller for the given element.Map<QName,Unmarshaller>getUnmarshallers()Gets an immutable listing of all the Unarshallers currently registered.voidregisterUnmarshaller(QName key, Unmarshaller unmarshaller)Registers an Unmarshaller with this factory.
-
-
-
Field Detail
-
log
private final org.slf4j.Logger log
Class logger.
-
unmarshallers
private final Map<QName,Unmarshaller> unmarshallers
Map of unmarshallers to the elements they are for.
-
-
Method Detail
-
getUnmarshaller
@Nullable public Unmarshaller getUnmarshaller(@Nullable 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
@Nullable public Unmarshaller getUnmarshaller(@Nullable 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
@Nonnull 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(@Nonnull QName key, @Nonnull 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 underunmarshaller- the Unmarshaller
-
deregisterUnmarshaller
@Nullable public Unmarshaller deregisterUnmarshaller(@Nonnull 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
-
-