2019-03-22 15:51:44 +01:00
/ * *
*
* /
package org.gcube.resourcemanagement.model.reference.entities.resources ;
import org.gcube.informationsystem.types.annotations.Abstract ;
2019-12-05 12:04:31 +01:00
import org.gcube.informationsystem.types.annotations.ResourceSchema ;
import org.gcube.informationsystem.types.annotations.ResourceSchemaEntry ;
2019-03-22 15:51:44 +01:00
import org.gcube.resourcemanagement.model.impl.entities.resources.ActorImpl ;
2019-12-05 12:04:31 +01:00
import org.gcube.resourcemanagement.model.reference.entities.facets.ContactFacet ;
import org.gcube.resourcemanagement.model.reference.entities.facets.ContactReferenceFacet ;
import org.gcube.resourcemanagement.model.reference.relations.consistsof.HasContact ;
import org.gcube.resourcemanagement.model.reference.relations.consistsof.IsIdentifiedBy ;
2019-03-22 15:51:44 +01:00
import com.fasterxml.jackson.databind.annotation.JsonDeserialize ;
/ * *
* @author Luca Frosini ( ISTI - CNR )
* https : //wiki.gcube-system.org/gcube/Facet_Based_Resource_Model#Actor
* /
@Abstract
@JsonDeserialize ( as = ActorImpl . class )
2020-01-15 17:26:54 +01:00
@ResourceSchema (
facets = {
@ResourceSchemaEntry ( relation = IsIdentifiedBy . class , facet = ContactFacet . class , min = 1 , description = " An Actor has at least a Contact Facet which permit to identify the Actor per se. " ) ,
@ResourceSchemaEntry ( relation = HasContact . class , facet = ContactFacet . class , description = " An Actor can have other Contact Facets which provide secondary contact information. " ) ,
@ResourceSchemaEntry ( facet = ContactReferenceFacet . class )
}
)
2019-12-05 12:04:31 +01:00
public interface Actor extends GCubeResource {
2019-03-22 15:51:44 +01:00
public static final String NAME = " Actor " ; // Actor.class.getSimpleName();
2019-05-09 14:36:18 +02:00
public static final String DESCRIPTION = " Any entity (human or machine) playing an active role. " ;
2019-03-22 15:51:44 +01:00
public static final String VERSION = " 1.0.0 " ;
}