|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.argouml.model.uml.AbstractUmlModelFactory | +--org.argouml.model.uml.UmlFactory
Root factory for UML model element instance creation.
Field Summary | |
protected org.apache.log4j.Category |
logger
Log4j logging category. |
Method Summary | |
void |
delete(java.lang.Object elem)
Deletes a modelelement. |
void |
doCopyBase(ru.novosoft.uml.MBase source,
ru.novosoft.uml.MBase target)
Used by the copy functions. |
ActivityGraphsFactory |
getActivityGraphs()
Returns the package factory for the UML package BehavioralElements::ActivityGraphs. |
CollaborationsFactory |
getCollaborations()
Returns the package factory for the UML package BehavioralElements::Collaborations. |
CommonBehaviorFactory |
getCommonBehavior()
Returns the package factory for the UML package BehavioralElements::CommonBehavior. |
CoreFactory |
getCore()
Returns the package factory for the UML package Foundation::Core. |
DataTypesFactory |
getDataTypes()
Returns the package factory for the UML package Foundation::DataTypes. |
ExtensionMechanismsFactory |
getExtensionMechanisms()
Returns the package factory for the UML package Foundation::ExtensionMechanisms. |
static UmlFactory |
getFactory()
Singleton instance access method. |
ModelManagementFactory |
getModelManagement()
Returns the package factory for the UML package ModelManagement. |
StateMachinesFactory |
getStateMachines()
Returns the package factory for the UML package BehavioralElements::StateMachines. |
UseCasesFactory |
getUseCases()
Returns the package factory for the UML package BehavioralElements::UseCases. |
Methods inherited from class org.argouml.model.uml.AbstractUmlModelFactory |
initialize |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected org.apache.log4j.Category logger
Method Detail |
public static UmlFactory getFactory()
public ExtensionMechanismsFactory getExtensionMechanisms()
public DataTypesFactory getDataTypes()
public CoreFactory getCore()
public CommonBehaviorFactory getCommonBehavior()
public UseCasesFactory getUseCases()
public StateMachinesFactory getStateMachines()
public CollaborationsFactory getCollaborations()
public ActivityGraphsFactory getActivityGraphs()
public ModelManagementFactory getModelManagement()
public void delete(java.lang.Object elem)
Deletes a modelelement. It calls the remove method of the modelelement but also does 'cascading deletes' that are not provided for in the remove method of the modelelement itself. For example: this delete method also removes the binary associations that a class has if the class is deleted. In this way, it is not longer possible that illegal states exist in the model.
The actual deletion is delegated to delete methods in the rest of the factories. For example: a method deleteClass exists on CoreHelper. Delete methods as deleteClass should only do those extra actions that are necessary for the deletion of the modelelement itself. I.e. deleteClass should only take care of things specific to MClass.
The delete methods in the UML Factories should not be called directly throughout the code! Calls should allways refer to this method and never call the deleteXXX method on XXXFactory directly. The reason that it is possible to call the deleteXXX methods directly is a pure implementation detail.
The implementation of this method uses a quite complicate if then else tree. This is done to provide optimal performance and full compliance to the UML 1.3 model. The last remark refers to the fact that the UML 1.3 model knows multiple inheritance in several places. This has to be taken into account.
Extensions and its children are not taken into account here. They do not require extra cleanup actions. Not in the form of a call to the remove method as is normal for all children of MBase and not in the form of other behaviour we want to implement via this operation.
elem
- The element to be deletedpublic void doCopyBase(ru.novosoft.uml.MBase source, ru.novosoft.uml.MBase target)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
ArgoUML (c) 1996-2002 |