This chapter contains an alphabetical reference of all the tags allowed in DOML files. Each entry corresponds to an XML tag, and contains the subsections:
Content - tags that the tag can contain.
Attributes - attributes the tag can have.
Context - tags within which the tag can appear, in other words, the tags that can contain it.
So, for a tag <sampleTag>, whose attributes are attribute1, attribute2, and so on, whose context is <contextTag>, and which can contain contentTag, its general syntax would look like:
<contextTag>
<sampleTag attribute1 attribute2 ...>
<contentTag/>
</sampleTag>
</contextTag>
<column> describes a column in a database table.
Content: <javadoc>, <referenceObject>, <type>, <initialValue>
Attributes:
1. id - The name of the column in the database table.
2. usedForQuery - Specifies whether the values of the column will be used for queries. The possible values for usedForQuery are: true and false.
3. isConstant - Specifies whether the column contains a constant value. The possible values for isConstant are: true and false.
4. generateSecure - Specifies whether secure methods (methods with check of Users access) should be generated for the column. The possible values for generateSecure are: true and false. The default value is false.
5. generateInsecure - Specifies whether insecure methods (methods without check of Users access) should be generated for the column. The possible values for generateInsecure are: true and false. The default value is true.
Context: <table>
Contains the package hierarchy, and specifies the database.
Content: <package>
Attributes:
1. database - The database attribute specifies the database vendor. The valid types are as follows:
Oracle - DODS will generate SQL optimized for Oracle databases.
Informix - DODS will generate SQL optimized for Informix databases.
MySQL - DODS will generate SQL optimized for MySQL databases.
MSQL - DODS will generate SQL optimized for MSQL databases.
Sybase - DODS will generate SQL optimized for Sybase databases.
PostgreSQL - DODS will generate SQL optimized for PostgreSQL databases.
DB2 - DODS will generate SQL optimized for DB2 databases.
QED - DODS will generate SQL optimized for QED databases.
InstantDB - DODS will generate SQL optimized for InstantDB databases.
HypersonicSQL- DODS will generate SQL optimized for HypersonicSQL databases.
MckoiSQLConf - DODS will generate SQL optimized for HypersonicSQL databases.
2. dirtyDOs - Optionally, "dirty" methods (methods that can create DOs in memory without transactions) can be marked as "deprecated" or even not be generated at all. If set to "Compatible", "dirty" methods will be generated (as before), if set to "Deprecate", "dirty" methods will be generated as deprecated, and if set to "Omit", "dirty" methods will not be generated at all. If parameter is set in <table> tag, this value overrides program default value and value defined in <database> tag.
3. generateSecure - Specifies whether secure methods (methods with check of Users access) should be generated for the database. The possible values for generateSecure are: true and false. The default value is false.
4. generateInsecure - Specifies whether insecure methods (methods without check of Users access) should be generated for the database. The possible values for generateInsecure are: true and false. The default value is true.
5. templateset - The templateset that will be used for java code generation. The possible values for templateset are: "standard" and "<any user defined template>". Default value is "standard".
6. massDeletes - When turned allow you to build data layer including classes xxxDelete. These class provide you QueryBuilder speed in massive update operations, while maintaining caches (both global and transactions) valid.
7. massUpdates - When turned allow you to build data layer including classes xxxUpdate. These class provide you QueryBuilder speed in massive update operations, while maintaining caches (both global and transactions) valid.
Context: <doml>
Root element of DOML files. This tag contains a database hierarchy that contains all the packages.
Content: <author>, <projectname>, <database>
Attributes: None
Context: None
<index> is used to specify index columns.
Content: <indexColumn>
Attributes:
1. id - The name of the index constraint in the database table.
2. unique - Specifies whether the index constraint is unique. The possible values for unique are: true and false.
3. clustered - Specifies whether the index constraint is clustered. The possible values for clustered are: true and false.
Context: <table>
<indexColumn> is used to specify each index column in the constraint index.
Content:None
Attributes:
1. id - The name of the column in the database table.
Context: <index>
<initialValue>is used to specify a default initial value for the column.
Content: None
Attributes: None
Context: <column>
The <javadoc> tag contains the text for Javadoc entries for the column.
Content: None
Attributes: None
Context: <column>
Each package can contain a sub-package or a table structure.
Content: <package>, <table>
Attributes:
1. id - The name of the package. The format for the name includes the parent package's id value. For example, if I had a package myPackage, and a sub-package of it called mySubPackage, mySubPackage's id value would be myPackage.mySubPackage.
Context: <database>
If the column is a reference to another table, <referenceObject> specifies the table.
Content: None
Attributes:
1. Constraint - Specifies whether the specified table row must exist. The possible values for constraint are: true and false.
2. Reference - Specifies the ID of the referenced table.
Context: <column>
<table> describes a table in a database.
Content:<column>, <index>
Attributes:
1. id - Similar to the id attribute in <package>, <table>'s id contains the value of the table name located in the package. For example, if I had a package myPackage, a subpackage mySubPackage, and a table myTable, the id value is myPackage.mySubPackage.myTable.
2. dbTableName - The actual SQL table name. By default this is the same as the id value, minus the package information. For example, myPackage.mySubPackage.myTable's dbTableName is myTable.
3. isView - This attribute is not currently used by DODS.
4. generateSecure - Specifies whether secure methods (methods with check of Users access) should be generated for the table. The possible values for generateSecure are: true and false. The default value is false.
5. generateInsecure - Specifies whether insecure methods (methods without check of Users access) should be generated for the table. The possible values for generateInsecure are: true and false. The default value is true.
6. massDeletes - When turned allow you to build data layer including classes xxxDelete. These class provide you QueryBuilder speed in massive update operations, while maintaining caches (both global and transactions) valid.
7. massUpdates - When turned allow you to build data layer including classes xxxUpdate. These class provide you QueryBuilder speed in massive update operations, while maintaining caches (both global and transactions) valid.
8. multidb - Specifies whether code for multi database support should be generated. The possible values for multidb are: true and false. The default value is false.
9. dirtyDOs - This parameter is attribute of <database> and <table> tag in DOML file. Optionally, "dirty" methods (methods that can create DOs in memory without transactions) can be marked as "deprecated" or even not be generated at all. If set to "Compatible", "dirty" methods will be generated (as before), if set to "Deprecate", "dirty" methods will be generated as deprecated, and if set to "Omit", "dirty" methods will not be generated at all. If parameter is set on <table> tag they override default value and value on <database> tag.
Context: <package>
<type> dictates the form of the data stored in the column. If no <type> is specified, the column contains all default values.
Content: None
Attributes:
1. Size - Specifies the size of data types that are commonly measured in width, like VARCHAR. Size must be an integer.
2. CanBeNull - Specifies whether the column can contain null values. The possible values for canBeNull are: true and false.
3. dbType - Specifies the internal SQL data type the database will use for this column. The default value of dbType is VARCHAR.
4. JavaType - Specifies the Java data type returned by the DO to the user when querying this attribute of the DO. The default value of javaType is String.
Context: <column>