# Uses of Interface
net.shibboleth.shared.component.DestructableComponent

Packages that use DestructableComponent
Package
Description
net.shibboleth.shared.component
Set of interfaces used to describe basic features of "components" within a larger system.
net.shibboleth.shared.httpclient
Classes for working with Apache HttpClient.
net.shibboleth.shared.net
Shared networking APIs and classes.
net.shibboleth.shared.scripting
Classes for working with JSR-223 scripting environments.
net.shibboleth.shared.security
Helpers for common security related tasks.
net.shibboleth.shared.security.impl
Implementations of security interfaces.
net.shibboleth.shared.service
Shared service APIs.
net.shibboleth.shared.service.impl
Implementations of shared service interfaces.
net.shibboleth.shared.service.security.impl
Security-related service implementation classes.
net.shibboleth.shared.servlet.impl
Java Servlet specification implementation classes.
net.shibboleth.shared.spring.config
Classes supporting Spring configuration activities.
net.shibboleth.shared.spring.httpclient.resource
Spring resource classes supporting HttpClient access.
net.shibboleth.shared.spring.resource
Shibboleth integration with Spring `Resource`.Helper functions, concrete implementations and a bridging class.
net.shibboleth.shared.spring.service
Spring specific implementations of `ServiceableComponent` and `ReloadableService`.
net.shibboleth.shared.spring.service.impl
Spring specific implementation of `AbstractServiceableComponent`.
net.shibboleth.shared.testing
Classes supporting testing of other classes.
net.shibboleth.shared.xml.impl
XML implementation classes.

## Uses of DestructableComponent in net.shibboleth.shared.component

Classes in net.shibboleth.shared.component that implement DestructableComponent
Modifier and Type
Class
Description
`class`
`AbstractIdentifiableInitializableComponent`
An `AbstractIdentifiedInitializableComponent` with a public setter.
`class`
`AbstractIdentifiedInitializableComponent`
Simple implementation of `InitializableComponent` and `IdentifiedComponent`.
`class`
`AbstractInitializableComponent`
Base class for things that implement `DestructableComponent` and `InitializableComponent`.
Methods in net.shibboleth.shared.component with parameters of type DestructableComponent
Modifier and Type
Method
Description
`static void`
ComponentSupport.`ifDestroyedThrowDestroyedComponentException(DestructableComponent component)`
Deprecated, for removal: This API element is subject to removal in a future version.
Checks if a component is destroyed and, if so, throws a `DestroyedComponentException`.

## Uses of DestructableComponent in net.shibboleth.shared.httpclient

Classes in net.shibboleth.shared.httpclient that implement DestructableComponent
Modifier and Type
Class
Description
`private static class`
`FileCachingHttpClientBuilder.StorageManagingHttpClient`
Class which wraps a caching instance of `HttpClient` and its associated `ManagedHttpCacheStorage`, and manages the scheduled maintenance and lifecycle of the latter.

## Uses of DestructableComponent in net.shibboleth.shared.net

Classes in net.shibboleth.shared.net that implement DestructableComponent
Modifier and Type
Class
Description
`class`
`CookieManager`
A helper class for managing one or more cookies on behalf of a component.

## Uses of DestructableComponent in net.shibboleth.shared.scripting

Classes in net.shibboleth.shared.scripting that implement DestructableComponent
Modifier and Type
Class
Description
`final class`
`EvaluableScript`
This is a helper class that takes care of reading in, optionally compiling, and evaluating a script.
`class`
`ScriptedRunnable`
A Runnable which executes a script.

## Uses of DestructableComponent in net.shibboleth.shared.security

Classes in net.shibboleth.shared.security that implement DestructableComponent
Modifier and Type
Class
Description
`class`
`DataSealer`
Applies a MAC to time-limited information and encrypts with a symmetric key.
`class`
`EncryptedCookieManager`
Wrapper for managing a cookie encrypted with the `DataSealer` component.

## Uses of DestructableComponent in net.shibboleth.shared.security.impl

Classes in net.shibboleth.shared.security.impl that implement DestructableComponent
Modifier and Type
Class
Description
`class`
`BasicAccessControlService`
Simple implementation that uses an in-memory map of policies.
`class`
`BasicKeystoreKeyStrategy`
Implements a strategy for access to versioned symmetric keys using a keystore, and a standalone file for tracking the latest key version, to compensate for the lack of extensible attribute support in the pre-Java 8 KeyStore API.
`class`
`IPRangeAccessControl`
Simple access control implementation based on IP address checking.
`class`
`ScriptedKeyStrategy`
Implements a strategy for access to versioned symmetric keys using scripts.

