|
||||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.argouml.uml.generator.Generator | +--org.argouml.language.java.generator.GeneratorJava
Generator subclass to generate text for display in diagrams in in text fields in the Argo/UML user interface. The generated code looks a lot like (invalid) Java. The idea is that other generators could be written for outher languages. This code is just a placeholder for future development, I expect it to be totally replaced.
Field Summary | |
---|---|
private static boolean |
_isFileGeneration
true when GenerateFile |
private static boolean |
_isInUpdateMode
true if GenerateFile in Update Mode |
protected boolean |
_lfBeforeCurly
|
protected boolean |
_verboseDocs
|
static java.lang.String |
ANY_RANGE
|
private static Logger |
cat
logger |
private static java.lang.String |
LINE_SEPARATOR
|
private static GeneratorJava |
SINGLETON
|
private static boolean |
VERBOSE_DOCS
|
Fields inherited from class org.argouml.uml.generator.Generator |
---|
INDENT, TEST_SUFFIX |
Fields inherited from interface org.argouml.uml.generator.FileGenerator |
---|
FILE_SEPARATOR |
Fields inherited from interface org.argouml.application.api.Pluggable |
---|
PLUGIN_PREFIX, PLUGIN_TITLE, PLUGIN_VENDOR |
Fields inherited from interface org.argouml.application.api.ArgoModule |
---|
MODULEFILENAME, MODULEFILENAME_ALTERNATE |
Constructor Summary | |
---|---|
protected |
GeneratorJava()
|
Method Summary | |
---|---|
(package private) java.lang.StringBuffer |
appendClassifierEnd(java.lang.StringBuffer sbPrefix,
java.lang.Object cls,
boolean fPlain)
Append the classifier end sequence to the prefix text specified. |
boolean |
canParse()
Can the notation be parsed at all? |
boolean |
canParse(java.lang.Object o)
Can the notation be parsed for this object? |
static java.lang.String |
Generate(java.lang.Object o)
|
java.lang.String |
generateAbstractness(MOperation op)
Generate "abstract" keyword for an abstract operation. |
java.lang.String |
generateAction(java.lang.Object m)
|
java.lang.String |
generateAscEndName(MAssociationEnd ae)
|
java.lang.String |
generateAssociation(MAssociation a)
|
java.lang.String |
generateAssociationEnd(MAssociationEnd ae)
|
java.lang.String |
generateAssociationFrom(MAssociation a,
MAssociationEnd associationEnd)
|
java.lang.String |
generateAssociationRole(MAssociationRole m)
|
java.lang.String |
generateAttribute(MAttribute attr,
boolean documented)
|
java.lang.String |
generateChangability(MStructuralFeature sf)
|
java.lang.String |
generateChangeability(MOperation op)
Generate "final" keyword for final operations. |
java.lang.String |
generateClassifier(MClassifier cls)
Generates code for a classifier. |
protected java.lang.StringBuffer |
generateClassifierBody(MClassifier cls)
Generates the body of a class or interface. |
protected java.lang.StringBuffer |
generateClassifierEnd(MClassifier cls)
|
(package private) java.lang.StringBuffer |
generateClassifierStart(MClassifier cls)
Generate the start sequence for a classifier. |
java.lang.String |
generateClassList(java.util.Collection classifiers)
|
java.lang.String |
generateConcurrency(MOperation op)
Generates "synchronized" keyword for guarded operations. |
java.lang.String |
generateConstraint(MConstraint c)
|
java.lang.String |
generateConstraintEnrichedDocComment(MModelElement me,
MAssociationEnd ae)
Enhance/Create the doccomment for the given model element, including tags for any OCL constraints connected to the model element. |
static java.lang.String |
generateConstraintEnrichedDocComment(java.lang.Object me,
boolean documented,
java.lang.String indent)
Enhance/Create the doccomment for the given model element, including tags for any OCL constraints connected to the model element. |
java.lang.String |
generateConstraints(MModelElement me)
|
java.lang.String |
generateCoreAssociationEnd(MAssociationEnd ae)
|
java.lang.String |
generateCoreAttribute(MAttribute attr)
|
java.lang.String |
generateDefaultReturnStatement(MClassifier cls)
|
java.lang.String |
generateExtensionPoint(MExtensionPoint ep)
Generate code for an extension point. |
java.lang.String |
GenerateFile(java.lang.Object modelElement,
java.lang.String path)
Generates a file for the classifier. |
java.lang.String |
generateGeneralization(java.util.Collection generalizations)
|
java.lang.String |
generateGuard(MGuard m)
|
java.lang.String |
generateHeader(MClassifier cls,
java.lang.String pathname,
java.lang.String packagePath)
|
java.lang.String |
generateImports(MClassifier cls,
java.lang.String packagePath)
|
java.lang.String |
generateImportType(java.lang.Object type,
java.lang.String exclude)
|
java.lang.String |
generateMessage(MMessage m)
|
java.lang.String |
generateMethodBody(MOperation op)
Generate the body of a method associated with the given operation. |
java.lang.String |
generateMultiplicity(MMultiplicity m)
|
java.lang.String |
generateMultiplicityRange(MMultiplicityRange mr)
|
java.lang.String |
generateOperation(MOperation op,
boolean documented)
|
java.lang.String |
generatePackage(MPackage p)
|
java.lang.String |
generateParameter(MParameter parameter)
|
java.lang.String |
generateScope(MFeature f)
|
java.lang.String |
generateSpecification(MClass cls)
|
java.lang.String |
generateState(MState m)
|
java.lang.String |
generateStateBody(MState m)
|
java.lang.String |
generateTaggedValue(MTaggedValue tv)
|
java.lang.String |
generateTaggedValues(MModelElement e)
|
java.lang.String |
generateTransition(MTransition m)
|
java.lang.String |
generateVisibility(MVisibilityKind vis)
|
static GeneratorJava |
getInstance()
|
java.lang.String |
getModuleAuthor()
The module author. |
java.lang.String |
getModuleDescription()
Textual description of the module. |
java.lang.String |
getModuleKey()
The module identifying key |
java.lang.String |
getModuleName()
Display name of the module. |
java.lang.String |
getModuleVersion()
The module version. |
java.lang.String |
getPackageName(java.lang.Object namespace)
Gets the Java package name for a given namespace, ignoring the root namespace (which is the model). |
boolean |
inContext(java.lang.Object[] o)
A function which allows a plug-in to decide if it is available under a specific context. |
boolean |
isLfBeforeCurly()
Returns the _lfBeforeCurly. |
boolean |
isModuleEnabled()
The default for any Generator is to be enabled. |
boolean |
isVerboseDocs()
Returns the _verboseDocs. |
void |
setLfBeforeCurly(boolean _lfBeforeCurly)
Sets the _lfBeforeCurly. |
void |
setVerboseDocs(boolean _verboseDocs)
Sets the _verboseDocs. |
protected static void |
update(MClassifier mClassifier,
java.io.File file)
Update a source code file. |
Methods inherited from class org.argouml.uml.generator.Generator |
---|
generate, generateClassifierRef, generateExpression, generateName, generateStereotype, generateUninterpreted, getCodePath, getGenerator, getModulePopUpActions, getNotation, initializeModule, isTestModus, setModuleEnabled, setTestModus, shutdownModule |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
private static final Logger cat
protected boolean _verboseDocs
protected boolean _lfBeforeCurly
private static final boolean VERBOSE_DOCS
private static final java.lang.String LINE_SEPARATOR
private static boolean _isFileGeneration
private static boolean _isInUpdateMode
private static GeneratorJava SINGLETON
public static final java.lang.String ANY_RANGE
Constructor Detail |
protected GeneratorJava()
Method Detail |
public static GeneratorJava getInstance()
public static java.lang.String Generate(java.lang.Object o)
public java.lang.String GenerateFile(java.lang.Object modelElement, java.lang.String path)
GenerateFile
in interface FileGenerator
public java.lang.String generateHeader(MClassifier cls, java.lang.String pathname, java.lang.String packagePath)
public java.lang.String generateImports(MClassifier cls, java.lang.String packagePath)
public java.lang.String generateImportType(java.lang.Object type, java.lang.String exclude)
public java.lang.String generateExtensionPoint(MExtensionPoint ep)
Generate code for an extension point.
Provided to comply with the interface, but returns null since no code will be generated. This should prevent a source tab being shown.
generateExtensionPoint
in interface NotationProvider
generateExtensionPoint
in class Generator
ep
- The extension point to generate for
public java.lang.String generateAssociationRole(MAssociationRole m)
generateAssociationRole
in interface NotationProvider
public java.lang.String generateOperation(MOperation op, boolean documented)
generateOperation
in interface NotationProvider
generateOperation
in class Generator
public java.lang.String generateAttribute(MAttribute attr, boolean documented)
generateAttribute
in interface NotationProvider
generateAttribute
in class Generator
public java.lang.String generateCoreAttribute(MAttribute attr)
public java.lang.String generateParameter(MParameter parameter)
generateParameter
in interface NotationProvider
generateParameter
in class Generator
public java.lang.String generatePackage(MPackage p)
generatePackage
in interface NotationProvider
generatePackage
in class Generator
java.lang.StringBuffer generateClassifierStart(MClassifier cls)
cls
- the classifier for which to generate the start sequence
protected java.lang.StringBuffer generateClassifierEnd(MClassifier cls)
java.lang.StringBuffer appendClassifierEnd(java.lang.StringBuffer sbPrefix, java.lang.Object cls, boolean fPlain)
sbPrefix
- the prefix text to be amended. It is OK to call append on
this parameter.cls
- the classifier for which to generate the classifier end
sequence. Only classes and interfaces have a classifier
end sequence.fPlain
- if true, only the closing brace is generated. Otherwise,
this may also generate some comments.
public java.lang.String generateClassifier(MClassifier cls)
generateClassifier
in interface NotationProvider
generateClassifier
in class Generator
NotationProvider.generateClassifier(MClassifier)
protected java.lang.StringBuffer generateClassifierBody(MClassifier cls)
cls
-
public java.lang.String generateMethodBody(MOperation op)
public java.lang.String generateDefaultReturnStatement(MClassifier cls)
public java.lang.String generateTaggedValues(MModelElement e)
public java.lang.String generateTaggedValue(MTaggedValue tv)
generateTaggedValue
in interface NotationProvider
generateTaggedValue
in class Generator
public java.lang.String generateConstraintEnrichedDocComment(MModelElement me, MAssociationEnd ae)
me
- the model element for which the documentation comment is neededae
- the association end which is represented by the model element
public static java.lang.String generateConstraintEnrichedDocComment(java.lang.Object me, boolean documented, java.lang.String indent)
me
- the model element for which the documentation comment is neededdocumented
- if existing tagged values should be generated
in addition to javadocindent
- indent String (usually blanks) for indentation of
generated comments
public java.lang.String generateConstraints(MModelElement me)
public java.lang.String generateConstraint(MConstraint c)
public java.lang.String generateAssociationFrom(MAssociation a, MAssociationEnd associationEnd)
public java.lang.String generateAssociation(MAssociation a)
generateAssociation
in interface NotationProvider
generateAssociation
in class Generator
public java.lang.String generateAssociationEnd(MAssociationEnd ae)
generateAssociationEnd
in interface NotationProvider
generateAssociationEnd
in class Generator
public java.lang.String generateCoreAssociationEnd(MAssociationEnd ae)
public java.lang.String generateGeneralization(java.util.Collection generalizations)
public java.lang.String generateSpecification(MClass cls)
public java.lang.String generateClassList(java.util.Collection classifiers)
public java.lang.String generateVisibility(MVisibilityKind vis)
generateVisibility
in interface NotationProvider
generateVisibility
in class Generator
public java.lang.String generateScope(MFeature f)
public java.lang.String generateAbstractness(MOperation op)
public java.lang.String generateChangeability(MOperation op)
public java.lang.String generateChangability(MStructuralFeature sf)
public java.lang.String generateConcurrency(MOperation op)
op
- The operation
public java.lang.String generateMultiplicity(MMultiplicity m)
generateMultiplicity
in interface NotationProvider
generateMultiplicity
in class Generator
public java.lang.String generateMultiplicityRange(MMultiplicityRange mr)
public java.lang.String generateState(MState m)
generateState
in interface NotationProvider
generateState
in class Generator
public java.lang.String generateStateBody(MState m)
generateStateBody
in interface NotationProvider
public java.lang.String generateTransition(MTransition m)
generateTransition
in interface NotationProvider
generateTransition
in class Generator
public java.lang.String generateAction(java.lang.Object m)
generateAction
in interface NotationProvider
generateAction
in class Generator
public java.lang.String generateGuard(MGuard m)
generateGuard
in interface NotationProvider
generateGuard
in class Generator
public java.lang.String generateMessage(MMessage m)
generateMessage
in interface NotationProvider
generateMessage
in class Generator
public java.lang.String generateAscEndName(MAssociationEnd ae)
public java.lang.String getPackageName(java.lang.Object namespace)
namespace
- the namespace
protected static void update(MClassifier mClassifier, java.io.File file) throws java.lang.Exception
mClassifier
- The classifier to update from.file
- The file to update.
java.lang.Exception
public boolean canParse()
NotationProvider
canParse
in interface NotationProvider
public boolean canParse(java.lang.Object o)
NotationProvider
canParse
in interface NotationProvider
public java.lang.String getModuleName()
ArgoModule
getModuleName
in interface ArgoModule
public java.lang.String getModuleDescription()
ArgoModule
getModuleDescription
in interface ArgoModule
public java.lang.String getModuleAuthor()
ArgoModule
getModuleAuthor
in interface ArgoModule
public java.lang.String getModuleVersion()
ArgoModule
getModuleVersion
in interface ArgoModule
public java.lang.String getModuleKey()
ArgoModule
getModuleKey
in interface ArgoModule
public boolean isLfBeforeCurly()
public boolean isVerboseDocs()
public void setLfBeforeCurly(boolean _lfBeforeCurly)
_lfBeforeCurly
- The _lfBeforeCurly to setpublic void setVerboseDocs(boolean _verboseDocs)
_verboseDocs
- The _verboseDocs to setpublic boolean inContext(java.lang.Object[] o)
Pluggable
inContext
in interface Pluggable
inContext
in class Generator
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.
Pluggable.inContext(java.lang.Object[])
public boolean isModuleEnabled()
Generator
isModuleEnabled
in interface ArgoModule
isModuleEnabled
in class Generator
ArgoModule.isModuleEnabled()
|
||||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
ArgoUML © 1996-2004 (20040306) | ArgoUML Homepage | ArgoUML Developers' page | ArgoUML Cookbook |