Package net.shibboleth.shared.service.reloadable

# Class ReloadableScope

java.lang.Object
net.shibboleth.shared.service.reloadable.ReloadableScope

All Implemented Interfaces:
  `Scope`

public class ReloadableScope extends Object implements Scope
Custom Spring bean `Scope` that directs bean requests into a managed `ApplicationContext`.

Since:
  5.4.0

## Field Summary

Fields
Modifier and Type
Field
Description
`private final org.slf4j.Logger`
`log`
Logger.
`private final ReloadableService<ApplicationContext>`
`reloadableService`
Managed context service wrapper.
`static final String`
`SCOPE_RELOADABLE`
Scope indicating reloadability.

## Constructor Summary

Constructors
Constructor
Description
`ReloadableScope(ReloadableService<ApplicationContext> service)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`Object`
`get(String name, ObjectFactory<?> objectFactory)`
`String`
`getConversationId()`
`void`
`registerDestructionCallback(String name, Runnable callback)`
`Object`
`remove(String name)`
`Object`
`resolveContextualObject(String key)`

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

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

## Field Details

### SCOPE_RELOADABLE

@Nonnull @NotEmpty public static final String SCOPE_RELOADABLE
Scope indicating reloadability.

See Also:
  - Constant Field Values

### log

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

### reloadableService

@Nonnull private final ReloadableService<ApplicationContext> reloadableService
Managed context service wrapper.

## Constructor Details

### ReloadableScope

public ReloadableScope(@Nonnull @ParameterName(name="service") ReloadableService<ApplicationContext> service)
Constructor.

Parameters:
  `service` - instance of Spring context to wrap

## Method Details

### get

@Nonnull public Object get(@Nonnull String name, @Nonnull ObjectFactory<?> objectFactory)

Specified by:
  `get` in interface `Scope`

### remove

public Object remove(@Nonnull String name)

Specified by:
  `remove` in interface `Scope`

### registerDestructionCallback

public void registerDestructionCallback(@Nonnull String name, @Nonnull Runnable callback)

Specified by:
  `registerDestructionCallback` in interface `Scope`

### resolveContextualObject

@Nullable public Object resolveContextualObject(@Nonnull String key)

Specified by:
  `resolveContextualObject` in interface `Scope`

### getConversationId

@Nullable public String getConversationId()

Specified by:
  `getConversationId` in interface `Scope`