Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

com.lutris.dods.builder.generator.base
Class SourceGenerator  view SourceGenerator download SourceGenerator.java

java.lang.Object
  extended bycom.lutris.dods.builder.generator.base.SourceGenerator

public abstract class SourceGenerator
extends java.lang.Object


Field Summary
static java.lang.String AUTHOR
           
static java.lang.String BASE_NAME
           
static java.lang.String BEGIN_COMMENT
           
(package private) static java.lang.String BEGIN_IS_REF
           
protected  boolean cascadeDelete
           
static java.lang.String CATEGORY
           
static java.lang.String CLASS_NAME
           
(package private) static java.lang.String[][] configSectionName_tagName_pairs
           
protected  com.lutris.dods.store.doa.DataObject currentObj
           
static java.lang.String DATABASE_SECTION
           
protected  com.lutris.util.Config db
           
protected  java.lang.String db_vendor
           
static java.lang.String DB_VENDOR
           
private static java.util.Hashtable dbTypes
           
static java.lang.String DELETE_CASCADES
           
static java.lang.String DO_CLASS_NAME
           
static java.lang.String DO_INTERFACE_NAME
           
static java.lang.String END_COMMENT
           
static java.lang.String END_DO_IS_NOT_OID_BASED
           
static java.lang.String END_DO_IS_OID_BASED
           
(package private) static java.lang.String END_IS_REF
           
static java.lang.String END_MEMBER_PK_NOT_OID
           
static java.lang.String EXTENDS
           
(package private) static java.lang.String FILE_FOOTER_TEMPLATE_NAME
           
(package private) static java.lang.String FILE_HEADER_TEMPLATE_NAME
           
static java.lang.String FILE_NAME
           
(package private)  com.lutris.dods.builder.engine.TemplateFilter filterFileFooter
           
(package private)  com.lutris.dods.builder.engine.TemplateFilter filterFileHeader
           
(package private)  com.lutris.dods.builder.engine.TemplateFilter filterMemberStuff
           
private static java.util.Hashtable fixedDefaults
           
protected  com.lutris.dods.builder.engine.GeneratorInfo info
           
static java.lang.String INT_DB_TYPE
           
protected  com.lutris.util.Config jdbcConfig
           
static java.lang.String MEMBER_DB_DEFAULT_VALUE
           
static java.lang.String MEMBER_DB_TYPE
           
static java.lang.String MEMBER_JAVA_DEFAULT_VALUE
           
static java.lang.String MEMBER_JAVA_TYPE
           
static java.lang.String MEMBER_JAVA_TYPE_SAFE_NAME
           
static java.lang.String MEMBER_JAVADOC
           
static java.lang.String MEMBER_JDBC_TYPE
           
static java.lang.String MEMBER_NAME
           
(package private) static java.lang.String MEMBER_STUFF_TEMPLATE_NAME
           
static java.lang.String NAMED_CONSTRAINTS
           
protected  boolean namedConstraint
           
static java.lang.String OID_DB_COL_NAME
           
static java.lang.String OID_DB_TYPE
           
static java.lang.String OID_JDBC_TYPE
           
static java.lang.String oidDbType
           
protected  com.lutris.dods.builder.engine.SourceWriter output
           
private  java.lang.String outputFilename
           
static java.lang.String PACKAGE
           
static java.lang.String PROJECT_NAME
           
static java.lang.String QUERY_CLASS_NAME
           
static java.lang.String START_CACHING
           
static java.lang.String START_CONCRETE
           
static java.lang.String START_DO_IS_NOT_OID_BASED
           
static java.lang.String START_DO_IS_OID_BASED
           
static java.lang.String START_FULL_CACHING
           
static java.lang.String START_MEMBER_PK_NOT_OID
           
static java.lang.String STOP_CACHING
           
static java.lang.String STOP_CONCRETE
           
static java.lang.String STOP_FULL_CACHING
           
static java.lang.String STRING_MATCH
           
static java.lang.String STRING_QUOTE_CHARACTER
           
static java.lang.String STRING_WILDCARD
           
static java.lang.String SUFFIX
           
static java.lang.String TABLE_NAME
           
(package private) static java.util.Hashtable tableNames
           
protected  com.lutris.dods.builder.engine.TagSet tagSet
           
static java.lang.String TEMPLATE_BEGIN_REMARK
           
static java.lang.String TEMPLATE_END_REMARK
           
static java.lang.String TRUE_IF_FULL_CACHING
           
static java.lang.String TRUE_IF_NO_CACHING
           
static java.lang.String TRUE_IF_PARTIAL_CACHING
           
static java.lang.String UPPER_MEMBER_NAME
           
protected  java.lang.String vendor_key
           
