2020-01-16 16:48:08 +01:00
package org.gcube.informationsystem.types.reference.entities ;
import java.util.List ;
2020-07-07 17:04:25 +02:00
import org.gcube.com.fasterxml.jackson.databind.annotation.JsonDeserialize ;
2023-01-24 19:52:18 +01:00
import org.gcube.informationsystem.types.annotations.Final ;
2020-01-17 17:03:33 +01:00
import org.gcube.informationsystem.types.annotations.ISProperty ;
2020-01-30 10:26:43 +01:00
import org.gcube.informationsystem.types.impl.entities.ResourceTypeImpl ;
2020-12-15 17:38:06 +01:00
import org.gcube.informationsystem.types.reference.Change ;
import org.gcube.informationsystem.types.reference.TypeMetadata ;
2020-01-30 10:26:43 +01:00
import org.gcube.informationsystem.types.reference.properties.LinkedEntity ;
2021-10-21 10:11:45 +02:00
import org.gcube.informationsystem.utils.Version ;
2020-01-16 16:48:08 +01:00
2021-01-20 17:03:02 +01:00
/ * *
* @author Luca Frosini ( ISTI - CNR )
* /
2020-01-30 10:26:43 +01:00
@JsonDeserialize ( as = ResourceTypeImpl . class )
2023-04-26 21:39:57 +02:00
@TypeMetadata ( name = ResourceType . NAME , description = " This type provides information for the definition of any ResourceType " , 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-01-24 19:52:18 +01:00
@Final
2020-01-30 10:26:43 +01:00
public interface ResourceType extends EntityType {
2020-01-16 16:48:08 +01:00
2020-01-30 10:26:43 +01:00
public static final String NAME = " ResourceType " ; //ResourceType.class.getSimpleName();
2020-01-16 16:48:08 +01:00
2020-01-17 17:03:33 +01:00
public static final String FACETS_PROPERTY = " facets " ;
public static final String RESOURCES_PROPERTY = " resources " ;
@ISProperty ( name = FACETS_PROPERTY , readonly = false , mandatory = true , nullable = false )
2020-01-30 10:26:43 +01:00
public List < LinkedEntity > getFacets ( ) ;
2020-01-16 16:48:08 +01:00
2020-01-17 17:03:33 +01:00
@ISProperty ( name = RESOURCES_PROPERTY , readonly = false , mandatory = true , nullable = false )
2020-01-30 10:26:43 +01:00
public List < LinkedEntity > getResources ( ) ;
2020-01-17 17:03:33 +01:00
2020-01-16 16:48:08 +01:00
}