2019-03-22 15:18:23 +01:00
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 ;
2019-03-22 15:18:23 +01:00
import org.gcube.informationsystem.types.annotations.ISProperty ;
2020-12-15 11:28:34 +01:00
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 ;
2019-03-22 15:18:23 +01:00
/ * *
* @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 {
2019-03-22 15:18:23 +01:00
2023-04-18 17:51:23 +02:00
public static final String NAME = " Encrypted " ; // Encrypted.class.getSimpleName();
2023-01-20 11:22:52 +01:00
2019-03-22 15:18:23 +01:00
public static final String VALUE = " value " ;
2023-02-27 15:07:41 +01:00
@ISProperty ( name = VALUE , readonly = false , mandatory = true , nullable = false , description = " The value to store safely in the IS " )
2019-03-22 15:18:23 +01:00
@JsonGetter ( value = VALUE )
2023-02-27 15:07:41 +01:00
public String getValue ( ) ;
2019-03-22 15:18:23 +01:00
@JsonSetter ( value = VALUE )
2023-02-27 15:07:41 +01:00
public void setValue ( String value ) ;
2019-03-22 15:18:23 +01:00
}