uci.uml.generate
Class Generator

java.lang.Object
  |
  +--uci.uml.generate.Generator
Direct Known Subclasses:
GeneratorDisplay, GeneratorJava

public abstract class Generator
extends Object

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.


Constructor Summary
Generator()
           
 
Method Summary
 String generate(Object o)
           
abstract  String generateAction(MMAction m)
           
abstract  String generateAssociation(IAssociation a)
           
abstract  String generateAssociationEnd(AssociationEnd ae)
           
abstract  String generateAttribute(Attribute attr)
           
abstract  String generateClassifier(Classifier cls)
           
 String generateClassifierRef(Classifier cls)
           
 String generateExpression(Expression expr)
           
abstract  String generateGuard(Guard m)
           
abstract  String generateMultiplicity(Multiplicity m)
           
 String generateName(Name n)
           
abstract  String generateOperation(Operation op)
           
abstract  String generatePackage(MMPackage p)
           
abstract  String generateParameter(Parameter param)
           
abstract  String generateState(State m)
           
abstract  String generateStereotype(Stereotype s)
           
abstract  String generateTaggedValue(TaggedValue s)
           
abstract  String generateTransition(Transition m)
           
 String generateUninterpreted(Uninterpreted un)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Generator

public Generator()
Method Detail

generate

public String generate(Object o)

generateOperation

public abstract String generateOperation(Operation op)

generateAttribute

public abstract String generateAttribute(Attribute attr)

generateParameter

public abstract String generateParameter(Parameter param)

generatePackage

public abstract String generatePackage(MMPackage p)

generateClassifier

public abstract String generateClassifier(Classifier cls)

generateStereotype

public abstract String generateStereotype(Stereotype s)

generateTaggedValue

public abstract String generateTaggedValue(TaggedValue s)

generateAssociation

public abstract String generateAssociation(IAssociation a)

generateAssociationEnd

public abstract String generateAssociationEnd(AssociationEnd ae)

generateMultiplicity

public abstract String generateMultiplicity(Multiplicity m)

generateState

public abstract String generateState(State m)

generateTransition

public abstract String generateTransition(Transition m)

generateAction

public abstract String generateAction(MMAction m)

generateGuard

public abstract String generateGuard(Guard m)

generateExpression

public String generateExpression(Expression expr)

generateName

public String generateName(Name n)

generateUninterpreted

public String generateUninterpreted(Uninterpreted un)

generateClassifierRef

public String generateClassifierRef(Classifier cls)