Package cruise.umple.compiler
Class FeatureModel
java.lang.Object
cruise.umple.compiler.FeatureModel
public class FeatureModel
extends java.lang.Object
-
Constructor Summary
Constructors Constructor Description FeatureModel(java.lang.String aName)
-
Method Summary
Modifier and Type Method Description boolean
addFeaturelink(FeatureLink aFeaturelink)
boolean
addFeaturelinkAt(FeatureLink aFeaturelink, int index)
FeatureNode
addNode()
boolean
addNode(FeatureNode aNode)
boolean
addNodeAt(FeatureNode aNode, int index)
boolean
addOrMoveFeaturelinkAt(FeatureLink aFeaturelink, int index)
boolean
addOrMoveNodeAt(FeatureNode aNode, int index)
void
delete()
boolean
evaluateFeatureLink(FeatureLink featureLink)
This method takes a feature link (from the feature model) and decides whether the link is satisfied.FeatureLeaf
getFeatureLeafNode(java.lang.String name)
This method returns a leaf node from FeatureModel based on its name.java.util.List<FeatureLink>
getFeaturelink()
FeatureLink
getFeaturelink(int index)
java.lang.String
getName()
java.util.List<FeatureNode>
getNode()
FeatureNode
getNode(int index)
FeatureLeaf
getOrCreateFeatureLeafNode(java.lang.String name)
This method does conditional addition for a FeatureLeaf based on the provided name.java.util.List<FeatureNode>
getRootFeatures()
UmpleModel
getUmpleModel()
boolean
hasFeaturelink()
boolean
hasNode()
boolean
hasUmpleModel()
int
indexOfFeaturelink(FeatureLink aFeaturelink)
int
indexOfNode(FeatureNode aNode)
boolean
isUsedFeatureLeaf(FeatureLeaf featureLeaf)
This method returns true if the feature leaf has a use-statement.static int
minimumNumberOfFeaturelink()
static int
minimumNumberOfNode()
int
numberOfFeaturelink()
int
numberOfNode()
boolean
removeFeaturelink(FeatureLink aFeaturelink)
boolean
removeNode(FeatureNode aNode)
boolean
satisfyFeatureModel()
This method checks whether the use-statements plus the feature model results in valid configuration.boolean
setName(java.lang.String aName)
boolean
setUmpleModel(UmpleModel aNewUmpleModel)
java.lang.String
toString()
-
Constructor Details
-
FeatureModel
public FeatureModel(java.lang.String aName)
-
-
Method Details
-
setName
public boolean setName(java.lang.String aName) -
getName
public java.lang.String getName() -
getNode
-
getNode
-
numberOfNode
public int numberOfNode() -
hasNode
public boolean hasNode() -
indexOfNode
-
getFeaturelink
-
getFeaturelink
-
numberOfFeaturelink
public int numberOfFeaturelink() -
hasFeaturelink
public boolean hasFeaturelink() -
indexOfFeaturelink
-
getUmpleModel
-
hasUmpleModel
public boolean hasUmpleModel() -
minimumNumberOfNode
public static int minimumNumberOfNode() -
addNode
-
addNode
-
removeNode
-
addNodeAt
-
addOrMoveNodeAt
-
minimumNumberOfFeaturelink
public static int minimumNumberOfFeaturelink() -
addFeaturelink
-
removeFeaturelink
-
addFeaturelinkAt
-
addOrMoveFeaturelinkAt
-
setUmpleModel
-
delete
public void delete() -
getFeatureLeafNode
This method returns a leaf node from FeatureModel based on its name. return null if the leaf node is not found. -
getOrCreateFeatureLeafNode
This method does conditional addition for a FeatureLeaf based on the provided name. It returns a new FeatureLeaf if its not found, or existing FeatureLeaf if the name was found. -
isUsedFeatureLeaf
This method returns true if the feature leaf has a use-statement. It returns false if there is no use-statement for the mixset. It returns false if there is no mixset or file in the feature leaf. -
evaluateFeatureLink
This method takes a feature link (from the feature model) and decides whether the link is satisfied. If the link is not satisfied, it return false. Ex: the link "source--> and" for M1 and M2 is true if there are use-statements for both M1 and M2. -
satisfyFeatureModel
public boolean satisfyFeatureModel()This method checks whether the use-statements plus the feature model results in valid configuration. It return true If there is no feature model. -
toString
public java.lang.String toString()- Overrides:
toString
in classjava.lang.Object
-
getRootFeatures
-