Package net.shibboleth.shared.service.security.impl

# Class DelegatingAccessControlService

java.lang.Object
net.shibboleth.shared.component.AbstractInitializableComponent
net.shibboleth.shared.component.AbstractIdentifiedInitializableComponent
net.shibboleth.shared.component.AbstractIdentifiableInitializableComponent
net.shibboleth.shared.service.security.impl.DelegatingAccessControlService

All Implemented Interfaces:
  `Component`, `DestructableComponent`, `IdentifiableComponent`, `IdentifiedComponent`, `InitializableComponent`, `UnmodifiableComponent`, `AccessControlService`

public class DelegatingAccessControlService extends AbstractIdentifiableInitializableComponent implements AccessControlService
This class uses the `ReloadableService` concept to implement `AccessControlService` to hide the details of pinning and unpinning the underlying service.

## Field Summary

Fields
Modifier and Type
Field
Description
`private final org.slf4j.Logger`
`log`
Class logger.
`private final ReloadableService<AccessControlService>`
`service`
The service which manages the reloading.

## Constructor Summary

Constructors
Constructor
Description
`DelegatingAccessControlService(ReloadableService<AccessControlService> acService)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`AccessControl`
`getInstance(String name)`
Get an `AccessControl` instance matching a given name.

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

`setId`

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

`doInitialize, ensureId, getId, ifDestroyedThrowDestroyedComponentException, ifInitializedThrowUnmodifiabledComponentException, ifNotInitializedThrowUninitializedComponentException`

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

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

`initialize, isInitialized`

## Field Details

### log

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

### service

@Nonnull private final ReloadableService<AccessControlService> service
The service which manages the reloading.

## Constructor Details

### DelegatingAccessControlService

public DelegatingAccessControlService(@Nonnull @ParameterName(name="acService") ReloadableService<AccessControlService> acService)
Constructor.

Parameters:
  `acService` - the service which will manage the loading.

## Method Details

### getInstance

@Nonnull public AccessControl getInstance(@Nonnull String name)
Get an `AccessControl` instance matching a given name.

In the absence of a matching instance, a default policy that denies access is returned.

Specified by:
  `getInstance` in interface `AccessControlService`
Parameters:
  `name` - policy name
Returns:
  the matching instance, or a default