Package org.opensaml.saml.metadata.resolver.impl

# Class ResourceBackedMetadataResolver

java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
net.shibboleth.shared.component.AbstractIdentifiedInitializableComponent
net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent
org.opensaml.saml.metadata.resolver.impl.AbstractMetadataResolver
org.opensaml.saml.metadata.resolver.impl.AbstractBatchMetadataResolver
org.opensaml.saml.metadata.resolver.impl.AbstractReloadingMetadataResolver
org.opensaml.saml.metadata.resolver.impl.ResourceBackedMetadataResolver

All Implemented Interfaces:
  `Iterable<EntityDescriptor>`, `Component`, `DestructableComponent`, `IdentifiableComponent`, `IdentifiedComponent`, `InitializableComponent`, `Resolver<EntityDescriptor,CriteriaSet>`, `IterableMetadataSource`, `BatchMetadataResolver`, `MetadataResolver`, `RefreshableMetadataResolver`

public class ResourceBackedMetadataResolver extends AbstractReloadingMetadataResolver
A metadata provider that reads metadata from a {#link `Resource`.

Since:
  2.2

## Nested Class Summary

## Nested classes/interfaces inherited from class org.opensaml.saml.metadata.resolver.impl.AbstractBatchMetadataResolver

`AbstractBatchMetadataResolver.BatchEntityBackingStore`

## Nested classes/interfaces inherited from class org.opensaml.saml.metadata.resolver.impl.AbstractMetadataResolver

`AbstractMetadataResolver.EntityBackingStore`

## Field Summary

Fields
Modifier and Type
Field
Description
`private final org.slf4j.Logger`
`log`
Class logger.
`private Resource`
`metadataResource`
Resource from which metadata is read.

### Fields inherited from class org.opensaml.saml.metadata.resolver.impl.AbstractReloadingMetadataResolver

`METRIC_TIMER_REFRESH`

## Constructor Summary

Constructors
Constructor
Description
`ResourceBackedMetadataResolver(Timer timer, Resource resource)`
Constructor.
`ResourceBackedMetadataResolver(Resource resource)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`protected void`
`doDestroy()`
`protected byte[]`
`fetchMetadata()`
Fetches metadata from a source.
`protected String`
`getMetadataIdentifier()`
Gets an identifier which may be used to distinguish this metadata in logging statements.

### Methods inherited from class org.opensaml.saml.metadata.resolver.impl.AbstractReloadingMetadataResolver

`computeNextRefreshDelay, getExpirationTime, getExpirationWarningThreshold, getLastFailureCause, getLastRefresh, getLastSuccessfulRefresh, getLastUpdate, getMaxRefreshDelay, getMinRefreshDelay, getNextRefresh, getRefreshDelayFactor, initMetadataResolver, inputstreamToByteArray, postProcessMetadata, processCachedMetadata, processNewMetadata, processNonExpiredMetadata, processPreExpiredMetadata, refresh, setCacheSourceMetadata, setExpirationWarningThreshold, setMaxRefreshDelay, setMinRefreshDelay, setRefreshDelayFactor, unmarshallMetadata, wasLastRefreshSuccess`

### Methods inherited from class org.opensaml.saml.metadata.resolver.impl.AbstractBatchMetadataResolver

`createNewBackingStore, doResolve, ensureBackingStore, getCachedFilteredMetadata, getCachedOriginalMetadata, getIndexes, getRootValidUntil, indexEntityDescriptor, isCacheSourceMetadata, isResolveViaPredicatesOnly, isRootValid, iterator, lookupByIndexes, preProcessNewMetadata, setIndexes, setResolveViaPredicatesOnly`

### Methods inherited from class org.opensaml.saml.metadata.resolver.impl.AbstractMetadataResolver

`doInitialize, filterMetadata, getActivationCondition, getBackingStore, getCriterionPredicateRegistry, getLogPrefix, getMetadataFilter, getMetricsBaseName, getParserPool, getType, getUnmarshallerFactory, isFailFastInitialization, isRequireValidMetadata, isSatisfyAnyPredicates, isUseDefaultPredicateRegistry, isValid, lookupEntityID, lookupIndexedEntityID, newFilterContext, predicateFilterCandidates, preProcessEntitiesDescriptor, preProcessEntityDescriptor, releaseMetadataDOM, removeByEntityID, resolve, resolveSingle, setActivationCondition, setBackingStore, setCriterionPredicateRegistry, setFailFastInitialization, setMetadataFilter, setMetricsBaseName, setParserPool, setRequireValidMetadata, setSatisfyAnyPredicates, setType, setUseDefaultPredicateRegistry, unmarshallMetadata`

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

`setId`

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

`ensureId, getId, ifDestroyedThrowDestroyedComponentException, ifInitializedThrowUnmodifiabledComponentException, ifNotInitializedThrowUninitializedComponentException`

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

`checkComponentActive, checkSetterPreconditions, destroy, 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 net.shibboleth.shared.component.IdentifiedComponent

`getId`

### Methods inherited from interface java.lang.Iterable

`forEach, spliterator`

### Methods inherited from interface org.opensaml.saml.metadata.resolver.MetadataResolver

`getMetadataFilter, getType, isRequireValidMetadata, setMetadataFilter, setRequireValidMetadata`

### Methods inherited from interface net.shibboleth.shared.resolver.Resolver

`resolve, resolveSingle`

## Field Details

### log

@Nonnull private final org.slf4j.Logger log
Class logger.

### metadataResource

@NonnullAfterInit private Resource metadataResource
Resource from which metadata is read.

## Constructor Details

### ResourceBackedMetadataResolver

public ResourceBackedMetadataResolver(@ParameterName(name="timer") @Nullable Timer timer, @ParameterName(name="resource") @Nonnull Resource resource) throws IOException
Constructor.

Parameters:
  `resource` - resource from which to read the metadata file.
  `timer` - task timer used to schedule metadata refresh tasks
Throws:
  `IOException` - thrown if there is a problem retrieving information about the resource

### ResourceBackedMetadataResolver

public ResourceBackedMetadataResolver(@ParameterName(name="resource") @Nonnull Resource resource) throws IOException
Constructor.

Parameters:
  `resource` - resource from which to read the metadata file.
Throws:
  `IOException` - thrown if there is a problem retrieving information about the resource

## Method Details

### doDestroy

protected void doDestroy()

Overrides:
  `doDestroy` in class `AbstractReloadingMetadataResolver`

### getMetadataIdentifier

@Nonnull protected String getMetadataIdentifier()
Gets an identifier which may be used to distinguish this metadata in logging statements.

Specified by:
  `getMetadataIdentifier` in class `AbstractReloadingMetadataResolver`
Returns:
  identifier which may be used to distinguish this metadata in logging statements

### fetchMetadata

@Nullable protected byte[] fetchMetadata() throws ResolverException
Fetches metadata from a source.

Specified by:
  `fetchMetadata` in class `AbstractReloadingMetadataResolver`
Returns:
  the fetched metadata, or null if the metadata is known not to have changed since the last retrieval
Throws:
  `ResolverException` - thrown if there is a problem fetching the metadata