Package org.italiangrid.voms.store.impl

# Class DefaultUpdatingVOMSTrustStore

java.lang.Object
org.italiangrid.voms.store.impl.DefaultVOMSTrustStore
org.italiangrid.voms.store.impl.DefaultUpdatingVOMSTrustStore

All Implemented Interfaces:
  `Updateable`, `UpdatingVOMSTrustStore`, `VOMSTrustStore`

public class DefaultUpdatingVOMSTrustStore extends DefaultVOMSTrustStore implements UpdatingVOMSTrustStore
A VOMS trust store that periodically updates itself. The update frequency is set once at VOMS trust store creation time.

Author:
  Andrea Ceccanti

## Field Summary

Fields
Modifier and Type
Field
Description
`static final long`
`DEFAULT_UPDATE_FREQUENCY`
Default trust store update frequency (10 minutes).

### Fields inherited from class org.italiangrid.voms.store.impl.DefaultVOMSTrustStore

`CERTIFICATE_FILENAME_SUFFIX, DEFAULT_VOMS_DIR, listenerLock, LSC_FILENAME_SUFFIX, read, rwLock, write`

## Constructor Summary

Constructors
Constructor
Description
`DefaultUpdatingVOMSTrustStore()`
Builds a trust store.
`DefaultUpdatingVOMSTrustStore(long updateFrequency)`
Builds a trust store configured as defined in the parameters.
`DefaultUpdatingVOMSTrustStore(List<String> localTrustDirs)`
Builds a trust store configured as defined in the parameters.
`DefaultUpdatingVOMSTrustStore(List<String> localTrustDirs, long updateFrequency)`
Builds a trust store configured as defined in the parameters.
`DefaultUpdatingVOMSTrustStore(List<String> localTrustDirs, long updateFrequency, VOMSTrustStoreStatusListener listener)`
Builds a trust store configured as defined in the parameters.

## Method Summary

Modifier and Type
Method
Description
`void`
`cancel()`
Cancel the background tasks which updates this store.
`long`
`getUpdateFrequency()`
Returns the update frequency, in milliseconds, for this store.
`protected void`
`scheduleUpdate()`
`void`
`update()`
Updates the information in this store
`protected void`
`updateFrequencySanityChecks(long updateFrequency)`

### Methods inherited from class org.italiangrid.voms.store.impl.DefaultVOMSTrustStore

`buildDefaultTrustedDirs, getAACertificateBySubject, getAllLSCInfo, getLocalAACertificates, getLocalTrustedDirectories, getLSC, loadTrustInformation, setStatusListener`

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

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

### Methods inherited from interface org.italiangrid.voms.store.VOMSTrustStore

`getAACertificateBySubject, getAllLSCInfo, getLocalAACertificates, getLocalTrustedDirectories, getLSC, loadTrustInformation, setStatusListener`

## Field Details

### DEFAULT_UPDATE_FREQUENCY

public static final long DEFAULT_UPDATE_FREQUENCY
Default trust store update frequency (10 minutes).

## Constructor Details

### DefaultUpdatingVOMSTrustStore

public DefaultUpdatingVOMSTrustStore(List<String> localTrustDirs, long updateFrequency, VOMSTrustStoreStatusListener listener)
Builds a trust store configured as defined in the parameters.

Parameters:
  `localTrustDirs` - where VOMS trust information will be looked for
  `updateFrequency` - the update frequency in milliseconds
  `listener` - a listener that is notified of interesting events related to this store

### DefaultUpdatingVOMSTrustStore

public DefaultUpdatingVOMSTrustStore(long updateFrequency)
Builds a trust store configured as defined in the parameters.

Parameters:
  `updateFrequency` - the update frequency in milliseconds

### DefaultUpdatingVOMSTrustStore

public DefaultUpdatingVOMSTrustStore(List<String> localTrustDirs, long updateFrequency)
Builds a trust store configured as defined in the parameters.

Parameters:
  `localTrustDirs` - where VOMS trust information will be looked for
  `updateFrequency` - the update frequency in milliseconds

### DefaultUpdatingVOMSTrustStore

public DefaultUpdatingVOMSTrustStore(List<String> localTrustDirs)
Builds a trust store configured as defined in the parameters.

Parameters:
  `localTrustDirs` - where VOMS trust information will be looked for

### DefaultUpdatingVOMSTrustStore

public DefaultUpdatingVOMSTrustStore()
Builds a trust store. VOMS information will be searched in the default VOMS dir location (`DefaultVOMSTrustStore.DEFAULT_VOMS_DIR`). This store will be refreshed according to the value of `DEFAULT_UPDATE_FREQUENCY`.

## Method Details

### updateFrequencySanityChecks

protected void updateFrequencySanityChecks(long updateFrequency)

### scheduleUpdate

protected void scheduleUpdate()

### getUpdateFrequency

public long getUpdateFrequency()
Returns the update frequency, in milliseconds, for this store.

Specified by:
  `getUpdateFrequency` in interface `Updateable`
Returns:
  the frequency (in milliseconds) currently set for this `Updateable` object.

### update

public void update()
Updates the information in this store

Specified by:
  `update` in interface `Updateable`

### cancel

public void cancel()
Cancel the background tasks which updates this store.

Specified by:
  `cancel` in interface `Updateable`