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
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final StringFields inherited from interface org.gcube.informationsystem.base.reference.Element
DATETIME_PATTERN, TYPE_PROPERTYFields inherited from interface org.gcube.informationsystem.model.reference.ERElement
CONTEXTS_PROPERTYFields inherited from interface org.gcube.informationsystem.base.reference.IdentifiableElement
ID_PROPERTY, METADATA_PROPERTYFields inherited from interface org.gcube.informationsystem.model.reference.ModelElement
EXPECTED_TYPE_PROPERTY, SUPERTYPES_PROPERTY -
Method Summary
Modifier and TypeMethodDescriptionvoidaddQuery(org.gcube.com.fasterxml.jackson.databind.node.ObjectNode query) voidaddQueryTemplates(org.gcube.informationsystem.queries.templates.reference.properties.QueryTemplateReference queryTemplates) getGroup()getMax()intgetMin()org.gcube.com.fasterxml.jackson.databind.node.ArrayNodeList<org.gcube.informationsystem.queries.templates.reference.properties.QueryTemplateReference>voidsetDescription(String description) voidvoidvoidsetMin(int min) voidsetQueries(org.gcube.com.fasterxml.jackson.databind.node.ArrayNode queries) voidsetQueryTemplates(List<org.gcube.informationsystem.queries.templates.reference.properties.QueryTemplateReference> queryTemplates) Methods inherited from interface org.gcube.informationsystem.base.reference.Element
getTypeNameMethods inherited from interface org.gcube.informationsystem.base.reference.entities.EntityElement
getID, getMetadata, setID, setMetadataMethods inherited from interface org.gcube.informationsystem.model.reference.ERElement
getContextsMethods inherited from interface org.gcube.informationsystem.model.reference.entities.Facet
getAdditionalProperties, getAdditionalProperty, setAdditionalProperties, setAdditionalPropertyMethods inherited from interface org.gcube.informationsystem.model.reference.ModelElement
getExpectedtype, getSupertypes
-
Field Details
-
NAME
- See Also:
-
GROUP_PROPERTY
- See Also:
-
DESCRIPTION_PROPERTY
- See Also:
-
MAX_PROPERTY
- See Also:
-
MIN_PROPERTY
- See Also:
-
QUERIES_PROPERTY
- See Also:
-
QUERY_TEMPLATES_PROPERTY
- See Also:
-
-
Method Details
-
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() -
setGroup
-
getDescription
@ISProperty(name="description", description="Human-readable description displayed to users explaining what type of resources will be discovered in this group") String getDescription() -
setDescription
-
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() -
setMin
void setMin(int 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() -
setMax
-
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() -
setQueries
void setQueries(org.gcube.com.fasterxml.jackson.databind.node.ArrayNode queries) -
addQuery
void addQuery(org.gcube.com.fasterxml.jackson.databind.node.ObjectNode 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() -
setQueryTemplates
void setQueryTemplates(List<org.gcube.informationsystem.queries.templates.reference.properties.QueryTemplateReference> queryTemplates) -
addQueryTemplates
void addQueryTemplates(org.gcube.informationsystem.queries.templates.reference.properties.QueryTemplateReference queryTemplates)
-