static java.lang.String VERSION_DB_COL_NAME
           
 
Constructor Summary
SourceGenerator()
           
 
Method Summary
private  java.lang.String adjustDbType(com.lutris.util.Config config, java.lang.String jdbcType, java.lang.String vendor)
           
 void adjustOutputFile()
           
 java.lang.String beginNoCodeIf(boolean condition)
          If condition is true, return tag to temporarily suspend code generation.
protected static boolean columnIsText(com.lutris.dods.store.doa.Attribute a)
           
protected static boolean columnIsText(java.lang.String columnType)
           
private  java.lang.String convertArrayType(java.lang.String type)
           
protected  com.lutris.dods.builder.engine.TemplateFilter createFilter(java.lang.String templateKey)
           
 void defaultWriteFileFooter(com.lutris.dods.store.doa.DataObject o)
           
 void defaultWriteFileHeader(com.lutris.dods.store.doa.DataObject o)
           
 void defaultWriteMemberStuff(com.lutris.dods.store.doa.Attribute a)
           
 java.lang.String endNoCodeIf(boolean condition)
          If condition is true, return tag to resume code generation.
private  java.lang.String fixDefault(com.lutris.dods.store.doa.Attribute a)
           
private  java.lang.String fixFileName(java.lang.String s)
           
private  java.lang.String getOutputClassName(com.lutris.dods.store.doa.DataObject o, java.lang.String flavor)
           
 java.lang.String getOutputFilename()
           
private  java.lang.String getTableName(com.lutris.dods.store.doa.DataObject o)
           
static com.lutris.dods.store.doa.DataObject handleArray(com.lutris.dods.store.doa.DataObject o, com.lutris.dods.store.doa.Attribute a)
          Array impl #2 (see $qdb/todo) If DataObject XXX has an array Attribute AAA, AAA is converted to a new DataObject that refers to XXX.
private  java.lang.String JavaType(java.lang.String type)
           
private  java.lang.String JdbcType(java.lang.String javaType)
           
 void memberPrep(com.lutris.dods.store.doa.Attribute a)
           
 void objectPrep(com.lutris.dods.builder.engine.GeneratorInfo sgi, com.lutris.dods.store.doa.DODSProject project, com.lutris.dods.store.doa.DataObject o)
          Adds tag values to the TagSet.
static void reset()
           
private  void setOutputFilename(java.lang.String ofn)
           
private  java.lang.String setTagFromConfig(com.lutris.util.Config config, java.lang.String sectionName, java.lang.String vendor, java.lang.String tag)
           
private  void setTagsFromConfig(com.lutris.util.Config config, java.lang.String vendor)
           
protected  void setTagUpperMemberName(java.lang.String tag, java.lang.String name)
           
private  java.util.Date str2date(java.lang.String s)
           
protected  java.lang.String val(java.lang.String tagName)
           
abstract  void writeFileFooter(com.lutris.dods.store.doa.DataObject o)
           
abstract  void writeFileHeader(com.lutris.dods.store.doa.DataObject o)
           
abstract  void writeMemberStuff(com.lutris.dods.store.doa.Attribute a)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

info

protected com.lutris.dods.builder.engine.GeneratorInfo info

filterFileHeader

com.lutris.dods.builder.engine.TemplateFilter filterFileHeader

filterFileFooter

com.lutris.dods.builder.engine.TemplateFilter filterFileFooter

filterMemberStuff

com.lutris.dods.builder.engine.TemplateFilter filterMemberStuff

tagSet

protected com.lutris.dods.builder.engine.TagSet tagSet

TEMPLATE_BEGIN_REMARK

public static java.lang.String TEMPLATE_BEGIN_REMARK

TEMPLATE_END_REMARK

public static java.lang.String TEMPLATE_END_REMARK

AUTHOR

public static java.lang.String AUTHOR

PROJECT_NAME

public static java.lang.String PROJECT_NAME

CATEGORY

public static java.lang.String CATEGORY

SUFFIX

public static java.lang.String SUFFIX

PACKAGE

public static java.lang.String PACKAGE

CLASS_NAME

public static java.lang.String CLASS_NAME

EXTENDS

public static java.lang.String EXTENDS

TABLE_NAME

public static java.lang.String TABLE_NAME

DB_VENDOR

public static java.lang.String DB_VENDOR

FILE_NAME

public static java.lang.String FILE_NAME

MEMBER_NAME

public static java.lang.String MEMBER_NAME

UPPER_MEMBER_NAME

public static java.lang.String UPPER_MEMBER_NAME

MEMBER_JAVA_TYPE

public static java.lang.String MEMBER_JAVA_TYPE

MEMBER_JAVA_TYPE_SAFE_NAME

public static java.lang.String MEMBER_JAVA_TYPE_SAFE_NAME

