de.jiac.micro.config.generator
Class ConfigurationGenerator

java.lang.Object
  extended by de.jiac.micro.config.generator.ConfigurationGenerator

public class ConfigurationGenerator
extends Object

Like all other generator classes, this one is a mess. So far, I hadn't any idea how to make it more readable/maintainable :-/

Version:
$Revision$
Author:
Erdene-Ochir Tuguldur, Marcel Patzlaff

Method Summary
static AbstractConfiguration[] execute(File rootDirectory, String applicationNamespace, ClassLoader loader, org.slf4j.Logger log)
          Return the array of descriptors for each generated configuration.
static AbstractConfiguration[] execute(String applicationNamespace, ClassLoader loader, org.slf4j.Logger log)
          Return the array of generated node configurations.
 AbstractConfiguration[] generate(File targetDir, String packageName, de.dailab.jiac.common.aamm.resolve.MergedConfiguration configuration)
           
 AbstractConfiguration[] generate(String packageName, de.dailab.jiac.common.aamm.resolve.MergedConfiguration configuration)
           
protected  void visitAgent(de.dailab.jiac.common.aamm.resolve.MergedConfiguration configuration, PrintWriter writer, de.dailab.jiac.common.aamm.ReferencableAgentType agentType, String packageName, String className)
           
protected  void visitListProperty(String indent, PrintWriter writer, String variable, de.dailab.jiac.common.aamm.ListPropertyType listPropertyType, HashSet<de.dailab.jiac.common.aamm.ext.Reference> toProcess)
           
protected  void visitMapProperty(String indent, PrintWriter writer, String variable, de.dailab.jiac.common.aamm.MapPropertyType mapPropertyType, HashSet<de.dailab.jiac.common.aamm.ext.Reference> toProcess)
           
protected  void visitNode(de.dailab.jiac.common.aamm.resolve.MergedConfiguration configuration, PrintWriter writer, de.dailab.jiac.common.aamm.ReferencableNodeType nodeType, String packageName, String className, HashSet<String> fullQualifiedAgentConfigurationNames)
           
protected  void visitObject(String indent, PrintWriter writer, de.dailab.jiac.common.aamm.resolve.MergedConfiguration config, de.dailab.jiac.common.aamm.ext.Reference ref, HashSet<de.dailab.jiac.common.aamm.ext.Reference> toProcess)
           
protected  void visitObjectProperty(String indent, PrintWriter writer, String variable, de.dailab.jiac.common.aamm.ReferencePropertyType objectReferencePropertyType, HashSet<de.dailab.jiac.common.aamm.ext.Reference> toProcess)
           
protected  void visitSimpleProperty(String indent, PrintWriter writer, String variable, de.dailab.jiac.common.aamm.SimplePropertyType simplePropertyType)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

generate

public AbstractConfiguration[] generate(String packageName,
                                        de.dailab.jiac.common.aamm.resolve.MergedConfiguration configuration)
                                 throws de.dailab.jiac.common.aamm.resolve.ResolutionException
Throws:
de.dailab.jiac.common.aamm.resolve.ResolutionException

generate

public AbstractConfiguration[] generate(File targetDir,
                                        String packageName,
                                        de.dailab.jiac.common.aamm.resolve.MergedConfiguration configuration)
                                 throws IOException,
                                        de.dailab.jiac.common.aamm.resolve.ResolutionException
Throws:
IOException
de.dailab.jiac.common.aamm.resolve.ResolutionException

visitNode

protected void visitNode(de.dailab.jiac.common.aamm.resolve.MergedConfiguration configuration,
                         PrintWriter writer,
                         de.dailab.jiac.common.aamm.ReferencableNodeType nodeType,
                         String packageName,
                         String className,
                         HashSet<String> fullQualifiedAgentConfigurationNames)

visitAgent

protected void visitAgent(de.dailab.jiac.common.aamm.resolve.MergedConfiguration configuration,
                          PrintWriter writer,
                          de.dailab.jiac.common.aamm.ReferencableAgentType agentType,
                          String packageName,
                          String className)
                   throws de.dailab.jiac.common.aamm.resolve.ResolutionException
Throws:
de.dailab.jiac.common.aamm.resolve.ResolutionException

visitObject

protected void visitObject(String indent,
                           PrintWriter writer,
                           de.dailab.jiac.common.aamm.resolve.MergedConfiguration config,
                           de.dailab.jiac.common.aamm.ext.Reference ref,
                           HashSet<de.dailab.jiac.common.aamm.ext.Reference> toProcess)

visitSimpleProperty

protected void visitSimpleProperty(String indent,
                                   PrintWriter writer,
                                   String variable,
                                   de.dailab.jiac.common.aamm.SimplePropertyType simplePropertyType)

visitListProperty

protected void visitListProperty(String indent,
                                 PrintWriter writer,
                                 String variable,
                                 de.dailab.jiac.common.aamm.ListPropertyType listPropertyType,
                                 HashSet<de.dailab.jiac.common.aamm.ext.Reference> toProcess)

visitMapProperty

protected void visitMapProperty(String indent,
                                PrintWriter writer,
                                String variable,
                                de.dailab.jiac.common.aamm.MapPropertyType mapPropertyType,
                                HashSet<de.dailab.jiac.common.aamm.ext.Reference> toProcess)

visitObjectProperty

protected void visitObjectProperty(String indent,
                                   PrintWriter writer,
                                   String variable,
                                   de.dailab.jiac.common.aamm.ReferencePropertyType objectReferencePropertyType,
                                   HashSet<de.dailab.jiac.common.aamm.ext.Reference> toProcess)

execute

public static AbstractConfiguration[] execute(String applicationNamespace,
                                              ClassLoader loader,
                                              org.slf4j.Logger log)
                                       throws Exception
Return the array of generated node configurations.

Parameters:
applicationNamespace - the namespace where the application definition is located
loader - the classloader which has access to all required resources and classes
log - the log that outputs the plugin informations
Returns:
full-qualified class names of all generated node configurations
Throws:
Exception - if an error occures during execution

execute

public static AbstractConfiguration[] execute(File rootDirectory,
                                              String applicationNamespace,
                                              ClassLoader loader,
                                              org.slf4j.Logger log)
                                       throws Exception
Return the array of descriptors for each generated configuration.

Parameters:
rootDirectory - the directory to place the package and classes into
applicationNamespace - the namespace where the application definition is located
loader - the classloader which has access to all required resources and classes
log - the log that outputs the plugin informations
Returns:
descriptors of the generated configurations
Throws:
Exception - if an error occures during execution


Copyright © 2008-2011 DAI-Labor. All Rights Reserved.