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 final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     
    static final String
     

    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

    Fields inherited from interface org.gcube.informationsystem.base.reference.IdentifiableElement

    ID_PROPERTY, METADATA_PROPERTY

    Fields inherited from interface org.gcube.informationsystem.model.reference.ModelElement

    EXPECTED_TYPE_PROPERTY, SUPERTYPES_PROPERTY
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addQuery(org.gcube.com.fasterxml.jackson.databind.node.ObjectNode query)
     
    void
    addQueryTemplates(org.gcube.informationsystem.queries.templates.reference.properties.QueryTemplateReference queryTemplates)
     
     
     
     
    int
     
    org.gcube.com.fasterxml.jackson.databind.node.ArrayNode
     
    List<org.gcube.informationsystem.queries.templates.reference.properties.QueryTemplateReference>
     
    void
    setDescription(String description)
     
    void
     
    void
     
    void
    setMin(int min)
     
    void
    setQueries(org.gcube.com.fasterxml.jackson.databind.node.ArrayNode queries)
     
    void
    setQueryTemplates(List<org.gcube.informationsystem.queries.templates.reference.properties.QueryTemplateReference> queryTemplates)
     

    Methods inherited from interface org.gcube.informationsystem.base.reference.Element

    getTypeName

    Methods inherited from interface org.gcube.informationsystem.base.reference.entities.EntityElement

    getID, getMetadata, setID, setMetadata

    Methods inherited from interface org.gcube.informationsystem.model.reference.ERElement

    getContexts

    Methods inherited from interface org.gcube.informationsystem.model.reference.entities.Facet

    getAdditionalProperties, getAdditionalProperty, setAdditionalProperties, setAdditionalProperty

    Methods inherited from interface org.gcube.informationsystem.model.reference.ModelElement

    getExpectedtype, getSupertypes
  • Field Details

  • 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

      void setGroup(String group)
    • 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

      void setDescription(String 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()
    • 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

      void setMax(Integer 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()
    • 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)