MEMBER_JAVA_DEFAULT_VALUE

public static java.lang.String MEMBER_JAVA_DEFAULT_VALUE

MEMBER_JDBC_TYPE

public static java.lang.String MEMBER_JDBC_TYPE

MEMBER_DB_TYPE

public static java.lang.String MEMBER_DB_TYPE

MEMBER_DB_DEFAULT_VALUE

public static java.lang.String MEMBER_DB_DEFAULT_VALUE

MEMBER_JAVADOC

public static java.lang.String MEMBER_JAVADOC

DO_CLASS_NAME

public static java.lang.String DO_CLASS_NAME

DO_INTERFACE_NAME

public static java.lang.String DO_INTERFACE_NAME

QUERY_CLASS_NAME

public static java.lang.String QUERY_CLASS_NAME

BASE_NAME

public static java.lang.String BASE_NAME

START_CONCRETE

public static java.lang.String START_CONCRETE

STOP_CONCRETE

public static java.lang.String STOP_CONCRETE

START_CACHING

public static java.lang.String START_CACHING

STOP_CACHING

public static java.lang.String STOP_CACHING

START_FULL_CACHING

public static java.lang.String START_FULL_CACHING

STOP_FULL_CACHING

public static java.lang.String STOP_FULL_CACHING

TRUE_IF_PARTIAL_CACHING

public static java.lang.String TRUE_IF_PARTIAL_CACHING

TRUE_IF_FULL_CACHING

public static java.lang.String TRUE_IF_FULL_CACHING

TRUE_IF_NO_CACHING

public static java.lang.String TRUE_IF_NO_CACHING

DATABASE_SECTION

public static java.lang.String DATABASE_SECTION

STRING_QUOTE_CHARACTER

public static java.lang.String STRING_QUOTE_CHARACTER

STRING_MATCH

public static java.lang.String STRING_MATCH

STRING_WILDCARD

public static java.lang.String STRING_WILDCARD

BEGIN_COMMENT

public static java.lang.String BEGIN_COMMENT

END_COMMENT

public static java.lang.String END_COMMENT

VERSION_DB_COL_NAME

public static java.lang.String VERSION_DB_COL_NAME

OID_DB_COL_NAME

public static java.lang.String OID_DB_COL_NAME

OID_DB_TYPE

public static java.lang.String OID_DB_TYPE

OID_JDBC_TYPE

public static java.lang.String OID_JDBC_TYPE

INT_DB_TYPE

public static java.lang.String INT_DB_TYPE

NAMED_CONSTRAINTS

public static java.lang.String NAMED_CONSTRAINTS

DELETE_CASCADES

public static java.lang.String DELETE_CASCADES

START_DO_IS_OID_BASED

public static java.lang.String START_DO_IS_OID_BASED

END_DO_IS_OID_BASED

public static java.lang.String END_DO_IS_OID_BASED

START_DO_IS_NOT_OID_BASED

public static java.lang.String START_DO_IS_NOT_OID_BASED

END_DO_IS_NOT_OID_BASED

public static java.lang.String END_DO_IS_NOT_OID_BASED

START_MEMBER_PK_NOT_OID

public static java.lang.String START_MEMBER_PK_NOT_OID

END_MEMBER_PK_NOT_OID

public static java.lang.String END_MEMBER_PK_NOT_OID

configSectionName_tagName_pairs

static final java.lang.String[][] configSectionName_tagName_pairs

BEGIN_IS_REF

static final java.lang.String BEGIN_IS_REF
See Also:
Constant Field Values

END_IS_REF

static final java.lang.String END_IS_REF
See Also:
Constant Field Values

db_vendor

protected java.lang.String db_vendor

db

protected com.lutris.util.Config db

jdbcConfig

protected com.lutris.util.Config jdbcConfig

vendor_key

protected java.lang.String vendor_key

currentObj

protected com.lutris.dods.store.doa.DataObject currentObj

output

protected com.lutris.dods.builder.engine.SourceWriter output

cascadeDelete

protected boolean cascadeDelete

namedConstraint

protected boolean namedConstraint

FILE_HEADER_TEMPLATE_NAME

static final java.lang.String FILE_HEADER_TEMPLATE_NAME
See Also:
Constant Field Values

FILE_FOOTER_TEMPLATE_NAME

static final java.lang.String FILE_FOOTER_TEMPLATE_NAME
See Also:
Constant Field Values

MEMBER_STUFF_TEMPLATE_NAME

static final java.lang.String MEMBER_STUFF_TEMPLATE_NAME
See Also:
Constant Field Values

oidDbType

public static java.lang.String oidDbType

fixedDefaults

private static java.util.Hashtable fixedDefaults

outputFilename

private java.lang.String outputFilename

