org.argouml.language.helpers
Class NotationHelper

java.lang.Object
  |
  +--org.argouml.language.helpers.NotationHelper
All Implemented Interfaces:
NotationProvider

public abstract class NotationHelper
extends java.lang.Object
implements NotationProvider

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
NotationHelper(NotationName notationName)
           
 
Method Summary
 java.lang.String generate(java.lang.Object o)
           
abstract  java.lang.String generateAction(java.lang.Object m)
           
abstract  java.lang.String generateAssociation(MAssociation a)
           
abstract  java.lang.String generateAssociationEnd(MAssociationEnd ae)
           
abstract  java.lang.String generateAttribute(MAttribute attr)
           
abstract  java.lang.String generateClassifier(MClassifier cls)
           
 java.lang.String generateClassifierRef(MClassifier cls)
           
 java.lang.String generateExpression(MExpression expr)
           
abstract  java.lang.String generateGuard(MGuard m)
           
abstract  java.lang.String generateMessage(MMessage m)
           
abstract  java.lang.String generateMultiplicity(MMultiplicity m)
           
 java.lang.String generateName(java.lang.String n)
           
abstract  java.lang.String generateOperation(MOperation op)
           
abstract  java.lang.String generatePackage(MPackage p)
           
abstract  java.lang.String generateParameter(MParameter param)
           
abstract  java.lang.String generateState(MState m)
           
 java.lang.String generateStereotype(MStereotype s)
           
abstract  java.lang.String generateTaggedValue(MTaggedValue s)
           
abstract  java.lang.String generateTransition(MTransition m)
           
 java.lang.String generateUninterpreted(java.lang.String un)
           
static java.lang.String getLeftGuillemot()
           
 NotationName getNotation()
           
static java.lang.String getRightGuillemot()
           
 
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, generateAttribute, generateExtensionPoint, generateOperation, generateStateBody
 

Constructor Detail

NotationHelper

public NotationHelper(NotationName notationName)
Method Detail

getNotation

public NotationName getNotation()
Specified by:
getNotation in interface NotationProvider

generate

public java.lang.String generate(java.lang.Object o)

generateOperation

public abstract java.lang.String generateOperation(MOperation op)

generateAttribute

public abstract java.lang.String generateAttribute(MAttribute attr)

generateParameter

public abstract java.lang.String generateParameter(MParameter param)
Specified by:
generateParameter in interface NotationProvider

generatePackage

public abstract java.lang.String generatePackage(MPackage p)
Specified by:
generatePackage in interface NotationProvider

generateClassifier

public abstract java.lang.String generateClassifier(MClassifier cls)
Specified by:
generateClassifier in interface NotationProvider

generateTaggedValue

public abstract java.lang.String generateTaggedValue(MTaggedValue s)
Specified by:
generateTaggedValue in interface NotationProvider

generateAssociation

public abstract java.lang.String generateAssociation(MAssociation a)
Specified by:
generateAssociation in interface NotationProvider

generateAssociationEnd

public abstract java.lang.String generateAssociationEnd(MAssociationEnd ae)
Specified by:
generateAssociationEnd in interface NotationProvider

generateMultiplicity

public abstract java.lang.String generateMultiplicity(MMultiplicity m)
Specified by:
generateMultiplicity in interface NotationProvider

generateState

public abstract java.lang.String generateState(MState m)
Specified by:
generateState in interface NotationProvider

generateTransition

public abstract java.lang.String generateTransition(MTransition m)
Specified by:
generateTransition in interface NotationProvider

generateAction

public abstract java.lang.String generateAction(java.lang.Object m)
Specified by:
generateAction in interface NotationProvider

generateGuard

public abstract java.lang.String generateGuard(MGuard m)
Specified by:
generateGuard in interface NotationProvider

generateMessage

public abstract java.lang.String generateMessage(MMessage m)
Specified by:
generateMessage in interface NotationProvider

getLeftGuillemot

public static java.lang.String getLeftGuillemot()

getRightGuillemot

public static java.lang.String getRightGuillemot()

generateStereotype

public java.lang.String generateStereotype(MStereotype s)
Specified by:
generateStereotype in interface NotationProvider

generateExpression

public java.lang.String generateExpression(MExpression expr)
Specified by:
generateExpression in interface NotationProvider

generateName

public java.lang.String generateName(java.lang.String n)
Specified by:
generateName in interface NotationProvider

generateUninterpreted

public java.lang.String generateUninterpreted(java.lang.String un)

generateClassifierRef

public java.lang.String generateClassifierRef(MClassifier cls)
Specified by:
generateClassifierRef in interface NotationProvider


ArgoUML © 1996-2003 (20040216)ArgoUML Project HomeArgoUML Cookbook