Package com.nickrobison.tuple.codegen
Class TupleCodeGenerator
- java.lang.Object
-
- org.codehaus.commons.compiler.Cookable
-
- org.codehaus.janino.SimpleCompiler
-
- org.codehaus.janino.ClassBodyEvaluator
-
- com.nickrobison.tuple.codegen.TupleCodeGenerator
-
- All Implemented Interfaces:
org.codehaus.commons.compiler.IClassBodyEvaluator
,org.codehaus.commons.compiler.ICookable
,org.codehaus.commons.compiler.ISimpleCompiler
- Direct Known Subclasses:
DirectTupleCodeGenerator
,HeapTupleCodeGenerator
public abstract class TupleCodeGenerator extends org.codehaus.janino.ClassBodyEvaluator
Created by cliff on 5/3/14.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.String
className
protected java.lang.String[]
fieldNames
protected java.lang.Class[]
fieldTypes
protected java.lang.Class
iface
static java.lang.String
INDEX
protected org.codehaus.commons.compiler.Location
loc
protected static java.lang.Class[]
types
static java.lang.String
VALUE
-
Constructor Summary
Constructors Modifier Constructor Description protected
TupleCodeGenerator(java.lang.Class iface, java.lang.String[] fieldNames, java.lang.Class[] fieldTypes)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected java.lang.String
capitalize(java.lang.String st)
protected org.codehaus.janino.Java.Type
classToRefType(java.lang.Class type)
java.lang.Class
cookToClass()
protected org.codehaus.janino.Java.SwitchStatement.SwitchBlockStatementGroup
generateDefaultCase()
protected abstract org.codehaus.janino.Java.FieldDeclaration[]
generateFields()
protected abstract org.codehaus.janino.Java.Rvalue
generateGetInvocation(java.lang.Class type, int index)
protected org.codehaus.janino.Java.MethodDeclarator
generateGetter(java.lang.String name, java.lang.Class type, int index)
protected org.codehaus.janino.Java.MethodDeclarator
generateIndexedGetter()
protected abstract java.util.List<org.codehaus.janino.Java.SwitchStatement.SwitchBlockStatementGroup>
generateIndexedGetterImpl()
protected abstract java.util.List<org.codehaus.janino.Java.SwitchStatement.SwitchBlockStatementGroup>
generateIndexedGetterImpl(java.lang.Class type)
protected org.codehaus.janino.Java.MethodDeclarator
generateIndexedSetter()
protected abstract java.util.List<org.codehaus.janino.Java.SwitchStatement.SwitchBlockStatementGroup>
generateIndexedSetterImpl(java.lang.String value)
protected abstract java.util.List<org.codehaus.janino.Java.SwitchStatement.SwitchBlockStatementGroup>
generateIndexedSetterImpl(java.lang.String value, java.lang.Class type)
protected java.util.List<org.codehaus.janino.Java.MethodDeclarator>
generateIndexedTypedGetters()
protected java.util.List<org.codehaus.janino.Java.MethodDeclarator>
generateIndexedTypedSetters()
protected abstract org.codehaus.janino.Java.Rvalue
generateSetInvocation(java.lang.Class type, int index, java.lang.String value)
protected org.codehaus.janino.Java.MethodDeclarator
generateSetter(java.lang.String name, java.lang.Class type, int index)
protected org.codehaus.janino.Java.CompilationUnit
makeCompilationUnit()
protected org.codehaus.janino.Java.Primitive
primIndex(java.lang.Class type)
protected java.lang.String
primToBox(java.lang.Class type)
-
Methods inherited from class org.codehaus.janino.ClassBodyEvaluator
addPackageMemberClassDeclaration, compileToClass, cook, createFastClassBodyEvaluator, createFastClassBodyEvaluator, createInstance, getClazz, makeCompilationUnit, setClassName, setDefaultImports, setExtendedClass, setExtendedType, setImplementedInterfaces, setImplementedTypes
-
Methods inherited from class org.codehaus.janino.SimpleCompiler
classesToTypes, classToType, compileToClassLoader, cook, cook, cook, cook, equals, getClassLoader, hashCode, main, optionalClassToType, options, options, setCompileErrorHandler, setDebuggingInformation, setNoPermissions, setParentClassLoader, setPermissions, setWarningHandler
-
Methods inherited from class org.codehaus.commons.compiler.Cookable
cook, cook, cook, cook, cook, cook, cook, cookFile, cookFile, cookFile, cookFile, readString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
-
-
-
Field Detail
-
VALUE
public static final java.lang.String VALUE
- See Also:
- Constant Field Values
-
INDEX
public static final java.lang.String INDEX
- See Also:
- Constant Field Values
-
types
protected static java.lang.Class[] types
-
iface
protected java.lang.Class iface
-
fieldNames
protected java.lang.String[] fieldNames
-
fieldTypes
protected java.lang.Class[] fieldTypes
-
loc
protected org.codehaus.commons.compiler.Location loc
-
className
protected java.lang.String className
-
-
Method Detail
-
generateFields
protected abstract org.codehaus.janino.Java.FieldDeclaration[] generateFields()
-
cookToClass
public java.lang.Class cookToClass() throws org.codehaus.commons.compiler.CompileException
- Throws:
org.codehaus.commons.compiler.CompileException
-
makeCompilationUnit
protected org.codehaus.janino.Java.CompilationUnit makeCompilationUnit() throws org.codehaus.commons.compiler.CompileException
- Throws:
org.codehaus.commons.compiler.CompileException
-
generateIndexedGetter
protected org.codehaus.janino.Java.MethodDeclarator generateIndexedGetter() throws org.codehaus.commons.compiler.CompileException
- Throws:
org.codehaus.commons.compiler.CompileException
-
generateIndexedTypedGetters
protected java.util.List<org.codehaus.janino.Java.MethodDeclarator> generateIndexedTypedGetters() throws org.codehaus.commons.compiler.CompileException
- Throws:
org.codehaus.commons.compiler.CompileException
-
generateIndexedTypedSetters
protected java.util.List<org.codehaus.janino.Java.MethodDeclarator> generateIndexedTypedSetters() throws org.codehaus.commons.compiler.CompileException
- Throws:
org.codehaus.commons.compiler.CompileException
-
generateIndexedSetter
protected org.codehaus.janino.Java.MethodDeclarator generateIndexedSetter() throws org.codehaus.commons.compiler.CompileException
- Throws:
org.codehaus.commons.compiler.CompileException
-
generateIndexedGetterImpl
protected abstract java.util.List<org.codehaus.janino.Java.SwitchStatement.SwitchBlockStatementGroup> generateIndexedGetterImpl() throws org.codehaus.commons.compiler.CompileException
- Throws:
org.codehaus.commons.compiler.CompileException
-
generateIndexedGetterImpl
protected abstract java.util.List<org.codehaus.janino.Java.SwitchStatement.SwitchBlockStatementGroup> generateIndexedGetterImpl(java.lang.Class type) throws org.codehaus.commons.compiler.CompileException
- Throws:
org.codehaus.commons.compiler.CompileException
-
generateIndexedSetterImpl
protected abstract java.util.List<org.codehaus.janino.Java.SwitchStatement.SwitchBlockStatementGroup> generateIndexedSetterImpl(java.lang.String value) throws org.codehaus.commons.compiler.CompileException
- Throws:
org.codehaus.commons.compiler.CompileException
-
generateIndexedSetterImpl
protected abstract java.util.List<org.codehaus.janino.Java.SwitchStatement.SwitchBlockStatementGroup> generateIndexedSetterImpl(java.lang.String value, java.lang.Class type) throws org.codehaus.commons.compiler.CompileException
- Throws:
org.codehaus.commons.compiler.CompileException
-
generateGetter
protected org.codehaus.janino.Java.MethodDeclarator generateGetter(java.lang.String name, java.lang.Class type, int index) throws org.codehaus.commons.compiler.CompileException
- Throws:
org.codehaus.commons.compiler.CompileException
-
generateSetter
protected org.codehaus.janino.Java.MethodDeclarator generateSetter(java.lang.String name, java.lang.Class type, int index) throws org.codehaus.commons.compiler.CompileException
- Throws:
org.codehaus.commons.compiler.CompileException
-
generateGetInvocation
protected abstract org.codehaus.janino.Java.Rvalue generateGetInvocation(java.lang.Class type, int index) throws org.codehaus.commons.compiler.CompileException
- Throws:
org.codehaus.commons.compiler.CompileException
-
generateSetInvocation
protected abstract org.codehaus.janino.Java.Rvalue generateSetInvocation(java.lang.Class type, int index, java.lang.String value) throws org.codehaus.commons.compiler.CompileException
- Throws:
org.codehaus.commons.compiler.CompileException
-
capitalize
protected java.lang.String capitalize(java.lang.String st)
-
primIndex
protected org.codehaus.janino.Java.Primitive primIndex(java.lang.Class type)
-
primToBox
protected java.lang.String primToBox(java.lang.Class type)
-
generateDefaultCase
protected org.codehaus.janino.Java.SwitchStatement.SwitchBlockStatementGroup generateDefaultCase()
-
classToRefType
protected org.codehaus.janino.Java.Type classToRefType(java.lang.Class type)
-
-