Package org.opensaml.core.xml.io
Class UnmarshallerFactory
java.lang.Object
org.opensaml.core.xml.io.UnmarshallerFactory
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
FieldsModifier and TypeFieldDescriptionprivate final org.slf4j.LoggerClass logger.private final Map<QName,Unmarshaller> Map of unmarshallers to the elements they are for. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionDeregisters the unmarshaller for the given element.ensureUnmarshaller(QName key) CallgetUnmarshaller(QName)and raise an exception if no unmarshaller is registered.ensureUnmarshaller(Element domElement) CallgetUnmarshaller(Element)and raise an exception if no unmarshaller is registered.getUnmarshaller(QName key) Gets the Unmarshaller for a particular element or null if no unmarshaller is registered for an element.getUnmarshaller(Element domElement) Retrieves the unmarshaller for the given element.Gets an immutable listing of all the Unarshallers currently registered.voidregisterUnmarshaller(QName key, Unmarshaller unmarshaller) Registers an Unmarshaller with this factory.
-
Field Details
-
log
@Nonnull private final org.slf4j.Logger logClass logger. -
unmarshallers
Map of unmarshallers to the elements they are for.
-
-
Constructor Details
-
UnmarshallerFactory
public UnmarshallerFactory()Constructor.
-
-
Method Details
-
getUnmarshaller
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
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
-
ensureUnmarshaller
CallgetUnmarshaller(QName)and raise an exception if no unmarshaller is registered.- Parameters:
key- type of unmarshaller to fetch- Returns:
- the registered unmarshaller
- Throws:
XMLRuntimeException- if no unmarshaller is registered- Since:
- 5.0.0
-
ensureUnmarshaller
CallgetUnmarshaller(Element)and raise an exception if no unmarshaller is registered.- Parameters:
domElement- element to find unmarshaller for- Returns:
- the registered unmarshaller
- Throws:
XMLRuntimeException- if no unmarshaller is registered- Since:
- 5.0.0
-
getUnmarshallers
Gets an immutable listing of all the Unarshallers currently registered.- Returns:
- a listing of all the Unmarshallers currently registered
-
registerUnmarshaller
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
Deregisters the unmarshaller for the given element.- Parameters:
key- the key the unmarshaller was registered under- Returns:
- the Unmarshaller previously registered or null
-