Interface DependsOn<Out extends Software,In extends Software>

All Superinterfaces:
org.gcube.informationsystem.base.reference.Element, org.gcube.informationsystem.model.reference.ERElement, org.gcube.informationsystem.base.reference.IdentifiableElement, org.gcube.informationsystem.model.reference.relations.IsRelatedTo<Out,In>, org.gcube.informationsystem.model.reference.ModelElement, org.gcube.informationsystem.model.reference.relations.Relation<Out,In>, org.gcube.informationsystem.base.reference.relations.RelationElement<Out,In>, org.gcube.informationsystem.base.reference.SchemaMixedElement, Serializable
All Known Subinterfaces:
IsPluginOf<Out,In>
All Known Implementing Classes:
DependsOnImpl, IsPluginOfImpl

@TypeMetadata(name="DependsOn", description="DependsOn indicates that a [Software](type:Software) requires another one to work. This relation must not be confused with [Requires](type:Requires).", version="1.1.0") @Change(version="1.1.0",description="Added \'optional\', moved from [SoftwareFacet](type:SoftwareFacet): whether the target Software is optional for the source.") @Change(version="1.0.0",description="First Version") public interface DependsOn<Out extends Software,In extends Software> extends org.gcube.informationsystem.model.reference.relations.IsRelatedTo<Out,In>
DependsOn indicates that a Software requires another one to work. This relation must not be confused with Requires.
Author:
Luca Frosini (ISTI - CNR)
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    The name of the DependsOn relation type.
    static final String
    The name of 'optional' property
    static final String
    The version of the DependsOn relation type.

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

    DATETIME_PATTERN, REDACTED, TYPE_PROPERTY, UNKNOWN_USER

    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

    Fields inherited from interface org.gcube.informationsystem.model.reference.relations.Relation

    PROPAGATION_CONSTRAINT_PROPERTY

    Fields inherited from interface org.gcube.informationsystem.base.reference.relations.RelationElement

    SOURCE_PROPERTY, TARGET_PROPERTY
  • Method Summary

    Modifier and Type
    Method
    Description
    static <Out extends Software, In extends Software>
    DependsOn<Out,In>
    getDefaultInstance(Out out, In in)
    Returns a default instance of DependsOn
    boolean
    Whether the target Software is optional for the source, e.g., the optional flag of a dependency in maven.
    void
    setOptional(boolean optional)
    Sets whether the target Software is optional for the source.

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

    getTypeName

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

    getContexts

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

    getExpectedType, getSupertypes

    Methods inherited from interface org.gcube.informationsystem.model.reference.relations.Relation

    getAdditionalProperties, getAdditionalProperty, getPropagationConstraint, getSource, getTarget, setAdditionalProperties, setAdditionalProperty, setPropagationConstraint, setSource, setTarget

    Methods inherited from interface org.gcube.informationsystem.base.reference.relations.RelationElement

    getID, getMetadata, setID, setMetadata
  • Field Details

  • Method Details

    • getDefaultInstance

      static <Out extends Software, In extends Software> DependsOn<Out,In> getDefaultInstance(Out out, In in)
      Returns a default instance of DependsOn
      Type Parameters:
      Out - the source Software
      In - the target Software
      Parameters:
      out - the source Software instance
      in - the target Software instance
      Returns:
      a default instance of DependsOn
    • isOptional

      @ISProperty(name="optional", description="Whether the target Software is optional for the source, e.g., the optional flag of a dependency in maven.") boolean isOptional()
      Whether the target Software is optional for the source, e.g., the optional flag of a dependency in maven.
      Returns:
      true if the target Software is optional for the source
    • setOptional

      void setOptional(boolean optional)
      Sets whether the target Software is optional for the source.
      Parameters:
      optional - true if the target Software is optional for the source