All Downloads are FREE. Search and download functionalities are using the official Maven repository.

templates.velocity.casban.perschema.constant.vm Maven / Gradle / Ivy

#parse( "schema.include.vm" )
#parse( "header.include.vm" )
#set ( $javaClassName = 'Constant' )

$codewriter.setCurrentJavaFilename($pkg, "${javaClassName}.java")
package $pkg;

import java.util.List;
import java.util.Set;
import gu.sql2java.annotations.SchemaComponent;
import gu.sql2java.annotations.SchemaConstantSupplier;

import com.gitee.l0km.casban.CasbanCachedClassScanner;
import com.gitee.l0km.casban.annotations.AnnotationFieldNames;
import com.gitee.l0km.casban.exception.PackageScanException;
#####################
/**
 * constant declare by casban
 */
public class $javaClassName {

    /** alias name of connection */
    public static String ALIAS_NAME = readAssociatedConstant("ALIAS_NAME");

    //////////////////////////////////////
    // TABLE CLASS DECLARE
    //////////////////////////////////////    
#foreach($t in $tables)
    public static final Class $t.asConstantVar()_CLASS = readAssociatedConstant("$t.asConstantVar()_CLASS");
#end
    //////////////////////////////////////
    // COLUMN COLUMN CONSTANT
    //////////////////////////////////////    
    #join($tables '
    public static final int $e.asConstantVar()_COLUMN_COUNT = readAssociatedConstant("$e.asConstantVar("_COLUMN_COUNT")");
    public static final int $e.asConstantVar()_PK_COUNT = readAssociatedConstant("$e.asConstantVar("_PK_COUNT")");' '')

    //////////////////////////////////////
    // COLUMN ID DECLARE
    //////////////////////////////////////    
#foreach($t in $tables)
#foreach ( $column in $t.columns )
#set ( $vcmo = $velocityCount - 1 )
    /** Identify the $column.getFullNameNsp() field. */
    public static final int $column.getIDAssociated() = readAssociatedConstant("$column.getIDAssociated()");
#if( !$t.stateVarTypeIsArray() )
    public static final ${codewriter.bitStateClassName} $column.getIDAssociated()_MASK = readAssociatedConstant("$column.getIDAssociated()_MASK");
#end
#end
#end
    //////////////////////////////////////
    // COLUMN NAME DECLARE
    //////////////////////////////////////    
#foreach($t in $tables)
    /////////////////// $t.name ////////////
    public static final String $t.asConstantVar()_NAME = readAssociatedConstant("$t.asConstantVar()_NAME");
    /** Contains all the pk fields name of the $t.name table.*/
    public static final String $t.asConstantVar()_PK_FIELDS = readAssociatedConstant("$t.asConstantVar()_PK_FIELDS");
    public static final List $t.asConstantVar()_PK_FIELDS_LIST = readAssociatedConstant("$t.asConstantVar()_PK_FIELDS_LIST");
    /** Contains all the full fields of the $t.name table.*/
    public static final String $t.asConstantVar()_FULL_FIELDS =readAssociatedConstant("$t.asConstantVar()_FULL_FIELDS");
    public static final List $t.asConstantVar()_FULL_FIELDS_LIST = readAssociatedConstant("$t.asConstantVar()_FULL_FIELDS_LIST");
    public static final Set $t.asConstantVar()_FULL_FIELDS_SET = readAssociatedConstant("$t.asConstantVar()_FULL_FIELDS_SET");
    /** Field that contains the comma separated fields of the $t.name table. */
    public static final String $t.asConstantVar()_FIELDS = readAssociatedConstant("$t.asConstantVar()_FIELDS");
    public static final List $t.asConstantVar()_FIELDS_LIST = readAssociatedConstant("$t.asConstantVar()_FIELDS_LIST");
    public static final Set $t.asConstantVar()_FIELDS_SET = readAssociatedConstant("$t.asConstantVar()_FIELDS_SET");
    
    #join($t.columns 'public static final String $e.getNameAssociated() = readAssociatedConstant("$e.getNameAssociated()");
    ' '')##

    /** Field that contains the comma separated java fields of the $t.name table. */
    public static final String $t.asConstantVar()_JAVA_FIELDS = readAssociatedConstant("$t.asConstantVar()_JAVA_FIELDS");;
    public static final List $t.asConstantVar()_JAVA_FIELDS_LIST = readAssociatedConstant("$t.asConstantVar()_JAVA_FIELDS_LIST");
    public static final Set $t.asConstantVar()_JAVA_FIELDS_SET = readAssociatedConstant("$t.asConstantVar()_JAVA_FIELDS_SET");

    /** column type names of the $t.name table. */
    public static final String[] $t.asConstantVar()_COLUMN_TYPE_NAMES = readAssociatedConstant("$t.asConstantVar()_COLUMN_TYPE_NAMES");

    public static final List $t.asConstantVar()_COLUMN_TYPE_NAME_LIST = readAssociatedConstant("$t.asConstantVar()_COLUMN_TYPE_NAME_LIST");

    /** Field java types of the $t.name table. */
    public static final Class[] $t.asConstantVar()_FIELD_TYPES = readAssociatedConstant("$t.asConstantVar()_FIELD_TYPES");
    /** Field size of the $t.name table. */
    public static final int[] $t.asConstantVar()_FIELD_SIZES = readAssociatedConstant("$t.asConstantVar()_FIELD_SIZES");
    /** Field SQL types of the $t.name table. */
    public static final int[] $t.asConstantVar()_FIELD_SQL_TYPES = readAssociatedConstant("$t.asConstantVar()_FIELD_SQL_TYPES");
#end
    static  T readAssociatedConstant(Object entryValue) {
        try {
            return CasbanCachedClassScanner.getInstance().readValueByEntry(SchemaComponent.class,SchemaConstantSupplier.class,AnnotationFieldNames.ASSOCIATED,entryValue);
        } catch (PackageScanException e) {
            throw new PackageScanException(
                String.format("NOT FOUND OR FOUND VALUE with %s=%s,caused by %s",AnnotationFieldNames.ASSOCIATED,entryValue,e.getMessage()));
        }
    }
    static  T readAssociatedConstant(Object entryValue, T defaultValue) {
        return CasbanCachedClassScanner.getInstance().readValueByEntry(SchemaComponent.class,SchemaConstantSupplier.class,AnnotationFieldNames.ASSOCIATED,entryValue,defaultValue);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy