Package org.opensaml.core.xml.config
Class XMLObjectProviderRegistry
- java.lang.Object
-
- org.opensaml.core.xml.config.XMLObjectProviderRegistry
-
public class XMLObjectProviderRegistry extends Object
Configuration registry component for registering and retrieving implementation instances and related configuration relevant to working with XMLObjects, including builders, marshallers and unmarshallers.The registry instance to use would typically be retrieved from the
ConfigurationService.
-
-
Field Summary
Fields Modifier and Type Field Description private XMLObjectBuilderFactorybuilderFactoryConfigured XMLObject builder factory.private Map<QName,Element>configuredObjectProvidersObject provider configuration elements indexed by QName.private static QNamedefaultProviderDefault object provider.private Set<QName>idAttributeNamesConfigured set of attribute QNames which have been globally registered as having an ID type.private org.slf4j.LoggerlogLogger.private MarshallerFactorymarshallerFactoryConfigured XMLObject marshaller factory.private ParserPoolparserPoolConfigured parser pool.private UnmarshallerFactoryunmarshallerFactoryConfigured XMLObject unmarshaller factory.
-
Constructor Summary
Constructors Constructor Description XMLObjectProviderRegistry()Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidderegisterIDAttribute(QName attributeName)Deregister an attribute as having a type of ID.voidderegisterObjectProvider(QName key)Removes the builder, marshaller, and unmarshaller registered to the given key.XMLObjectBuilderFactorygetBuilderFactory()Gets the XMLObject builder factory that has been configured with information from loaded configuration files.QNamegetDefaultProviderQName()Gets the QName for the object provider that will be used for XMLObjects that do not have a registered object provider.MarshallerFactorygetMarshallerFactory()Gets the XMLObject marshaller factory that has been configured with information from loaded configuration files.ParserPoolgetParserPool()Get the currently configured ParserPool instance.UnmarshallerFactorygetUnmarshallerFactory()Gets the XMLObject unmarshaller factory that has been configured with information from loaded configuration files.booleanisIDAttribute(QName attributeName)Determine whether a given attribute is registered as having an ID type.voidregisterIDAttribute(QName attributeName)Register an attribute as having a type of ID.voidregisterObjectProvider(QName providerName, XMLObjectBuilder<?> builder, Marshaller marshaller, Unmarshaller unmarshaller)Adds an object provider to this configuration.voidsetParserPool(ParserPool newParserPool)Set the currently configured ParserPool instance.
-
-
-
Field Detail
-
defaultProvider
private static QName defaultProvider
Default object provider.
-
log
private org.slf4j.Logger log
Logger.
-
configuredObjectProviders
@Nonnull private final Map<QName,Element> configuredObjectProviders
Object provider configuration elements indexed by QName.
-
builderFactory
private XMLObjectBuilderFactory builderFactory
Configured XMLObject builder factory.
-
marshallerFactory
private MarshallerFactory marshallerFactory
Configured XMLObject marshaller factory.
-
unmarshallerFactory
private UnmarshallerFactory unmarshallerFactory
Configured XMLObject unmarshaller factory.
-
idAttributeNames
@Nonnull private final Set<QName> idAttributeNames
Configured set of attribute QNames which have been globally registered as having an ID type.
-
parserPool
private ParserPool parserPool
Configured parser pool.
-
-
Method Detail
-
getParserPool
public ParserPool getParserPool()
Get the currently configured ParserPool instance.- Returns:
- the currently ParserPool
-
setParserPool
public void setParserPool(@Nullable ParserPool newParserPool)Set the currently configured ParserPool instance.- Parameters:
newParserPool- the new ParserPool instance to configure
-
getDefaultProviderQName
public QName getDefaultProviderQName()
Gets the QName for the object provider that will be used for XMLObjects that do not have a registered object provider.- Returns:
- the QName for the default object provider
-
registerObjectProvider
public void registerObjectProvider(@Nonnull QName providerName, @Nonnull XMLObjectBuilder<?> builder, @Nonnull Marshaller marshaller, @Nonnull Unmarshaller unmarshaller)Adds an object provider to this configuration.- Parameters:
providerName- the name of the object provider, corresponding to the element name or type name that the builder, marshaller, and unmarshaller operate onbuilder- the builder for that given providermarshaller- the marshaller for the providerunmarshaller- the unmarshaller for the provider
-
deregisterObjectProvider
public void deregisterObjectProvider(@Nonnull QName key)Removes the builder, marshaller, and unmarshaller registered to the given key.- Parameters:
key- the key of the builder, marshaller, and unmarshaller to be removed
-
getBuilderFactory
public XMLObjectBuilderFactory getBuilderFactory()
Gets the XMLObject builder factory that has been configured with information from loaded configuration files.- Returns:
- the XMLObject builder factory
-
getMarshallerFactory
public MarshallerFactory getMarshallerFactory()
Gets the XMLObject marshaller factory that has been configured with information from loaded configuration files.- Returns:
- the XMLObject marshaller factory
-
getUnmarshallerFactory
public UnmarshallerFactory getUnmarshallerFactory()
Gets the XMLObject unmarshaller factory that has been configured with information from loaded configuration files.- Returns:
- the XMLObject unmarshaller factory
-
registerIDAttribute
public void registerIDAttribute(QName attributeName)
Register an attribute as having a type of ID.- Parameters:
attributeName- the QName of the ID attribute to be registered
-
deregisterIDAttribute
public void deregisterIDAttribute(QName attributeName)
Deregister an attribute as having a type of ID.- Parameters:
attributeName- the QName of the ID attribute to be de-registered
-
isIDAttribute
public boolean isIDAttribute(QName attributeName)
Determine whether a given attribute is registered as having an ID type.- Parameters:
attributeName- the QName of the attribute to be checked for ID type.- Returns:
- true if attribute is registered as having an ID type.
-
-