2020-01-30 10:26:43 +01:00
package org.gcube.informationsystem.types.reference.entities ;
2020-02-03 10:51:29 +01:00
import java.util.Set ;
2020-07-07 17:04:25 +02:00
import org.gcube.com.fasterxml.jackson.annotation.JsonIgnoreProperties ;
import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize ;
2021-02-11 17:24:22 +01:00
import org.gcube.informationsystem.base.reference.AccessType ;
2020-02-03 10:51:29 +01:00
import org.gcube.informationsystem.types.annotations.ISProperty ;
2020-01-30 10:26:43 +01:00
import org.gcube.informationsystem.types.impl.entities.FacetTypeImpl ;
2020-12-15 17:38:06 +01:00
import org.gcube.informationsystem.types.reference.Change ;
2020-02-03 10:57:41 +01:00
import org.gcube.informationsystem.types.reference.Type ;
2020-12-15 17:38:06 +01:00
import org.gcube.informationsystem.types.reference.TypeMetadata ;
2020-02-03 10:51:29 +01:00
import org.gcube.informationsystem.types.reference.properties.PropertyDefinition ;
2020-12-15 17:38:06 +01:00
import org.gcube.informationsystem.utils.TypeVersion ;
2020-01-30 10:26:43 +01:00
2021-01-20 17:03:02 +01:00
/ * *
* @author Luca Frosini ( ISTI - CNR )
* /
2020-01-30 10:26:43 +01:00
@JsonIgnoreProperties ( ignoreUnknown = true )
@JsonDeserialize ( as = FacetTypeImpl . class )
2020-12-15 17:38:06 +01:00
@TypeMetadata ( name = FacetType . NAME , description = " This class provides information for the definition of any FacetType " , version = TypeVersion . MINIMAL_VERSION_STRING )
@Change ( version = TypeVersion . MINIMAL_VERSION_STRING , description = TypeVersion . MINIMAL_VERSION_DESCRIPTION )
2020-02-03 10:51:29 +01:00
public interface FacetType extends EntityType {
public static final String NAME = " FacetType " ; //FacetType.class.getSimpleName();
2020-01-30 10:26:43 +01:00
2020-02-03 10:57:41 +01:00
@ISProperty ( name = Type . PROPERTIES_PROPERTY , readonly = false , mandatory = true , nullable = false )
2020-02-03 10:51:29 +01:00
public Set < PropertyDefinition > getProperties ( ) ;
2021-02-11 17:24:22 +01:00
@Override
public default AccessType getAccessType ( ) {
return AccessType . FACET ;
}
2020-01-30 10:26:43 +01:00
}