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
    The name of 'description' property
    static final String
    The name of 'group' property
    static final String
    The name of 'max' property
    static final String
    The name of 'min' property
    static final String
    The name associated with this facet
    static final String
    The name of 'queries' property
    static final String
    The 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

    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)
    Adds a JSON query object used to discover resources.
    void
    addQueryTemplates(org.gcube.informationsystem.queries.templates.reference.properties.QueryTemplateReference queryTemplates)
    Adds a query template reference with parameters.
    Returns a default instance of DiscoveryFacet
    Human-readable description displayed to users explaining what type of resources will be discovered in this group
    The name identifier of the resource group to discover.
    Maximum number of resources that can be selected from this group.
    int
    Minimum number of resources that must be selected from this group.
    org.gcube.com.fasterxml.jackson.databind.node.ArrayNode
    Array of JSON query objects used to discover resources.
    List<org.gcube.informationsystem.queries.templates.reference.properties.QueryTemplateReference>
    Array of query template references with parameters.
    void
    setDescription(String description)
    Sets a human-readable description displayed to users explaining what type of resources will be discovered in this group
    void
    Sets the name identifier of the resource group to discover.
    void
    Sets the maximum number of resources that can be selected from this group.
    void
    setMin(int min)
    Sets the minimum number of resources that must be selected from this group.
    void
    setQueries(org.gcube.com.fasterxml.jackson.databind.node.ArrayNode queries)
    Sets the array of JSON query objects used to discover resources.
    void
    setQueryTemplates(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.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

    • 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