-
- 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 aSoftwarerequires another one to work. This relation must not be confused withRequires.- Author:
- Luca Frosini (ISTI - CNR)
-
-
Field Summary
Fields Modifier and Type Field Description static StringNAMEThe name of the DependsOn relation type.static StringOPTIONAL_PROPERTYThe name of 'optional' propertystatic StringVERSIONThe 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
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods 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 DependsOnbooleanisOptional()Whether the target Software is optional for the source, e.g., the optional flag of a dependency in maven.voidsetOptional(boolean optional)Sets whether the target Software is optional for the source.-
Methods inherited from interface org.gcube.informationsystem.model.reference.ModelElement
getExpectedType, getSupertypes
-
-
-
-
Field Detail
-
NAME
static final String NAME
The name of the DependsOn relation type.- See Also:
- Constant Field Values
-
VERSION
static final String VERSION
The version of the DependsOn relation type.- See Also:
- Constant Field Values
-
OPTIONAL_PROPERTY
static final String OPTIONAL_PROPERTY
The name of 'optional' property- See Also:
- Constant Field Values
-
-
Method Detail
-
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 SoftwareIn- the target Software- Parameters:
out- the source Software instancein- 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
-
-