public final class TechId
extends java.lang.Object
implements java.lang.Comparable
TechId
class is a unique identifier for representing a
technology in the system. Each instance wraps the display attributes
for representing the technology in the user interface.Modifier and Type | Method and Description |
---|---|
boolean |
addDependency(TechId dependency)
Ensures that this technology depends on another technology.
|
int |
compareTo(java.lang.Object object)
Compares two
TechId instances for ordering. |
static TechId |
createTechId(java.lang.String key,
java.lang.String name,
java.lang.String description)
Factory method for generating a new technology id.
|
static TechId |
createTechId(java.lang.String key,
java.lang.String name,
java.lang.String description,
boolean obsolete)
Factory method for generating a new technology id.
|
boolean |
dependsOn(TechId techId)
Returns
true if this technology depends on the specified
technology, either directly or indirectly. |
java.util.Set |
getDependencies()
Returns the collection of technologies upon which this technology
directly depends; if this technology does not depend upon other
technologies, the collection is empty.
|
java.lang.String |
getDescription()
Returns the display description for this technology.
|
java.lang.String |
getKey()
Returns the key for this technology.
|
java.lang.String |
getName()
Returns the display name for this technology.
|
boolean |
isInScope(TechnologyScope scope)
Returns
true if this technology exists in the specified
TechnologyScope . |
boolean |
isObsolete()
Returns
true if this technology is marked as obsolete, and
should not be added to new projects (and should be migrated out of old
projects) |
boolean |
isVisible()
Returns
true if this technology should be visible in the
user interface, otherwise returns false . |
boolean |
removeDependency(TechId dependency)
Removes a dependent technology from the this technology, if the
dependency exists.
|
java.lang.String |
toString()
Returns a short description of the technology.
|
public java.lang.String getName()
public java.lang.String getDescription()
public java.lang.String getKey()
public boolean addDependency(TechId dependency)
true
if the specified technology was a new dependency.true
if the dependencies changed as a result of
the callpublic boolean removeDependency(TechId dependency)
true
if this technology
contained the specified dependency.true
if the dependencies changed as a result of
the callpublic java.util.Set getDependencies()
TechId
s upon which this technology is
dependentpublic boolean isVisible()
true
if this technology should be visible in the
user interface, otherwise returns false
.public boolean isObsolete()
true
if this technology is marked as obsolete, and
should not be added to new projects (and should be migrated out of old
projects)public boolean isInScope(TechnologyScope scope)
true
if this technology exists in the specified
TechnologyScope
. If this is a pseudo-technology, then the
PseudoTechnologyCallback
may be queried to determine if this
technology is in the specified scope.scope
- the current technology scope.public boolean dependsOn(TechId techId)
true
if this technology depends on the specified
technology, either directly or indirectly.techId
- the technologytrue
if this technology depends on the specified
technologypublic int compareTo(java.lang.Object object)
TechId
instances for ordering.compareTo
in interface java.lang.Comparable
java.lang.ClassCastException
- if the argument is not another
TechId
instance.public java.lang.String toString()
toString
in class java.lang.Object
public static TechId createTechId(java.lang.String key, java.lang.String name, java.lang.String description)
key
- a well-defined string that identifies the technology
programmaticallyname
- the translatable name for this technology, for display in
the user interface.description
- the translatable description for this technology,
for display in the user interface.public static TechId createTechId(java.lang.String key, java.lang.String name, java.lang.String description, boolean obsolete)
key
- a well-defined string that identifies the technology
programmaticallyname
- the translatable name for this technology, for display in
the user interface.description
- the translatable description for this technology,
for display in the user interface.