org.granite.generator.as3
Class JavaClientGroovyTransformer

java.lang.Object
  extended by org.granite.generator.Transformer<I,O,C>
      extended by org.granite.generator.gsp.AbstractGroovyTransformer<JavaAs3Input,JavaAs3Output,JavaAs3GroovyConfiguration>
          extended by org.granite.generator.as3.JavaClientGroovyTransformer
All Implemented Interfaces:
JavaTypeFactory
Direct Known Subclasses:
JavaAs3GroovyTransformer, JavaGroovyTransformer

public abstract class JavaClientGroovyTransformer
extends AbstractGroovyTransformer<JavaAs3Input,JavaAs3Output,JavaAs3GroovyConfiguration>
implements JavaTypeFactory

Author:
Franck WOLFF

Field Summary
protected  Map<String,JavaImport> javaImports
           
protected  Map<String,JavaImport> javaPropertyImports
           
protected  Map<Class<?>,JavaType> javaTypes
           
 
Constructor Summary
JavaClientGroovyTransformer()
           
JavaClientGroovyTransformer(JavaAs3GroovyConfiguration config, Listener listener)
           
 
Method Summary
 boolean accept(Input<?> input)
           
protected  void generate(JavaAs3Input input, JavaAs3Output output)
           
 ClientType getAs3Type(Class<?> clazz)
           
protected  Map<String,Object> getBindings(JavaAs3Input input, JavaAs3Output output)
           
 ClientType getClientType(Type type, Class<?> declaringClass, ParameterizedType[] declaringTypes, PropertyType propertyType)
           
protected  JavaAbstractType.GenerationType getGenerationType(Class<?> clazz)
           
 JavaAbstractType.GenerationType getGenerationType(JavaType.Kind kind, Class<?> clazz)
           
 JavaImport getJavaImport(Class<?> clazz)
           
 Set<JavaImport> getJavaImports(ClientType clientType, boolean property)
           
 JavaType getJavaType(Class<?> clazz)
           
 List<JavaInterface> getJavaTypeInterfaces(Class<?> clazz)
           
 JavaType getJavaTypeSuperclass(Class<?> clazz)
           
 JavaType.Kind getKind(Class<?> clazz)
           
protected  File getOutputDir(JavaAs3Input input, GroovyTemplate template)
           
protected abstract  File getOutputFile(JavaAs3Input input, GroovyTemplate template, File outputDir)
           
protected  String getOutputFileSuffix(JavaAs3Input input, GroovyTemplate template)
           
protected  JavaAs3Output[] getOutputs(JavaAs3Input input)
           
protected  String getOutputStatus(JavaAs3Input input, GroovyTemplate template, File outputFile, boolean hasBaseTemplate)
           
protected  TemplateUri[] getTemplateUris(JavaType javaType)
           
 boolean isId(JavaFieldProperty fieldProperty)
           
 boolean isLazy(JavaProperty property)
           
protected  boolean isOutdated(JavaAs3Input input, GroovyTemplate template, File outputFile, boolean hasBaseTemplate)
           
 boolean isUid(JavaProperty property)
           
 boolean isVersion(JavaProperty property)
           
 
Methods inherited from class org.granite.generator.gsp.AbstractGroovyTransformer
getTemplate, getTemplate, getTemplateFactory
 
Methods inherited from class org.granite.generator.Transformer
equals, generate, getConfig, getListener, hashCode, setConfig, setListener, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

javaTypes

protected final Map<Class<?>,JavaType> javaTypes

javaImports

protected final Map<String,JavaImport> javaImports

javaPropertyImports

protected final Map<String,JavaImport> javaPropertyImports
Constructor Detail

JavaClientGroovyTransformer

public JavaClientGroovyTransformer()

JavaClientGroovyTransformer

public JavaClientGroovyTransformer(JavaAs3GroovyConfiguration config,
                                   Listener listener)
Method Detail

accept

public boolean accept(Input<?> input)
Specified by:
accept in class Transformer<JavaAs3Input,JavaAs3Output,JavaAs3GroovyConfiguration>

getOutputs

protected JavaAs3Output[] getOutputs(JavaAs3Input input)
                              throws IOException,
                                     TemplateUriException
Specified by:
getOutputs in class Transformer<JavaAs3Input,JavaAs3Output,JavaAs3GroovyConfiguration>
Throws:
IOException
TemplateUriException

generate

protected void generate(JavaAs3Input input,
                        JavaAs3Output output)
                 throws IOException,
                        TemplateException
Specified by:
generate in class Transformer<JavaAs3Input,JavaAs3Output,JavaAs3GroovyConfiguration>
Throws:
IOException
TemplateException

getBindings

protected Map<String,Object> getBindings(JavaAs3Input input,
                                         JavaAs3Output output)

getTemplateUris

protected TemplateUri[] getTemplateUris(JavaType javaType)

getOutputDir

protected File getOutputDir(JavaAs3Input input,
                            GroovyTemplate template)

getOutputFile

protected abstract File getOutputFile(JavaAs3Input input,
                                      GroovyTemplate template,
                                      File outputDir)

getOutputFileSuffix

protected String getOutputFileSuffix(JavaAs3Input input,
                                     GroovyTemplate template)

isOutdated

protected boolean isOutdated(JavaAs3Input input,
                             GroovyTemplate template,
                             File outputFile,
                             boolean hasBaseTemplate)

getOutputStatus

protected String getOutputStatus(JavaAs3Input input,
                                 GroovyTemplate template,
                                 File outputFile,
                                 boolean hasBaseTemplate)

getClientType

public ClientType getClientType(Type type,
                                Class<?> declaringClass,
                                ParameterizedType[] declaringTypes,
                                PropertyType propertyType)
Specified by:
getClientType in interface JavaTypeFactory

getAs3Type

public ClientType getAs3Type(Class<?> clazz)
Specified by:
getAs3Type in interface JavaTypeFactory

getJavaImport

public JavaImport getJavaImport(Class<?> clazz)
Specified by:
getJavaImport in interface JavaTypeFactory

getJavaImports

public Set<JavaImport> getJavaImports(ClientType clientType,
                                      boolean property)
Specified by:
getJavaImports in interface JavaTypeFactory

getJavaType

public JavaType getJavaType(Class<?> clazz)
Specified by:
getJavaType in interface JavaTypeFactory

getKind

public JavaType.Kind getKind(Class<?> clazz)
Specified by:
getKind in interface JavaTypeFactory

getGenerationType

protected JavaAbstractType.GenerationType getGenerationType(Class<?> clazz)

getGenerationType

public JavaAbstractType.GenerationType getGenerationType(JavaType.Kind kind,
                                                         Class<?> clazz)
Specified by:
getGenerationType in interface JavaTypeFactory

getJavaTypeInterfaces

public List<JavaInterface> getJavaTypeInterfaces(Class<?> clazz)
Specified by:
getJavaTypeInterfaces in interface JavaTypeFactory

getJavaTypeSuperclass

public JavaType getJavaTypeSuperclass(Class<?> clazz)
Specified by:
getJavaTypeSuperclass in interface JavaTypeFactory

isId

public boolean isId(JavaFieldProperty fieldProperty)
Specified by:
isId in interface JavaTypeFactory

isUid

public boolean isUid(JavaProperty property)
Specified by:
isUid in interface JavaTypeFactory

isVersion

public boolean isVersion(JavaProperty property)
Specified by:
isVersion in interface JavaTypeFactory

isLazy

public boolean isLazy(JavaProperty property)
Specified by:
isLazy in interface JavaTypeFactory