|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.ObjectEDU.utwente.CoCompose.lang.ModelVisitor
EDU.utwente.CoCompose.translate.GenerateImplementationVisitor
Abstract Generate Implementation visitor for generating implementation from CoCompose Models.
Field Summary | |
protected FormConstraintsVisitor |
constraintCheck
The form checking visitor needed to check constraints |
static java.lang.String |
Indent
Indentation string (two spaces by default). |
static java.lang.String |
OUTPUT_DIR
File output directory for all generated implementation files. |
Fields inherited from class EDU.utwente.CoCompose.lang.ModelVisitor |
log |
Constructor Summary | |
GenerateImplementationVisitor()
Constructs a GenerateImplementationVisitor. |
Method Summary | |
protected void |
dumpImplementation(Model model,
java.lang.String outdir)
Dumps the implementation on standard out. |
protected java.util.Hashtable |
getForms()
Gets the concept forms in the model: Concept |-> String. |
java.lang.String |
getImpl(Concept concept)
Gets the implementation for a concept. |
java.lang.String |
getImpl(UniqueRealm realm)
Gets the implementation for a unique realm. |
protected java.lang.String |
getImplementation(Concept concept,
java.lang.String form,
boolean indent)
Gets the first working implementation for the given concept and returns its contents. |
protected java.lang.String |
getImplementation(Implementation impl)
Checks and returns the implementation content, if check ok. |
protected java.util.Hashtable |
getImpls()
Gets the implementations for the concepts and unique realms. |
abstract java.lang.String |
getTargetLanguage()
Returns the target language this GenerateImplementationVisitor supports. |
java.lang.String |
indent(java.lang.String impl)
Returns an indented implementation. |
protected void |
removeForm(Concept concept)
Removes a concept form mapping. |
protected void |
setForm(Concept concept,
java.lang.String form)
Sets a concept form for a concept. |
void |
setImpl(Concept concept,
java.lang.String implementation)
Sets the implementation for a Concept. |
void |
setImpl(UniqueRealm realm,
java.lang.String implementation)
Sets the implementation for a UniqueRealm. |
void |
visitComposite(Composite composite)
Generates implementation for a Composite object. |
void |
visitConcept(Concept concept)
Generates implementation for a Concept object. |
void |
visitImplementation(Implementation implementation)
Generates implementation for an Implementation object. |
void |
visitImplementationGenerator(ImplementationGenerator implementation)
Generates implementation for an ImplementationGenerator object. |
void |
visitModel(Model model)
Visits a Model object. |
protected void |
writeFile(java.lang.String dir,
java.lang.String filename,
java.lang.String content)
Writes the content to the designed file. |
Methods inherited from class EDU.utwente.CoCompose.lang.ModelVisitor |
getUpdate, run, setErrorReporter, setLogger, setUpdate, startModel, visitAbstractConcept, visitCompositePartConcept, visitCompositeRole, visitConstrainedConcept, visitImplementationRolePart, visitLink, visitPublishedConcept, visitSolutionPattern, visitSolutionRole |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final java.lang.String Indent
public static final java.lang.String OUTPUT_DIR
protected FormConstraintsVisitor constraintCheck
Constructor Detail |
public GenerateImplementationVisitor()
Method Detail |
protected java.util.Hashtable getForms()
protected void setForm(Concept concept, java.lang.String form)
concept
- The concept to set the form for.form
- The concept form to set.protected void removeForm(Concept concept)
concept
- The concept to remove.protected java.util.Hashtable getImpls()
protected java.lang.String getImplementation(Concept concept, java.lang.String form, boolean indent)
concept
- The concept to get the implementation for.form
- The concept form that the implementation must implement.indent
- If true, returns indented implementation.
protected java.lang.String getImplementation(Implementation impl) throws CoComposeException
impl
- - the implementation to check
CoComposeException
- if check not okprotected void writeFile(java.lang.String dir, java.lang.String filename, java.lang.String content) throws CoComposeException
dir
- The file directory.filename
- The file name.content
- The file content to write.
CoComposeException
- if writing failed.protected void dumpImplementation(Model model, java.lang.String outdir) throws CoComposeException
model
- The model to dump the implementation for.outdir
- The directory to save the dump file.
CoComposeException
- if writing the implementation dump failed.public abstract java.lang.String getTargetLanguage()
public java.lang.String indent(java.lang.String impl)
impl
- The current implementation.
public void setImpl(Concept concept, java.lang.String implementation)
concept
- The concept to set the implementation for.implementation
- The implementation to set.public void setImpl(UniqueRealm realm, java.lang.String implementation)
realm
- The unique realm to set the implementation for.implementation
- The implementation to set.public java.lang.String getImpl(Concept concept)
public java.lang.String getImpl(UniqueRealm realm)
public void visitModel(Model model) throws CoComposeException
visitModel
in class ModelVisitor
model
- The model to visit.
CoComposeException
- if visiting operation failed.public void visitConcept(Concept concept) throws CoComposeException
visitConcept
in class ModelVisitor
concept
- The concept to visit.
CoComposeException
- if generating implementation failed.public void visitComposite(Composite composite) throws CoComposeException
visitComposite
in class ModelVisitor
composite
- The composite to visit.
CoComposeException
- if generating implementation failed.public void visitImplementation(Implementation implementation) throws CoComposeException
visitImplementation
in class ModelVisitor
implementation
- The concept implementation to visit.
CoComposeException
- if generating implementation failed.public void visitImplementationGenerator(ImplementationGenerator implementation) throws CoComposeException
visitImplementationGenerator
in class ModelVisitor
implementation
- The implementation generator to visit.
CoComposeException
- if generating implementation failed.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |