Package org.opensaml.core.xml.config

# Class XMLObjectProviderRegistrySupport

java.lang.Object
org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport

public final class XMLObjectProviderRegistrySupport extends Object
Class for loading library configuration files and retrieving the configured components.

## Constructor Summary

Constructors
Modifier
Constructor
Description
`private`
`XMLObjectProviderRegistrySupport()`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`static void`
`deregisterIDAttribute(QName attributeName)`
Deregister an attribute as having a type of ID.
`static void`
`deregisterObjectProvider(QName key)`
Removes the builder, marshaller, and unmarshaller registered to the given key.
`static XMLObjectBuilderFactory`
`getBuilderFactory()`
Gets the XMLObject builder factory that has been configured with information from loaded configuration files.
`static QName`
`getDefaultProviderQName()`
Gets the QName for the object provider that will be used for XMLObjects that do not have a registered object provider.
`static MarshallerFactory`
`getMarshallerFactory()`
Gets the XMLObject marshaller factory that has been configured with information from loaded configuration files.
`static ParserPool`
`getParserPool()`
Get the currently configured ParserPool instance.
`static UnmarshallerFactory`
`getUnmarshallerFactory()`
Gets the XMLObject unmarshaller factory that has been configured with information from loaded configuration files.
`static boolean`
`isIDAttribute(QName attributeName)`
Determine whether a given attribute is registered as having an ID type.
`static void`
`registerIDAttribute(QName attributeName)`
Register an attribute as having a type of ID.
`static void`
`registerObjectProvider(QName providerName, XMLObjectBuilder<?> builder, Marshaller marshaller, Unmarshaller unmarshaller)`
Adds an object provider to this configuration.
`static void`
`setParserPool(ParserPool newParserPool)`
Set the currently configured ParserPool instance.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### XMLObjectProviderRegistrySupport

private XMLObjectProviderRegistrySupport()
Constructor.

## Method Details

### getParserPool

@Nullable public static ParserPool getParserPool()
Get the currently configured ParserPool instance.

Returns:
  the currently ParserPool

### setParserPool

public static void setParserPool(@Nullable ParserPool newParserPool)
Set the currently configured ParserPool instance.

Parameters:
  `newParserPool` - the new ParserPool instance to configure

### getDefaultProviderQName

@Nonnull public static 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 static 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 on
  `builder` - the builder for that given provider
  `marshaller` - the marshaller for the provider
  `unmarshaller` - the unmarshaller for the provider

### deregisterObjectProvider

public static 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

@Nonnull public static XMLObjectBuilderFactory getBuilderFactory()
Gets the XMLObject builder factory that has been configured with information from loaded configuration files.

Returns:
  the XMLObject builder factory

### getMarshallerFactory

@Nonnull public static MarshallerFactory getMarshallerFactory()
Gets the XMLObject marshaller factory that has been configured with information from loaded configuration files.

Returns:
  the XMLObject marshaller factory

### getUnmarshallerFactory

@Nonnull public static UnmarshallerFactory getUnmarshallerFactory()
Gets the XMLObject unmarshaller factory that has been configured with information from loaded configuration files.

Returns:
  the XMLObject unmarshaller factory

### registerIDAttribute

public static void registerIDAttribute(@Nonnull QName attributeName)
Register an attribute as having a type of ID.

Parameters:
  `attributeName` - the QName of the ID attribute to be registered

### deregisterIDAttribute

public static void deregisterIDAttribute(@Nonnull 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 static boolean isIDAttribute(@Nonnull 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.