Class Versioned<T>
java.lang.Object
org.springframework.vault.support.Versioned<T>
Value object representing versioned secrets along
Versioned.Version metadata. A versioned
object can hold various states to represent:
- Initial (not yet versioned) secrets via
create(Object) - Versioned secrets via
create(Object, Version) - Versioned secrets with
Versioned.Metadataattachedcreate(Object, Metadata)
- Creation of an unversioned secret: Secret is not yet persisted.
- Versioned secret: Secret is persisted.
- Superseded versioned secret: A newer secret version is stored.
- Deleted versioned secret: Version was deleted. Can be undeleted.
- Destroyed versioned secret: Version was destroyed.
- Since:
- 2.1
- Author:
- Mark Paluch
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classValue object representing version metadata such as creation/deletion time.static classValue object representing a Vault version. -
Method Summary
Modifier and TypeMethodDescriptionstatic <T> Versioned<T>create(T secret) Create aunversionedgiven secret.static <T> Versioned<T>create(T secret, Versioned.Metadata metadata) Create a versioned secret object givensecretandVersioned.Metadata.static <T> Versioned<T>create(T secret, Versioned.Version version) Create a versioned secret object givensecretandVersioned.Version.booleangetData()Returns the required data for this versioned object.Returns the requiredVersioned.Metadatafor this versioned object.booleanhasData()inthashCode()booleanConvert the data element of this versioned object to anOptional.
-
Method Details
-
create
Create aunversionedgiven secret.- Parameters:
secret- must not be null.- Returns:
- the
Versionedobject forsecret
-
create
Create a versioned secret object givensecretandVersioned.Version. Versioned secret may contain no actual data as they can be in a deleted/destroyed state.- Parameters:
secret- can be null.version- must not be null.- Returns:
- the
Versionedobject forsecretandVersion.
-
create
Create a versioned secret object givensecretandVersioned.Metadata. Versioned secret may contain no actual data as they can be in a deleted/destroyed state.- Parameters:
secret- can be null.metadata- must not be null.- Returns:
- the
Versionedobject forsecretandVersioned.Metadata.
-
getVersion
- Returns:
- the
Versioned.Versionassociated with thisVersionedobject.
-
hasMetadata
public boolean hasMetadata()- Returns:
- true if this versioned object has
Versioned.Metadataassociated, otherwisefalse
-
getMetadata
-
getRequiredMetadata
Returns the requiredVersioned.Metadatafor this versioned object. ThrowsIllegalStateExceptionif no metadata is associated.- Returns:
- the non-null
Versioned.Metadataheld by this for this versioned object. - Throws:
IllegalStateException- if no metadata is present.
-
hasData
public boolean hasData()- Returns:
- true if this versioned object has data associated, or
false, of the version is deleted or destroyed.
-
getData
- Returns:
- the actual data for this versioned object. Can be null if the version is deleted or destroyed.
-
getRequiredData
Returns the required data for this versioned object. ThrowsIllegalStateExceptionif no data is associated.- Returns:
- the non-null value held by this for this versioned object.
- Throws:
IllegalStateException- if no data is present.
-
toOptional
Convert the data element of this versioned object to anOptional.- Returns:
Optionalholding the actual value of this versioned object ifdata is present,Optional.empty()if no data is associated.
-
equals
-
hashCode
public int hashCode()
-