java.lang.Object
org.fuin.ddd4j.ddd.EncryptedData
- All Implemented Interfaces:
Serializable,org.fuin.objects4j.vo.ValueObject
@Immutable
public final class EncryptedData
extends Object
implements org.fuin.objects4j.vo.ValueObject, Serializable
Container for encrypted data. In addition to the data itself, the container has information about the key used to encrypt the data and
the format of the data. The receiving system must have a notion of what the key identifier, versions and data type means. Equals and hash
code is based on all data (value object)
- See Also:
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedDefault constructor for deserialization (JAX-B/JSON-B).EncryptedData(@NotEmpty String keyId, @NotEmpty String keyVersion, @NotEmpty String dataType, @NotEmpty String contentType, @jakarta.validation.constraints.NotEmpty byte[] encryptedData) Constructor with all mandatory data. -
Method Summary
Modifier and TypeMethodDescriptionfinal booleanfinal @NotEmpty StringReturns the content type like "application/json; encoding=UTF-8; version=1".final @NotEmpty StringReturns the unique type of the data like "UserPersonalData".final @jakarta.validation.constraints.NotEmpty byte[]Returns the encrypted data.final @NotEmpty StringgetKeyId()Returns the unique identifier of the private key used.final @NotEmpty StringReturns the version of the private key used.final inthashCode()final StringtoString()
-
Constructor Details
-
EncryptedData
protected EncryptedData()Default constructor for deserialization (JAX-B/JSON-B). -
EncryptedData
public EncryptedData(@NotEmpty @NotEmpty String keyId, @NotEmpty @NotEmpty String keyVersion, @NotEmpty @NotEmpty String dataType, @NotEmpty @NotEmpty String contentType, @NotEmpty @jakarta.validation.constraints.NotEmpty byte[] encryptedData) Constructor with all mandatory data.- Parameters:
keyId- Unique identifier of the private key used.keyVersion- Version of the private key used.dataType- Unique type of the data like "UserPersonalData" or even a fully qualified class name.contentType- Content/Mime type like "application/json; encoding=UTF-8; version=1".encryptedData- Encrypted data.
-
-
Method Details
-
getKeyId
Returns the unique identifier of the private key used.- Returns:
- Private key name.
-
getKeyVersion
Returns the version of the private key used.- Returns:
- Version.
-
getDataType
Returns the unique type of the data like "UserPersonalData".- Returns:
- Unique type name.
-
getContentType
Returns the content type like "application/json; encoding=UTF-8; version=1".- Returns:
- Mime type.
-
getEncryptedData
@NotEmpty public final @jakarta.validation.constraints.NotEmpty byte[] getEncryptedData()Returns the encrypted data.- Returns:
- Data.
-
hashCode
public final int hashCode() -
equals
-
toString
-