tableNames

static java.util.Hashtable tableNames

dbTypes

private static java.util.Hashtable dbTypes
Constructor Detail

SourceGenerator

public SourceGenerator()
Method Detail

setTagsFromConfig

private void setTagsFromConfig(com.lutris.util.Config config,
                               java.lang.String vendor)
                        throws java.lang.Exception

setTagFromConfig

private java.lang.String setTagFromConfig(com.lutris.util.Config config,
                                          java.lang.String sectionName,
                                          java.lang.String vendor,
                                          java.lang.String tag)
                                   throws java.lang.Exception

val

protected java.lang.String val(java.lang.String tagName)
                        throws java.lang.Exception

columnIsText

protected static boolean columnIsText(com.lutris.dods.store.doa.Attribute a)

columnIsText

protected static boolean columnIsText(java.lang.String columnType)

createFilter

protected com.lutris.dods.builder.engine.TemplateFilter createFilter(java.lang.String templateKey)
                                                              throws java.lang.Exception

reset

public static void reset()

objectPrep

public void objectPrep(com.lutris.dods.builder.engine.GeneratorInfo sgi,
                       com.lutris.dods.store.doa.DODSProject project,
                       com.lutris.dods.store.doa.DataObject o)
                throws java.lang.Exception
Adds tag values to the TagSet. A subclass of SourceGenerator can override this method to set additional tag values. An overrided objectPrep() should invoke super.objectPrep() to get the basic tag settings performed by this method. A subclass of SourceGenerator will call objectPrep() and then call its implementation of one of the following methods: writeFileHeader writeFileFooter writeMemberStuff These methods should invoke TemplateFilter.process( tagSet ) which will create the output source file.

Since:
LBS1.8

setOutputFilename

private void setOutputFilename(java.lang.String ofn)

getOutputFilename

public java.lang.String getOutputFilename()

fixFileName

private java.lang.String fixFileName(java.lang.String s)

getOutputClassName

private java.lang.String getOutputClassName(com.lutris.dods.store.doa.DataObject o,
                                            java.lang.String flavor)

getTableName

private java.lang.String getTableName(com.lutris.dods.store.doa.DataObject o)
                               throws java.lang.Exception

memberPrep

public void memberPrep(com.lutris.dods.store.doa.Attribute a)
                throws java.lang.Exception

adjustDbType

private java.lang.String adjustDbType(com.lutris.util.Config config,
                                      java.lang.String jdbcType,
                                      java.lang.String vendor)
                               throws java.lang.Exception

fixDefault

private java.lang.String fixDefault(com.lutris.dods.store.doa.Attribute a)

str2date

private java.util.Date str2date(java.lang.String s)

convertArrayType

private java.lang.String convertArrayType(java.lang.String type)

JavaType

private java.lang.String JavaType(java.lang.String type)

JdbcType

private java.lang.String JdbcType(java.lang.String javaType)

setTagUpperMemberName

protected void setTagUpperMemberName(java.lang.String tag,
                                     java.lang.String name)
                              throws java.lang.Exception

adjustOutputFile

public void adjustOutputFile()
                      throws java.lang.Exception

defaultWriteFileHeader

public void defaultWriteFileHeader(com.lutris.dods.store.doa.DataObject o)
                            throws java.lang.Exception

defaultWriteFileFooter

public void defaultWriteFileFooter(com.lutris.dods.store.doa.DataObject o)
                            throws java.lang.Exception

defaultWriteMemberStuff

public void defaultWriteMemberStuff(com.lutris.dods.store.doa.Attribute a)
                             throws java.lang.Exception

writeFileHeader

public abstract void writeFileHeader(com.lutris.dods.store.doa.DataObject o)
                              throws java.lang.Exception

writeFileFooter

public abstract void writeFileFooter(com.lutris.dods.store.doa.DataObject o)
                              throws java.lang.Exception

writeMemberStuff

public abstract void writeMemberStuff(com.lutris.dods.store.doa.Attribute a)
                               throws java.lang.Exception

handleArray

public static com.lutris.dods.store.doa.DataObject handleArray(com.lutris.dods.store.doa.DataObject o,
                                                               com.lutris.dods.store.doa.Attribute a)
Array impl #2 (see $qdb/todo) If DataObject XXX has an array Attribute AAA, AAA is converted to a new DataObject that refers to XXX. That new DataObject is processed normally by the Builder, generating all necessary .java and schema files.


beginNoCodeIf

public java.lang.String beginNoCodeIf(boolean condition)
If condition is true, return tag to temporarily suspend code generation. This allows conditionally processed sections within a .template file.


endNoCodeIf

public java.lang.String endNoCodeIf(boolean condition)
If condition is true, return tag to resume code generation.