au.edu.swin.synergy.plugin.modeller
Class BModel
java.lang.Object
|
+--au.edu.swin.synergy.plugin.modeller.BModel
- public class BModel
- extends Object
- implements BSaveable, BTreeNode, BDiagram
Contains a collection of nodes, arcs, and terminators. Can be added
to a project, and saved to file.
- Author:
- Matthew Evans, Imron Alston
Method Summary |
void |
addDrawable(BDrawable drawable)
|
void |
addElement(BModelElement fElement)
|
void |
addVisibleDrawablesToList(Vector visibleList,
BScalarRect bounds)
|
void |
bringSelectionToFront(Vector selection)
|
protected boolean |
checkCircRefViolation(BMetaModel metaModel,
BModelArc arc,
BModelNode node)
|
protected boolean |
checkConnectionViolation(BMetaModel metaModel,
BModelArc arc,
BModelNode node)
|
protected boolean |
checkMaxInViolation(BMetaModel metaModel,
BModelArc arc,
BModelNode node)
|
protected boolean |
checkMaxOutViolation(BMetaModel metaModel,
BModelArc arc,
BModelNode node)
|
protected boolean |
checkStartConnectionViolation(BMetaModel metaModel,
BModelArc arc,
BModelNode node)
|
boolean |
continueAdd(BScalarPoint pos,
BDrawable under)
|
void |
createDrawable(String drawable,
BScalarPoint pos)
|
void |
delete(BDrawable drawable)
|
int |
doChangePackage(BPackageModel newPackageModel)
Change the package used by this model. |
void |
dragAdd(BScalarPoint deltaXY,
BDrawable under)
|
Object |
getChildAt(int index)
|
int |
getChildCount()
|
BModelElement |
getElementByID(long ID)
Get an element by ID. |
int |
getIndexOf(Object node)
|
String |
getName()
|
long |
getNewUniqueID()
|
BPackageModel |
getPackageModel()
|
Object |
getParent()
|
String |
getPath()
|
Vector |
getPlaceableDrawables()
|
boolean |
hasBeenModified()
This identifies whether the model has been changed since it has
been opened |
boolean |
isLeaf()
|
boolean |
load(BDataFile file)
|
void |
loadedID(long ID)
This method is called by a model element after is has loaded it's self
It makes sure that duplicate ID's are not given out |
void |
removeAllChildren()
|
boolean |
save(BDataFile file)
|
void |
sendSelectionToBack(Vector selection)
|
void |
setModified(boolean modified)
|
void |
setName(String name)
|
void |
setPackageModel(BPackageModel packageModel)
|
void |
setParent(BProject parent)
|
void |
setParent(Object parent)
|
BDrawable |
startAdd(BDrawable drawable,
BScalarPoint pos,
BDrawable under)
starts adding a drawable to the diagram... |
boolean |
stopAdd(BScalarPoint pos,
BDrawable under,
int modifiers)
stops adding a drawable to the diagram... |
String |
toString()
|
kFileExtension
public static final String kFileExtension
kKeyName
protected static final String kKeyName
kDefaultName
protected static final String kDefaultName
kChangePackageOK
public static final int kChangePackageOK
kChangePackageNotCompatible
public static final int kChangePackageNotCompatible
BModel
public BModel(BProject parent,
String name,
String path)
BModel
public BModel(BProject parent,
String name,
String path,
BPackageModel packageModel)
BModel
public BModel()
- Default constructor for BSaveable
getNewUniqueID
public long getNewUniqueID()
setParent
public void setParent(BProject parent)
loadedID
public void loadedID(long ID)
- This method is called by a model element after is has loaded it's self
It makes sure that duplicate ID's are not given out
setPackageModel
public void setPackageModel(BPackageModel packageModel)
getPackageModel
public BPackageModel getPackageModel()
getPath
public String getPath()
getName
public String getName()
- Specified by:
- getName in interface BTreeNode
setName
public void setName(String name)
- Specified by:
- setName in interface BTreeNode
isLeaf
public boolean isLeaf()
- Specified by:
- isLeaf in interface BTreeNode
getChildAt
public Object getChildAt(int index)
- Specified by:
- getChildAt in interface BTreeNode
getChildCount
public int getChildCount()
- Specified by:
- getChildCount in interface BTreeNode
getParent
public Object getParent()
- Specified by:
- getParent in interface BTreeNode
getIndexOf
public int getIndexOf(Object node)
- Specified by:
- getIndexOf in interface BTreeNode
setParent
public void setParent(Object parent)
- Specified by:
- setParent in interface BTreeNode
removeAllChildren
public void removeAllChildren()
- Specified by:
- removeAllChildren in interface BTreeNode
toString
public String toString()
- Overrides:
- toString in class Object
load
public boolean load(BDataFile file)
- Specified by:
- load in interface BSaveable
save
public boolean save(BDataFile file)
- Specified by:
- save in interface BSaveable
getElementByID
public BModelElement getElementByID(long ID)
- Get an element by ID.
The ID should be unique across distributed versions of a model
If the element is not found, it returns null
(and yes I know, single entry, single exit.... high Cohesion etc....)
doChangePackage
public int doChangePackage(BPackageModel newPackageModel)
- Change the package used by this model.
This method is called before doChangePackage
- Parameters:
newPackageModel
- the packagemodel to change to- Returns:
- any of the kChangePackage constants
addVisibleDrawablesToList
public void addVisibleDrawablesToList(Vector visibleList,
BScalarRect bounds)
- Specified by:
- addVisibleDrawablesToList in interface BDiagram
getPlaceableDrawables
public Vector getPlaceableDrawables()
- Specified by:
- getPlaceableDrawables in interface BDiagram
addDrawable
public void addDrawable(BDrawable drawable)
- Specified by:
- addDrawable in interface BDiagram
addElement
public void addElement(BModelElement fElement)
createDrawable
public void createDrawable(String drawable,
BScalarPoint pos)
- Specified by:
- createDrawable in interface BDiagram
startAdd
public BDrawable startAdd(BDrawable drawable,
BScalarPoint pos,
BDrawable under)
- starts adding a drawable to the diagram...
- Specified by:
- startAdd in interface BDiagram
- Pre Condition:
- the model must have a valid packageModel,, the package model must have a valid metamodel..
continueAdd
public boolean continueAdd(BScalarPoint pos,
BDrawable under)
- Specified by:
- continueAdd in interface BDiagram
dragAdd
public void dragAdd(BScalarPoint deltaXY,
BDrawable under)
- Specified by:
- dragAdd in interface BDiagram
stopAdd
public boolean stopAdd(BScalarPoint pos,
BDrawable under,
int modifiers)
- stops adding a drawable to the diagram...
- Specified by:
- stopAdd in interface BDiagram
- Pre Condition:
- the packageModel cannot be null, the packageModel's metamodel cannot be null..
delete
public void delete(BDrawable drawable)
- Specified by:
- delete in interface BDiagram
bringSelectionToFront
public void bringSelectionToFront(Vector selection)
- Specified by:
- bringSelectionToFront in interface BDiagram
sendSelectionToBack
public void sendSelectionToBack(Vector selection)
- Specified by:
- sendSelectionToBack in interface BDiagram
checkConnectionViolation
protected boolean checkConnectionViolation(BMetaModel metaModel,
BModelArc arc,
BModelNode node)
- Returns:
- true if rule evaluation/arc adding is to continue....
needs to perform all handling of the violation if one occurs.
checkStartConnectionViolation
protected boolean checkStartConnectionViolation(BMetaModel metaModel,
BModelArc arc,
BModelNode node)
checkMaxInViolation
protected boolean checkMaxInViolation(BMetaModel metaModel,
BModelArc arc,
BModelNode node)
checkMaxOutViolation
protected boolean checkMaxOutViolation(BMetaModel metaModel,
BModelArc arc,
BModelNode node)
checkCircRefViolation
protected boolean checkCircRefViolation(BMetaModel metaModel,
BModelArc arc,
BModelNode node)
hasBeenModified
public boolean hasBeenModified()
- This identifies whether the model has been changed since it has
been opened
- Returns:
- if the model has been modified
setModified
public void setModified(boolean modified)