Class 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  
      • Fields inherited from interface org.codehaus.commons.compiler.IClassBodyEvaluator

        DEFAULT_CLASS_NAME
      • Fields inherited from interface org.codehaus.commons.compiler.ICookable

        BOOT_CLASS_LOADER
    • 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
      • Methods inherited from interface org.codehaus.commons.compiler.ICookable

        cook, cook, cook, cook, cook, cook, cook, cook, cookFile, cookFile, cookFile, cookFile, setCompileErrorHandler, setDebuggingInformation, setParentClassLoader, setWarningHandler
      • Methods inherited from interface org.codehaus.commons.compiler.ISimpleCompiler

        getClassLoader, setNoPermissions, setPermissions
    • Field Detail

      • 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
    • Constructor Detail

      • TupleCodeGenerator

        protected TupleCodeGenerator​(java.lang.Class iface,
                                     java.lang.String[] fieldNames,
                                     java.lang.Class[] fieldTypes)
    • 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)