public abstract class ProviderStore
extends java.lang.Object
EncryptionMaterialsProviders
backed by some form of persistent storage.| Constructor and Description |
|---|
ProviderStore() |
| Modifier and Type | Method and Description |
|---|---|
abstract long |
getMaxVersion(java.lang.String materialName)
Returns the maximum version number associated with
materialName. |
EncryptionMaterialsProvider |
getOrCreate(java.lang.String materialName,
long nextId)
Returns the provider with the specified name and version and creates it if it doesn't exist.
|
EncryptionMaterialsProvider |
getProvider(java.lang.String materialName)
Returns the most recent provider with the specified name.
|
abstract EncryptionMaterialsProvider |
getProvider(java.lang.String materialName,
long version)
Returns the provider with the specified name and version.
|
abstract long |
getVersionFromMaterialDescription(java.util.Map<java.lang.String,java.lang.String> description)
Extracts the material version from
description. |
EncryptionMaterialsProvider |
newProvider(java.lang.String materialName)
Creates a new provider with a version one greater than the current max version.
|
public EncryptionMaterialsProvider getProvider(java.lang.String materialName)
public abstract EncryptionMaterialsProvider getProvider(java.lang.String materialName, long version)
java.lang.IndexOutOfBoundsException - if version is not a valid versionpublic EncryptionMaterialsProvider newProvider(java.lang.String materialName)
public EncryptionMaterialsProvider getOrCreate(java.lang.String materialName, long nextId)
java.lang.UnsupportedOperationException - if a new provider cannot be createdpublic abstract long getMaxVersion(java.lang.String materialName)
materialName. If there are no
versions, returns -1.public abstract long getVersionFromMaterialDescription(java.util.Map<java.lang.String,java.lang.String> description)
description.