## Uses of DestructableComponent in net.shibboleth.shared.service

Classes in net.shibboleth.shared.service that implement DestructableComponent
Modifier and Type
Class
Description
`class`
`AbstractReloadableService<T>`
Base class for `ReloadableService`.
`class`
`ReloadableServiceGaugeSet<T>`
A set of gauges for a reloadable service.

## Uses of DestructableComponent in net.shibboleth.shared.service.impl

Classes in net.shibboleth.shared.service.impl that implement DestructableComponent
Modifier and Type
Class
Description
`class`
`LogbackLoggingService`
Simple `LoggingService` that watches for logback configuration file changes and reloads the file when a change occurs.

## Uses of DestructableComponent in net.shibboleth.shared.service.security.impl

Classes in net.shibboleth.shared.service.security.impl that implement DestructableComponent
Modifier and Type
Class
Description
`class`
`DelegatingAccessControlService`
This class uses the `ReloadableService` concept to implement `AccessControlService` to hide the details of pinning and unpinning the underlying service.
`class`
`ReloadingAccessControlService`
This class wraps an `AccessControlService` in a `ServiceableComponent`.
`class`
`ServiceableAccessControlService`
This class wraps an `AccessControlService` in a `ServiceableComponent`.

## Uses of DestructableComponent in net.shibboleth.shared.servlet.impl

Classes in net.shibboleth.shared.servlet.impl that implement DestructableComponent
Modifier and Type
Class
Description
`class`
`BasicHttpServletRequestContentTypeValidator`
Component that validates the HTTP content type as one of an allowed set.
`class`
`BasicHttpServletRequestMethodValidator`
Component that validates the HTTP request method as one of an allowed set.
`class`
`BasicHttpServletRequestParametersValidator`
Component that validates HTTP request parameters for required presence, uniqueness and mutual exclusivity.
`class`
`ChainingHttpServletRequestValidator`
Implementation for a chain of `HttpServletRequestValidator`.

## Uses of DestructableComponent in net.shibboleth.shared.spring.config

Classes in net.shibboleth.shared.spring.config that implement DestructableComponent
Modifier and Type
Class
Description
`class`
`IdentifiedComponentManager<T extends IdentifiedComponent>`
Class used for auto-wiring free-standing identified objects along with explicitly declared bean collections.

## Uses of DestructableComponent in net.shibboleth.shared.spring.httpclient.resource

Classes in net.shibboleth.shared.spring.httpclient.resource that implement DestructableComponent
Modifier and Type
Class
Description
`class`
`FileBackedHTTPResource`
A resource representing a file read from an HTTP(S) location.
`class`
`HTTPResource`
Resource for looking up HTTP URLs.

## Uses of DestructableComponent in net.shibboleth.shared.spring.resource

Classes in net.shibboleth.shared.spring.resource that implement DestructableComponent
Modifier and Type
Class
Description
`class`
`ConditionalResource`
A wrapper that guards a `Resource` that may be absent by returning an empty bean file instead.

## Uses of DestructableComponent in net.shibboleth.shared.spring.service

Classes in net.shibboleth.shared.spring.service that implement DestructableComponent
Modifier and Type
Class
Description
`class`
`AbstractServiceableComponent<T>`
Implementation of `ServiceableComponent` that does most of the work required.
`class`
`ApplicationContextServiceableComponent`
Wraps a Spring `ApplicationContext` so it can itself be exposed as a serviceable component.
`class`
`ReloadableSpringService<T>`
This class provides a reloading interface to a `ServiceableComponent` via Spring.

## Uses of DestructableComponent in net.shibboleth.shared.spring.service.impl

Classes in net.shibboleth.shared.spring.service.impl that implement DestructableComponent
Modifier and Type
Class
Description
`class`
`SpringServiceableComponent<T>`
A container @{link `ServiceableComponent` which is (usually) created during spring service creation as part of service (re)load.

## Uses of DestructableComponent in net.shibboleth.shared.testing

Classes in net.shibboleth.shared.testing that implement DestructableComponent
Modifier and Type
Class
Description
`class`
`MockReloadableService<T>`
Utility class for wrapping a serviceable component in a dummy reloadable service.

## Uses of DestructableComponent in net.shibboleth.shared.xml.impl

Classes in net.shibboleth.shared.xml.impl that implement DestructableComponent
Modifier and Type
Class
Description
`class`
`BasicParserPool`
A pool of JAXP 1.3 `DocumentBuilder`s.