Interface DiscoveryFacet
-
- All Superinterfaces:
org.gcube.informationsystem.base.reference.Element,org.gcube.informationsystem.model.reference.entities.Entity,org.gcube.informationsystem.base.reference.entities.EntityElement,org.gcube.informationsystem.model.reference.ERElement,org.gcube.informationsystem.model.reference.entities.Facet,org.gcube.informationsystem.base.reference.IdentifiableElement,org.gcube.informationsystem.model.reference.ModelElement,org.gcube.informationsystem.base.reference.SchemaMixedElement,Serializable
- All Known Implementing Classes:
DiscoveryFacetImpl
@TypeMetadata(name="DiscoveryFacet", description="This facet defines a group of resources to be discovered and potentially selected for inclusion in a context. It enables dynamic resource discovery through queries and supports selection constraints.", version="1.0.0") @Change(version="1.0.0", description="First Version") public interface DiscoveryFacet extends org.gcube.informationsystem.model.reference.entities.Facet- Author:
- Luca Frosini (ISTI - CNR)
-
-
Field Summary
Fields Modifier and Type Field Description static StringDESCRIPTION_PROPERTYThe name of 'description' propertystatic StringGROUP_PROPERTYThe name of 'group' propertystatic StringMAX_PROPERTYThe name of 'max' propertystatic StringMIN_PROPERTYThe name of 'min' propertystatic StringNAMEThe name associated with this facetstatic StringQUERIES_PROPERTYThe name of 'queries' propertystatic StringQUERY_TEMPLATES_PROPERTYThe name of 'queryTemplates' property-
Fields inherited from interface org.gcube.informationsystem.base.reference.Element
DATETIME_PATTERN, TYPE_PROPERTY
-
Fields inherited from interface org.gcube.informationsystem.model.reference.ERElement
CONTEXTS_PROPERTY
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddQuery(org.gcube.com.fasterxml.jackson.databind.node.ObjectNode query)Adds a JSON query object used to discover resources.voidaddQueryTemplates(org.gcube.informationsystem.queries.templates.reference.properties.QueryTemplateReference queryTemplates)Adds a query template reference with parameters.static DiscoveryFacetgetDefaultInstance()Returns a default instance of DiscoveryFacetStringgetDescription()Human-readable description displayed to users explaining what type of resources will be discovered in this groupStringgetGroup()The name identifier of the resource group to discover.IntegergetMax()Maximum number of resources that can be selected from this group.intgetMin()Minimum number of resources that must be selected from this group.org.gcube.com.fasterxml.jackson.databind.node.ArrayNodegetQueries()Array of JSON query objects used to discover resources.List<org.gcube.informationsystem.queries.templates.reference.properties.QueryTemplateReference>getQueryTemplates()Array of query template references with parameters.voidsetDescription(String description)Sets a human-readable description displayed to users explaining what type of resources will be discovered in this groupvoidsetGroup(String group)Sets the name identifier of the resource group to discover.voidsetMax(Integer max)Sets the maximum number of resources that can be selected from this group.voidsetMin(int min)Sets the minimum number of resources that must be selected from this group.voidsetQueries(org.gcube.com.fasterxml.jackson.databind.node.ArrayNode queries)Sets the array of JSON query objects used to discover resources.voidsetQueryTemplates(List<org.gcube.informationsystem.queries.templates.reference.properties.QueryTemplateReference> queryTemplates)Sets the array of query template references with parameters.-
Methods inherited from interface org.gcube.informationsystem.base.reference.entities.EntityElement
getID, getMetadata, setID, setMetadata
-
-
-
-
Field Detail
-
NAME
static final String NAME
The name associated with this facet- See Also:
- Constant Field Values
-
GROUP_PROPERTY
static final String GROUP_PROPERTY
The name of 'group' property- See Also:
- Constant Field Values
-
DESCRIPTION_PROPERTY
static final String DESCRIPTION_PROPERTY
The name of 'description' property- See Also:
- Constant Field Values
-
MAX_PROPERTY
static final String MAX_PROPERTY
The name of 'max' property- See Also:
- Constant Field Values
-
MIN_PROPERTY
static final String MIN_PROPERTY
The name of 'min' property- See Also:
- Constant Field Values
-
QUERIES_PROPERTY
static final String QUERIES_PROPERTY
The name of 'queries' property- See Also:
- Constant Field Values
-
QUERY_TEMPLATES_PROPERTY
static final String QUERY_TEMPLATES_PROPERTY
The name of 'queryTemplates' property- See Also:
- Constant Field Values
-
-
Method Detail
-
getDefaultInstance
static DiscoveryFacet getDefaultInstance()
Returns a default instance of DiscoveryFacet- Returns:
- a default instance of DiscoveryFacet
-
getGroup
@ISProperty(name="group", description="The name identifier of the resource group to discover. This serves as a unique identifier for organizing and categorizing discovered resources.", mandatory=true, nullable=false) String getGroup()The name identifier of the resource group to discover. This serves as a unique identifier for organizing and categorizing discovered resources.- Returns:
- the group name
-
setGroup
void setGroup(String group)
Sets the name identifier of the resource group to discover. This serves as a unique identifier for organizing and categorizing discovered resources.- Parameters:
group- the group name
-
getDescription
@ISProperty(name="description", description="Human-readable description displayed to users explaining what type of resources will be discovered in this group") String getDescription()Human-readable description displayed to users explaining what type of resources will be discovered in this group- Returns:
- the description
-
setDescription
void setDescription(String description)
Sets a human-readable description displayed to users explaining what type of resources will be discovered in this group- Parameters:
description- the description
-
getMin
@ISProperty(name="min", description="Minimum number of resources that must be selected from this group. Default is 0 (optional selection).", readonly=false, mandatory=true, nullable=false, defaultValue="0") int getMin()Minimum number of resources that must be selected from this group. Default is 0 (optional selection).- Returns:
- the min
-
setMin
void setMin(int min)
Sets the minimum number of resources that must be selected from this group. Default is 0 (optional selection).- Parameters:
min- the min
-
getMax
@ISProperty(name="max", description="Maximum number of resources that can be selected from this group. Null means unlimited selection.", readonly=false, mandatory=true, nullable=true, defaultValue="null") Integer getMax()Maximum number of resources that can be selected from this group. Null means unlimited selection.- Returns:
- the max
-
setMax
void setMax(Integer max)
Sets the maximum number of resources that can be selected from this group. Null means unlimited selection.- Parameters:
max- the max
-
getQueries
@ISProperty(name="queries", description="Array of JSON query objects used to discover resources. Each query is executed and results are combined (union of all query results).", readonly=false, mandatory=true, nullable=true, defaultValue="null") org.gcube.com.fasterxml.jackson.databind.node.ArrayNode getQueries()Array of JSON query objects used to discover resources. Each query is executed and results are combined (union of all query results).- Returns:
- the queries
-
setQueries
void setQueries(org.gcube.com.fasterxml.jackson.databind.node.ArrayNode queries)
Sets the array of JSON query objects used to discover resources. Each query is executed and results are combined (union of all query results).- Parameters:
queries- the queries
-
addQuery
void addQuery(org.gcube.com.fasterxml.jackson.databind.node.ObjectNode query)
Adds a JSON query object used to discover resources.- Parameters:
query- the query
-
getQueryTemplates
@ISProperty(name="queryTemplates", description="Array of query template references with parameters. These are named, reusable query definitions that can accept variables for dynamic resource discovery.", readonly=false, mandatory=true, nullable=true, defaultValue="null") List<org.gcube.informationsystem.queries.templates.reference.properties.QueryTemplateReference> getQueryTemplates()Array of query template references with parameters. These are named, reusable query definitions that can accept variables for dynamic resource discovery.- Returns:
- the query templates
-
setQueryTemplates
void setQueryTemplates(List<org.gcube.informationsystem.queries.templates.reference.properties.QueryTemplateReference> queryTemplates)
Sets the array of query template references with parameters. These are named, reusable query definitions that can accept variables for dynamic resource discovery.- Parameters:
queryTemplates- the query templates
-
addQueryTemplates
void addQueryTemplates(org.gcube.informationsystem.queries.templates.reference.properties.QueryTemplateReference queryTemplates)
Adds a query template reference with parameters. These are named, reusable query definitions that can accept variables for dynamic resource discovery.- Parameters:
queryTemplates- the query template to add
-
-