information-system-model/src/main/java/org/gcube/informationsystem/model/reference/properties/Encrypted.java

32 lines
1.4 KiB
Java
Raw Permalink Normal View History

package org.gcube.informationsystem.model.reference.properties;
2020-07-07 17:04:25 +02:00
import org.gcube.com.fasterxml.jackson.annotation.JsonGetter;
import org.gcube.com.fasterxml.jackson.annotation.JsonSetter;
import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize;
2023-04-18 17:51:23 +02:00
import org.gcube.informationsystem.model.impl.properties.EncryptedImpl;
import org.gcube.informationsystem.types.annotations.ISProperty;
import org.gcube.informationsystem.types.reference.Change;
import org.gcube.informationsystem.types.reference.TypeMetadata;
2021-10-21 10:11:45 +02:00
import org.gcube.informationsystem.utils.Version;
/**
* @author Luca Frosini (ISTI - CNR)
*/
2023-04-18 17:51:23 +02:00
@JsonDeserialize(as=EncryptedImpl.class)
@TypeMetadata(name = Encrypted.NAME, description = "This type is used to properly manage values must be stored safely (e.g. encrypted) in the IS.", version = Version.MINIMAL_VERSION_STRING)
2021-10-21 10:11:45 +02:00
@Change(version = Version.MINIMAL_VERSION_STRING, description = Version.MINIMAL_VERSION_DESCRIPTION)
2023-04-18 17:51:23 +02:00
public interface Encrypted extends Property {
2023-04-18 17:51:23 +02:00
public static final String NAME = "Encrypted"; // Encrypted.class.getSimpleName();
public static final String VALUE = "value";
@ISProperty(name=VALUE, readonly=false, mandatory=true, nullable=false, description = "The value to store safely in the IS")
@JsonGetter(value=VALUE)
public String getValue();
@JsonSetter(value=VALUE)
public void setValue(String value);
}