# Package net.shibboleth.shared.component

@NonnullElements package net.shibboleth.shared.component
Set of interfaces used to describe basic features of "components" within a larger system.

Class
Description
AbstractIdentifiableInitializableComponent
An `AbstractIdentifiedInitializableComponent` with a public setter.
AbstractIdentifiedInitializableComponent
Simple implementation of `InitializableComponent` and `IdentifiedComponent`.
AbstractInitializableComponent
Base class for things that implement `DestructableComponent` and `InitializableComponent`.
Component
A marker interface that represents something used as a discrete part of a larger system.
ComponentInitializationException
Exception thrown if there is a problem initializing a component.
ComponentSupport
Deprecated, for removal: This API element is subject to removal in a future version.
DestroyedComponentException
Exception thrown if a component has been destroyed and an attempt was made to use it.
DestructableComponent
A component which can be destroyed and its resources reclaimed.
IdentifiableComponent
A `Component` whose identifier can be set.
IdentifiedComponent
A `Component` which has an identifier.
InitializableComponent
A `Component` which needs to be initialized prior to any "real" use.
UninitializedComponentException
Exception thrown if a component has not been initialized and needs to be in order to perform the operation.
UnmodifiableComponent
A marker interface for components that may be put in to an unmodifiable state and, if a modification is attempted afterwards, throws `UnmodifiableComponentException`.
UnmodifiableComponentException
Exception thrown if a component is in an unmodifiable state and a modification is attempted.