cb.generator
Class Factory
java.lang.Object
|
+--cb.generator.Factory
- public class Factory
- extends java.lang.Object
Factory for classes, methods, etc., it also contains methods to add
relationships, like uses/realize relationships. If you don't like
the way the default factory works just subclass it, and call
setInstance() (before creating the generator, of course).
- Version:
- $Id: Factory.java,v 1.6 2001/06/27 12:56:35 dahm Exp $
- Author:
- M. Dahm
Field Summary |
protected int |
counter
|
protected java.util.HashMap |
quid_map
Register created objects by the quid of the petal object |
Constructor Summary |
protected |
Factory()
|
Method Summary |
void |
addAssociation(Class class1,
Role role1,
Class class2,
Role role2,
Class assoc_class)
Simply maps association to a newly generated class that maintains the connections. |
void |
addField(Class c,
Field field)
|
void |
addImplementedInterface(Class c,
Class super_class)
|
void |
addMethod(Class c,
Method m)
|
void |
addObject(java.lang.String quid,
Node obj)
|
void |
addRealizedClass(Class c,
Class super_class)
Alias for addImplementedInterface() |
void |
addSuperClass(Class c,
Class super_class)
|
void |
addUsedClass(Class c,
Class used_class,
UsesRelationship rel)
|
Class |
createClass(Class clazz)
|
Class |
createClass(Class clazz,
java.lang.String name,
java.lang.String pack,
java.lang.String acc,
boolean is_interface)
|
Field |
createField(ClassAttribute attr)
|
Field |
createField(ClassAttribute attr,
java.lang.String name,
java.lang.String type,
java.lang.String acc,
java.lang.String init)
|
Method |
createMethod(Operation op)
|
Method |
createMethod(Operation op,
java.lang.String name,
java.lang.String type,
java.lang.String acc,
java.util.List params)
|
Parameter |
createParameter(Parameter p)
|
Parameter |
createParameter(java.lang.String name,
java.lang.String type)
|
Method[] |
createSetGetMethods(java.lang.String name,
java.lang.String type)
|
protected java.awt.Dimension |
getCardinality(Role role)
|
protected java.lang.String |
getClassName(Class clazz)
|
static Factory |
getInstance()
|
Node |
getObject(java.lang.String quid)
|
java.util.Collection |
getObjects()
|
protected java.lang.String |
makeName(java.lang.String name)
Convert Rose identifier to normal one. |
protected java.lang.String[] |
makeNames(java.lang.String qual)
Convert fully qualified rose name (with "foo::bar") |
void |
removeObject(java.lang.String quid)
|
static void |
setInstance(Factory f)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
quid_map
protected java.util.HashMap quid_map
- Register created objects by the quid of the petal object
counter
protected int counter
Factory
protected Factory()
addObject
public void addObject(java.lang.String quid,
Node obj)
removeObject
public void removeObject(java.lang.String quid)
getObject
public Node getObject(java.lang.String quid)
getObjects
public java.util.Collection getObjects()
getInstance
public static Factory getInstance()
setInstance
public static void setInstance(Factory f)
getClassName
protected java.lang.String getClassName(Class clazz)
makeName
protected java.lang.String makeName(java.lang.String name)
- Convert Rose identifier to normal one.
makeNames
protected java.lang.String[] makeNames(java.lang.String qual)
- Convert fully qualified rose name (with "foo::bar")
- Returns:
- tuple (class name, package name)
createClass
public Class createClass(Class clazz,
java.lang.String name,
java.lang.String pack,
java.lang.String acc,
boolean is_interface)
createClass
public Class createClass(Class clazz)
createMethod
public Method createMethod(Operation op,
java.lang.String name,
java.lang.String type,
java.lang.String acc,
java.util.List params)
createMethod
public Method createMethod(Operation op)
createParameter
public Parameter createParameter(java.lang.String name,
java.lang.String type)
createParameter
public Parameter createParameter(Parameter p)
createField
public Field createField(ClassAttribute attr,
java.lang.String name,
java.lang.String type,
java.lang.String acc,
java.lang.String init)
createField
public Field createField(ClassAttribute attr)
addSuperClass
public void addSuperClass(Class c,
Class super_class)
addImplementedInterface
public final void addImplementedInterface(Class c,
Class super_class)
addRealizedClass
public void addRealizedClass(Class c,
Class super_class)
- Alias for addImplementedInterface()
createSetGetMethods
public Method[] createSetGetMethods(java.lang.String name,
java.lang.String type)
getCardinality
protected java.awt.Dimension getCardinality(Role role)
addAssociation
public void addAssociation(Class class1,
Role role1,
Class class2,
Role role2,
Class assoc_class)
- Simply maps association to a newly generated class that maintains the connections.
If the association has an association class no new class is generated.
Also adds access methods to the corresponding classes.
TODO: Does not regard multiple associations between classes, cardinality
currently not checked.
addUsedClass
public void addUsedClass(Class c,
Class used_class,
UsesRelationship rel)
addField
public void addField(Class c,
Field field)
addMethod
public void addMethod(Class c,
Method m)