java.lang.Object
com.lutris.dods.builder.generator.base.SourceGenerator
- public abstract class SourceGenerator
- extends java.lang.Object
|
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 |
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
SourceGenerator
public SourceGenerator()
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.