|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.argouml.uml.generator.Generator
This class is the abstract super class that defines a code generation framework. It is basically a depth-first traversal of the UML model that generates strings as it goes. This framework should probably be redesigned to separate the traversal logic from the generation logic. See the Vistor design pattern in "Design Patterns", and the Demeter project.
Field Summary | |
static java.lang.String |
INDENT
Two spaces used for indenting code in classes. |
static java.lang.String |
TEST_SUFFIX
suffix placed behind the tag defining a testcase for an element to be generated |
Fields inherited from interface org.argouml.application.api.Pluggable |
PLUGIN_PREFIX, PLUGIN_TITLE, PLUGIN_VENDOR |
Fields inherited from interface org.argouml.application.api.ArgoModule |
cat, MODULEFILENAME, MODULEFILENAME_ALTERNATE |
Constructor Summary | |
Generator(NotationName notationName)
|
Method Summary | |
java.lang.String |
generate(java.lang.Object o)
Generates code for some modelelement. |
abstract java.lang.String |
generateAction(java.lang.Object m)
|
abstract java.lang.String |
generateAssociation(ru.novosoft.uml.foundation.core.MAssociation a)
|
abstract java.lang.String |
generateAssociationEnd(ru.novosoft.uml.foundation.core.MAssociationEnd ae)
|
abstract java.lang.String |
generateAttribute(ru.novosoft.uml.foundation.core.MAttribute attr,
boolean documented)
|
abstract java.lang.String |
generateClassifier(ru.novosoft.uml.foundation.core.MClassifier cls)
|
java.lang.String |
generateClassifierRef(ru.novosoft.uml.foundation.core.MClassifier cls)
|
java.lang.String |
generateExpression(ru.novosoft.uml.foundation.core.MConstraint expr)
|
java.lang.String |
generateExpression(ru.novosoft.uml.foundation.data_types.MExpression expr)
|
abstract java.lang.String |
generateExtensionPoint(ru.novosoft.uml.behavior.use_cases.MExtensionPoint op)
|
abstract java.lang.String |
generateGuard(ru.novosoft.uml.behavior.state_machines.MGuard m)
|
abstract java.lang.String |
generateMessage(ru.novosoft.uml.behavior.collaborations.MMessage m)
|
abstract java.lang.String |
generateMultiplicity(ru.novosoft.uml.foundation.data_types.MMultiplicity m)
|
java.lang.String |
generateName(java.lang.String n)
|
abstract java.lang.String |
generateOperation(ru.novosoft.uml.foundation.core.MOperation op,
boolean documented)
|
abstract java.lang.String |
generatePackage(ru.novosoft.uml.model_management.MPackage p)
|
abstract java.lang.String |
generateParameter(ru.novosoft.uml.foundation.core.MParameter param)
|
abstract java.lang.String |
generateState(ru.novosoft.uml.behavior.state_machines.MState m)
|
java.lang.String |
generateStereotype(ru.novosoft.uml.foundation.extension_mechanisms.MStereotype st)
|
abstract java.lang.String |
generateTaggedValue(ru.novosoft.uml.foundation.extension_mechanisms.MTaggedValue s)
|
abstract java.lang.String |
generateTransition(ru.novosoft.uml.behavior.state_machines.MTransition m)
|
java.lang.String |
generateUninterpreted(java.lang.String un)
|
static java.lang.String |
getCodePath(java.lang.Object me)
Gets the path of the code base for a model element, otherwise null. |
static Generator |
getGenerator(NotationName n)
|
java.util.Vector |
getModulePopUpActions(java.util.Vector v,
java.lang.Object o)
|
NotationName |
getNotation()
|
boolean |
inContext(java.lang.Object[] o)
A function which allows a plug-in to decide if it is available under a specific context. |
boolean |
initializeModule()
|
boolean |
isModuleEnabled()
Deprecated. must be added to all leaf classes from this class, these are the modules not this abstract class |
boolean |
isTestModus()
Returns the _testModus. |
void |
setModuleEnabled(boolean enabled)
|
void |
setTestModus(boolean _testModus)
Sets the _testModus. |
boolean |
shutdownModule()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.argouml.application.api.NotationProvider |
canParse, canParse, generateAssociationRole, generateStateBody |
Methods inherited from interface org.argouml.application.api.ArgoModule |
getModuleAuthor, getModuleDescription, getModuleKey, getModuleName, getModuleVersion |
Field Detail |
public static java.lang.String INDENT
public static final java.lang.String TEST_SUFFIX
Constructor Detail |
public Generator(NotationName notationName)
Method Detail |
public static Generator getGenerator(NotationName n)
public NotationName getNotation()
getNotation
in interface NotationProvider
public java.lang.String generate(java.lang.Object o)
o
- the element to be generated
public abstract java.lang.String generateExtensionPoint(ru.novosoft.uml.behavior.use_cases.MExtensionPoint op)
generateExtensionPoint
in interface NotationProvider
public abstract java.lang.String generateOperation(ru.novosoft.uml.foundation.core.MOperation op, boolean documented)
generateOperation
in interface NotationProvider
public abstract java.lang.String generateAttribute(ru.novosoft.uml.foundation.core.MAttribute attr, boolean documented)
generateAttribute
in interface NotationProvider
public abstract java.lang.String generateParameter(ru.novosoft.uml.foundation.core.MParameter param)
generateParameter
in interface NotationProvider
public abstract java.lang.String generatePackage(ru.novosoft.uml.model_management.MPackage p)
generatePackage
in interface NotationProvider
public abstract java.lang.String generateClassifier(ru.novosoft.uml.foundation.core.MClassifier cls)
generateClassifier
in interface NotationProvider
public abstract java.lang.String generateTaggedValue(ru.novosoft.uml.foundation.extension_mechanisms.MTaggedValue s)
generateTaggedValue
in interface NotationProvider
public abstract java.lang.String generateAssociation(ru.novosoft.uml.foundation.core.MAssociation a)
generateAssociation
in interface NotationProvider
public abstract java.lang.String generateAssociationEnd(ru.novosoft.uml.foundation.core.MAssociationEnd ae)
generateAssociationEnd
in interface NotationProvider
public abstract java.lang.String generateMultiplicity(ru.novosoft.uml.foundation.data_types.MMultiplicity m)
generateMultiplicity
in interface NotationProvider
public abstract java.lang.String generateState(ru.novosoft.uml.behavior.state_machines.MState m)
generateState
in interface NotationProvider
public abstract java.lang.String generateTransition(ru.novosoft.uml.behavior.state_machines.MTransition m)
generateTransition
in interface NotationProvider
public abstract java.lang.String generateAction(java.lang.Object m)
generateAction
in interface NotationProvider
public abstract java.lang.String generateGuard(ru.novosoft.uml.behavior.state_machines.MGuard m)
generateGuard
in interface NotationProvider
public abstract java.lang.String generateMessage(ru.novosoft.uml.behavior.collaborations.MMessage m)
generateMessage
in interface NotationProvider
public java.lang.String generateExpression(ru.novosoft.uml.foundation.data_types.MExpression expr)
generateExpression
in interface NotationProvider
public java.lang.String generateExpression(ru.novosoft.uml.foundation.core.MConstraint expr)
public java.lang.String generateName(java.lang.String n)
generateName
in interface NotationProvider
public java.lang.String generateUninterpreted(java.lang.String un)
public java.lang.String generateClassifierRef(ru.novosoft.uml.foundation.core.MClassifier cls)
generateClassifierRef
in interface NotationProvider
public java.lang.String generateStereotype(ru.novosoft.uml.foundation.extension_mechanisms.MStereotype st)
generateStereotype
in interface NotationProvider
public java.util.Vector getModulePopUpActions(java.util.Vector v, java.lang.Object o)
getModulePopUpActions
in interface ArgoModule
public boolean shutdownModule()
shutdownModule
in interface ArgoModule
public boolean initializeModule()
initializeModule
in interface ArgoModule
public void setModuleEnabled(boolean enabled)
setModuleEnabled
in interface ArgoModule
public boolean inContext(java.lang.Object[] o)
Pluggable
inContext
in interface Pluggable
o
- An identification of the context.
The interpretation of criteria is specific to
the plug-in type, but must be consistent
across that type. The plug-in must want
to be exposed to all contexts.
public boolean isTestModus()
public void setTestModus(boolean _testModus)
_testModus
- The _testModus to setpublic static java.lang.String getCodePath(java.lang.Object me)
me
- The model element
public boolean isModuleEnabled()
isModuleEnabled
in interface ArgoModule
ArgoModule.isModuleEnabled()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
ArgoUML © 1996-2003 (20040125) | ArgoUML Project Home | ArgoUML Cookbook |