com.neeve.tools
Class AdmCodeGenerator

java.lang.Object
  extended by com.neeve.root.RootObject
      extended by com.neeve.adm.AdmObject
          extended by com.neeve.tools.AdmCodeGenerator

public final class AdmCodeGenerator
extends com.neeve.adm.AdmObject

Contains code generation routines. Can be used as main entry point for running as JVM process or be instantiated/invoked from Java code.


Nested Class Summary
 class AdmCodeGenerator.CodeGenerateEvent
          Holds event data for code generation events.
static class AdmCodeGenerator.CodeGenerateEventType
          Code generation steps that external listener can listen for.
static interface AdmCodeGenerator.CodegenListener
          Event listener for code generation events.
static class AdmCodeGenerator.GenerateParameter
          Contains definitions of all parameters of code generator
 
Field Summary
static com.neeve.build.codegen.CgBuildParameters CODEGEN_PARAMS
          Defines all parameters of codegenerator which is a union of code generator params listed in AdmCodeGenerator.GenerateParameter and AdmModel.DIRECTIVE_DEFINITIONS.
 
Constructor Summary
AdmCodeGenerator()
           
 
Method Summary
 void generate()
          Runs code generation after validating input arguments.
static void generate(File modelfile, File modelsdir, File outdir, com.neeve.adm.AdmEncodingType encodingType, com.neeve.adm.AdmEncodingType xpcompat, boolean emptyifnullarray, String namespace, boolean absolute, String protodir, Map<String,String> directives, String buildInfo, boolean incrementalBuild)
          Deprecated. Please use generate() instead.
static void generate(URL modelUrl, File modelsdir, File outdir, com.neeve.adm.AdmEncodingType encodingType, com.neeve.adm.AdmEncodingType xpcompat, boolean emptyifnullarray, String namespace, boolean absolute, String protodir, Map<String,String> directives, String buildInfo, boolean incrementalBuild)
          Deprecated. Please use generate() instead.
static void main(String[] args)
           
 AdmCodeGenerator setArgument(String name, Object value)
          Sets argument for code generation.
 void setArguments(Map<String,Object> arguments)
          Adds all arguments from supplied map.
 
Methods inherited from class com.neeve.root.RootObject
getChecked, getThreaded, getTracer, setChecked, setTracer
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CODEGEN_PARAMS

public static final com.neeve.build.codegen.CgBuildParameters CODEGEN_PARAMS
Defines all parameters of codegenerator which is a union of code generator params listed in AdmCodeGenerator.GenerateParameter and AdmModel.DIRECTIVE_DEFINITIONS. This instance should be used as read-only to get available options from code generator. Arguments set directly to it will be ignored.

Constructor Detail

AdmCodeGenerator

public AdmCodeGenerator()
Method Detail

generate

@Deprecated
public static void generate(File modelfile,
                                       File modelsdir,
                                       File outdir,
                                       com.neeve.adm.AdmEncodingType encodingType,
                                       com.neeve.adm.AdmEncodingType xpcompat,
                                       boolean emptyifnullarray,
                                       String namespace,
                                       boolean absolute,
                                       String protodir,
                                       Map<String,String> directives,
                                       String buildInfo,
                                       boolean incrementalBuild)
                     throws Exception
Deprecated. Please use generate() instead.

Throws:
Exception

generate

@Deprecated
public static void generate(URL modelUrl,
                                       File modelsdir,
                                       File outdir,
                                       com.neeve.adm.AdmEncodingType encodingType,
                                       com.neeve.adm.AdmEncodingType xpcompat,
                                       boolean emptyifnullarray,
                                       String namespace,
                                       boolean absolute,
                                       String protodir,
                                       Map<String,String> directives,
                                       String buildInfo,
                                       boolean incrementalBuild)
                     throws Exception
Deprecated. Please use generate() instead.

Throws:
Exception

setArguments

public void setArguments(Map<String,Object> arguments)
Adds all arguments from supplied map. If argument of matching name is already added, it will be overwritten.

Parameters:
arguments - map of arguments

setArgument

public AdmCodeGenerator setArgument(String name,
                                    Object value)
Sets argument for code generation.

Parameters:
name - Parameter name.
value - Argument value.
Returns:
AdmCodeGenerator instance for which method is called.

generate

public void generate()
              throws Exception
Runs code generation after validating input arguments. Before running this method, caller should call setArgument(String, Object) or setArguments(Map) to set values of all input parameters.

Throws:
Exception - in case of code generation errors such as parse errors, missing files etc.

main

public static void main(String[] args)


Copyright © 2016 Neeve Research, LLC. All Rights Reserved.