Package net.shibboleth.idp.saml.metadata.impl

# Class MetadataResolverServiceStrategy

java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
net.shibboleth.shared.component.AbstractIdentifiedInitializableComponent
net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent
net.shibboleth.idp.saml.metadata.impl.MetadataResolverServiceStrategy

All Implemented Interfaces:
  `Function<ApplicationContext,AbstractServiceableComponent<MetadataResolver>>`, `Component`, `DestructableComponent`, `IdentifiableComponent`, `IdentifiedComponent`, `InitializableComponent`, `NonnullFunction<ApplicationContext,AbstractServiceableComponent<MetadataResolver>>`

public class MetadataResolverServiceStrategy extends AbstractIdentifiableInitializableComponent implements NonnullFunction<ApplicationContext,AbstractServiceableComponent<MetadataResolver>>
Strategy for summoning up a `MetadataResolver` from a populated `ApplicationContext`.

This is made somewhat complex by the need to chain multiple, top level Metadata Resolvers, but to not combine non top level resolvers. The parser will create a `MetadataProviderContainer` for each top level resolver. If we encounter but one we are done (it is a `ServiceableComponent` already), otherwise we need to chain all the children together and wrap them into a Serviceable Component.

## Constructor Summary

Constructors
Constructor
Description
`MetadataResolverServiceStrategy()`

## Method Summary

Modifier and Type
Method
Description
`AbstractServiceableComponent<MetadataResolver>`
`apply(ApplicationContext appContext)`

### Methods inherited from class net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent

`setId`

### Methods inherited from class net.shibboleth.shared.component.AbstractIdentifiedInitializableComponent

`doInitialize, ensureId, getId, ifDestroyedThrowDestroyedComponentException, ifInitializedThrowUnmodifiabledComponentException, ifNotInitializedThrowUninitializedComponentException`

### Methods inherited from class net.shibboleth.shared.component.AbstractInitializableComponent

`checkComponentActive, checkSetterPreconditions, destroy, doDestroy, initialize, isDestroyed, isInitialized`

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

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

### Methods inherited from interface java.util.function.Function

`andThen, compose`

### Methods inherited from interface net.shibboleth.shared.component.IdentifiedComponent

`getId`

## Constructor Details

### MetadataResolverServiceStrategy

public MetadataResolverServiceStrategy()

## Method Details

### apply

@Nonnull public AbstractServiceableComponent<MetadataResolver> apply(@Nullable ApplicationContext appContext)

Specified by:
  `apply` in interface `Function<ApplicationContext,AbstractServiceableComponent<MetadataResolver>>`
Specified by:
  `apply` in interface `NonnullFunction<ApplicationContext,AbstractServiceableComponent<MetadataResolver>>`