java.lang.Object
org.fuin.ddd4j.jaxb.EncryptedDataJaxb
- All Implemented Interfaces:
Serializable,org.fuin.ddd4j.core.EncryptedData,org.fuin.objects4j.common.ValueObject
@Immutable
public final class EncryptedDataJaxb
extends Object
implements org.fuin.ddd4j.core.EncryptedData
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).EncryptedDataJaxb(@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
-
EncryptedDataJaxb
protected EncryptedDataJaxb()Default constructor for deserialization (JAX-B/JSON-B). -
EncryptedDataJaxb
public EncryptedDataJaxb(@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.- Specified by:
getKeyIdin interfaceorg.fuin.ddd4j.core.EncryptedData- Returns:
- Private key name.
-
getKeyVersion
Returns the version of the private key used.- Specified by:
getKeyVersionin interfaceorg.fuin.ddd4j.core.EncryptedData- Returns:
- Version.
-
getDataType
Returns the unique type of the data like "UserPersonalData".- Specified by:
getDataTypein interfaceorg.fuin.ddd4j.core.EncryptedData- Returns:
- Unique type name.
-
getContentType
Returns the content type like "application/json; encoding=UTF-8; version=1".- Specified by:
getContentTypein interfaceorg.fuin.ddd4j.core.EncryptedData- Returns:
- Mime type.
-
getEncryptedData
@NotEmpty public final @jakarta.validation.constraints.NotEmpty byte[] getEncryptedData()Returns the encrypted data.- Specified by:
getEncryptedDatain interfaceorg.fuin.ddd4j.core.EncryptedData- Returns:
- Data.
-
hashCode
public final int hashCode() -
equals
-
toString
-