|
||||||||||||
| 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 NotationProvidergenerateExtensionPoint in class Generatorep - 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 NotationProvidergenerateOperation in class Generator
public java.lang.String generateAttribute(MAttribute attr,
boolean documented)
generateAttribute in interface NotationProvidergenerateAttribute in class Generatorpublic java.lang.String generateCoreAttribute(MAttribute attr)
public java.lang.String generateParameter(MParameter parameter)
generateParameter in interface NotationProvidergenerateParameter in class Generatorpublic java.lang.String generatePackage(MPackage p)
generatePackage in interface NotationProvidergeneratePackage in class Generatorjava.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 NotationProvidergenerateClassifier in class GeneratorNotationProvider.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 NotationProvidergenerateTaggedValue 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 NotationProvidergenerateAssociation in class Generatorpublic java.lang.String generateAssociationEnd(MAssociationEnd ae)
generateAssociationEnd in interface NotationProvidergenerateAssociationEnd in class Generatorpublic 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 NotationProvidergenerateVisibility in class Generatorpublic 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 NotationProvidergenerateMultiplicity in class Generatorpublic java.lang.String generateMultiplicityRange(MMultiplicityRange mr)
public java.lang.String generateState(MState m)
generateState in interface NotationProvidergenerateState in class Generatorpublic java.lang.String generateStateBody(MState m)
generateStateBody in interface NotationProviderpublic java.lang.String generateTransition(MTransition m)
generateTransition in interface NotationProvidergenerateTransition in class Generatorpublic java.lang.String generateAction(java.lang.Object m)
generateAction in interface NotationProvidergenerateAction in class Generatorpublic java.lang.String generateGuard(MGuard m)
generateGuard in interface NotationProvidergenerateGuard in class Generatorpublic java.lang.String generateMessage(MMessage m)
generateMessage in interface NotationProvidergenerateMessage in class Generatorpublic 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.Exceptionpublic boolean canParse()
NotationProvider
canParse in interface NotationProviderpublic boolean canParse(java.lang.Object o)
NotationProvider
canParse in interface NotationProviderpublic java.lang.String getModuleName()
ArgoModule
getModuleName in interface ArgoModulepublic java.lang.String getModuleDescription()
ArgoModule
getModuleDescription in interface ArgoModulepublic java.lang.String getModuleAuthor()
ArgoModule
getModuleAuthor in interface ArgoModulepublic java.lang.String getModuleVersion()
ArgoModule
getModuleVersion in interface ArgoModulepublic java.lang.String getModuleKey()
ArgoModule
getModuleKey in interface ArgoModulepublic 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 PluggableinContext in class Generatoro - 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 ArgoModuleisModuleEnabled in class GeneratorArgoModule.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 |