Package net.shibboleth.shared.spring.service.impl

# Class SpringServiceableComponent<T>

java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
net.shibboleth.shared.component.AbstractIdentifiedInitializableComponent
net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent
net.shibboleth.shared.spring.service.AbstractServiceableComponent<T>
net.shibboleth.shared.spring.service.impl.SpringServiceableComponent<T>

Type Parameters:
  `T` - component type

All Implemented Interfaces:
  `AutoCloseable`, `Component`, `DestructableComponent`, `IdentifiableComponent`, `IdentifiedComponent`, `InitializableComponent`, `ServiceableComponent<T>`, `Aware`, `ApplicationContextAware`

public class SpringServiceableComponent<T> extends AbstractServiceableComponent<T>
A container @{link `ServiceableComponent` which is (usually) created during spring service creation as part of service (re)load.

## Field Summary

Fields
Modifier and Type
Field
Description
`private final T`
`theComponent`
The component we are encapsulating.

## Constructor Summary

Constructors
Constructor
Description
`SpringServiceableComponent(T what)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`T`
`getComponent()`
Extract the component that does the actual work.

### Methods inherited from class net.shibboleth.shared.spring.service.AbstractServiceableComponent

`close, doDestroy, doInitialize, getApplicationContext, pinComponent, setApplicationContext, unloadComponent, unpinComponent`

### 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`

## Field Details

### theComponent

@Nonnull private final T theComponent
The component we are encapsulating.

## Constructor Details

### SpringServiceableComponent

public SpringServiceableComponent(@Nonnull T what)
Constructor.

Parameters:
  `what` - the object we are wrapping.

## Method Details

### getComponent

@Nonnull public T getComponent()
Extract the component that does the actual work. Callers MUST have the ServiceableComponent pinned at this stage.

Specified by:
  `getComponent` in interface `ServiceableComponent<T>`
Specified by:
  `getComponent` in class `AbstractServiceableComponent<T>`
Returns:
  the component.