Package org.opensaml.core.xml.io
Class MarshallerFactory
java.lang.Object
org.opensaml.core.xml.io.MarshallerFactory
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.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final org.slf4j.LoggerClass logger.private final Map<QName,Marshaller> Map of marshallers to the elements they are for. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionDeregisters the marshaller for the given element.ensureMarshaller(QName key) CallgetMarshaller(QName)and raise an exception if no marshaller is registered.ensureMarshaller(XMLObject xmlObject) CallgetMarshaller(XMLObject)and raise an exception if no marshaller is registered.getMarshaller(QName key) Gets the Marshaller for a particular element or null if no marshaller is registered for an element.getMarshaller(XMLObject xmlObject) Retrieves the marshaller for the given XMLObject.Gets an immutable listing of all the Marshallers currently registered.voidregisterMarshaller(QName key, Marshaller marshaller) Registers a Marshaller with this factory.
-
Field Details
-
log
@Nonnull private final org.slf4j.Logger logClass logger. -
marshallers
Map of marshallers to the elements they are for.
-
-
Constructor Details
-
MarshallerFactory
public MarshallerFactory()Constructor.
-
-
Method Details
-
getMarshaller
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
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
-
ensureMarshaller
CallgetMarshaller(QName)and raise an exception if no marshaller is registered.- Parameters:
key- type of marshaller to fetch- Returns:
- the registered marshaller
- Throws:
XMLRuntimeException- if no marshaller is registered- Since:
- 5.0.0
-
ensureMarshaller
CallgetMarshaller(XMLObject)and raise an exception if no marshaller is registered.- Parameters:
xmlObject- type of marshaller to fetch- Returns:
- the registered marshaller
- Throws:
XMLRuntimeException- if no marshaller is registered- Since:
- 5.0.0
-
getMarshallers
Gets an immutable listing of all the Marshallers currently registered.- Returns:
- a listing of all the Marshallers currently registered
-
registerMarshaller
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 undermarshaller- the Marshaller
-
deregisterMarshaller
Deregisters the marshaller for the given element.- Parameters:
key- the key the marshaller was registered under- Returns:
- the Marshaller previously registered or null
-