Schema audao.xsd Documentation

Schema Name audao.xsd
Target Namespace http://www.spoledge.com/audao
Default Element Form qualified
Default Attribute Form unqualified

Top Level Elements

Definitions

Simple Type "NameType"

Used by type ColumnReferenceParamType, type ParamsType, type ColumnType, type FindType, type CountType, type UpdateType, type DeleteType, type MoveType, type InsertAllType, type ColumnViewType, type TableType, type TableType, type ViewType

Restricted type xs:token

XSD:

  <xs:simpleType name="NameType">
    <xs:restriction base="xs:token">
      <xs:pattern value="[a-zA-Z][a-zA-Z0-9_]*"/>
    <xs:restriction>
  <xs:simpleType>

Simple Type "SchemaNameType"

Used by type TableType, type ViewType, type DatabaseType

Restricted type NameType

XSD:

  <xs:simpleType name="SchemaNameType">
    <xs:restriction base="NameType">
      <xs:maxLength value="30"/>
    <xs:restriction>
  <xs:simpleType>

Simple Type "TableNameType"

Used by type RefTableType, type RefTableAliasType, type RefTableAliasColumnOptType, type RefTableColumnType, type RefTableColumnOptType, type RefTableOptColumnOptType, type MoveType, type TableType, type TableType

Restricted type NameType

XSD:

  <xs:simpleType name="TableNameType">
    <xs:restriction base="NameType">
      <xs:maxLength value="30"/>
    <xs:restriction>
  <xs:simpleType>

Simple Type "ViewNameType"

Used by type ViewType

Restricted type NameType

XSD:

  <xs:simpleType name="ViewNameType">
    <xs:restriction base="NameType">
      <xs:maxLength value="30"/>
    <xs:restriction>
  <xs:simpleType>

Simple Type "IndexNameType"

Used by type IndexFindType, type IndexType

Restricted type NameType

XSD:

  <xs:simpleType name="IndexNameType">
    <xs:restriction base="NameType">
      <xs:maxLength value="30"/>
    <xs:restriction>
  <xs:simpleType>

Simple Type "SequenceNameType"

Used by type ColumnType

Restricted type NameType

XSD:

  <xs:simpleType name="SequenceNameType">
    <xs:restriction base="NameType">
      <xs:maxLength value="30"/>
    <xs:restriction>
  <xs:simpleType>

Simple Type "ColumnNameType"

Used by type ColumnReferenceType, type ColumnReferenceParamType, type ColumnOrderReferenceType, type RefTableAliasColumnOptType, type RefTableColumnType, type RefTableColumnOptType, type RefTableOptColumnOptType, type ColumnType, type ColumnViewType

Restricted type NameType

XSD:

  <xs:simpleType name="ColumnNameType">
    <xs:restriction base="NameType">
      <xs:maxLength value="30"/>
    <xs:restriction>
  <xs:simpleType>

Simple Type "JavaFullNameType"

Used by type ConfigDtoType, type ConfigDaoType

Restricted type xs:token

XSD:

  <xs:simpleType name="JavaFullNameType">
    <xs:restriction base="xs:token">
      <xs:pattern value="[a-zA-Z][a-zA-Z0-9_.]*"/>
    <xs:restriction>
  <xs:simpleType>

Simple Type "EditModeType"

Used by type TableType

Restricted type xs:string - enumeration:

Value Description
column
row

XSD:

  <xs:simpleType name="EditModeType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="column"/>
      <xs:enumeration value="row"/>
    <xs:restriction>
  <xs:simpleType>

Simple Type "ColumnTypeListType"

Used by type ParamsType

Restricted type xs:string - enumeration:

Value Description
boolean
short
int
long
double
String
Date
Timestamp
byte[]
Serializable
List

XSD:

  <xs:simpleType name="ColumnTypeListType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="boolean"/>
      <xs:enumeration value="short"/>
      <xs:enumeration value="int"/>
      <xs:enumeration value="long"/>
      <xs:enumeration value="double"/>
      <xs:enumeration value="String"/>
      <xs:enumeration value="Date"/>
      <xs:enumeration value="Timestamp"/>
      <xs:enumeration value="byte[]"/>
      <xs:enumeration value="Serializable"/>
      <xs:enumeration value="List"/>
    <xs:restriction>
  <xs:simpleType>

Simple Type "EqualityType"

Used by type ConfigDtoType

Restricted type xs:string - enumeration:

Value Description
full
columns
pk
identity
none

XSD:

  <xs:simpleType name="EqualityType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="full"/>
      <xs:enumeration value="columns"/>
      <xs:enumeration value="pk"/>
      <xs:enumeration value="identity"/>
      <xs:enumeration value="none"/>
    <xs:restriction>
  <xs:simpleType>

Simple Type "FindManyResultType"

Used by type ConfigDaoType

Restricted type xs:string - enumeration:

Value Description
list
array

XSD:

  <xs:simpleType name="FindManyResultType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="list"/>
      <xs:enumeration value="array"/>
    <xs:restriction>
  <xs:simpleType>

Complex Type "ColumnTypeType"

Used by type ColumnType, type ColumnViewType

Extended type ColumnTypeListType

Attributes:

Name Required Type Default Value Fixed Value Description
min-length no xs:int The minimum length of the field. For String type the unit is a character. For byte[] and Serializable types the unit is a byte.
max-length no xs:int The maximum length of the field - mandatory for String and byte[] types. Optional for Serializable field - if not set, then no checks are performed; the maximum types are used (longblob, long raw, Blob). If Serializable class is a 'gae:' core class (e.g. GeoPt), then the core class is used unless max-length is specified. For String type the unit is a character. For byte[] and Serializable types the unit is a byte.
i18n no xs:boolean Only for 'String' type: if true, then international characters are expected to be stored in this column. Used for Oracle: type NVARCHAR2 instead of VARCHAR2. Also internationalization is enabled for sorting.
class no xs:string Optionally for 'Serializable' and 'List' types: it specifies the target class for the given column and the generic List type resp. A full java name must be specified for custom classes. The default class for 'Serializable' type is 'java.io.Serializable', for 'List' type it is 'java.util.List' (not generic). The classes in package java.lang can be specified shortly: e.g. 'String'. The generated other DTO classes can be specified as 'table:table_name'. GAE only: the GAE core classes can be specified shortly as 'gae:ShortClassName' - fo example 'gae:GeoPt' or 'gae:User'. In such case no attribute @max-length should be specified, otherwise even the core class would be converted to ShortBlob or Blob according to the @max-length's value. GAE only: the items of the 'List' types are automatically converted to blobs, unless the class is a GAE core class ('gae:*' + 'String', 'Long', ..). But if the type is 'Serializable' and class is 'java.util.List', then a native GAE List type is used - no conversions of the list's item is performed and it is the developer's responsibility to pass only core GAE types to the list.

XSD:

  <xs:complexType name="ColumnTypeType">
    <xs:simpleContent>
      <xs:extension base="ColumnTypeListType">
        <xs:attribute name="min-length" type="xs:int" use="optional"/>
        <xs:attribute name="max-length" type="xs:int" use="optional"/>
        <xs:attribute name="i18n" type="xs:boolean" use="optional"/>
        <xs:attribute name="class" type="xs:string" use="optional"/>
      <xs:extension>
    <xs:simpleContent>
  <xs:complexType>

Complex Type "ColumnEnumType"

Used by type ColumnType, type ColumnViewType

Sequence: ( value+ )

Elements:

Name Card Type Description
value 1 - unbounded anonymous value N65802

XSD:

  <xs:complexType name="ColumnEnumType">
    <xs:sequence>
      <xs:element name="value" maxOccurs="unbounded">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="NameType">
              <xs:attribute name="id" type="xs:int" use="optional"/>
              <xs:attribute name="db" type="xs:string" use="optional"/>
            <xs:extension>
          <xs:simpleContent>
        <xs:complexType>
      <xs:element>
    <xs:sequence>
  <xs:complexType>

Complex Type "ColumnReferenceType"

Used by type ColumnsType

Sequence: ( comment? )

Attributes:

Name Required Type Default Value Fixed Value Description
name yes ColumnNameType

Elements:

Name Card Type Description
comment 0 - 1 xs:string A comment which is copied to the java code.

XSD:

  <xs:complexType name="ColumnReferenceType">
    <xs:sequence>
      <xs:element name="comment" type="xs:string" minOccurs="0"/>
    <xs:sequence>
    <xs:attribute name="name" type="ColumnNameType" use="required"/>
  <xs:complexType>

Complex Type "ColumnReferenceParamType"

Used by type ParamsType

Sequence: ( comment? )

Attributes:

Name Required Type Default Value Fixed Value Description
name yes ColumnNameType The name of the referenced column.
java no NameType The Java name - use this if you want to specify your own name or when a collision of names occurs (e.g. two same columns in one query).
list no xs:boolean false For GAE only: forces to use List<column-type> parameter instead of the simple type.

Elements:

Name Card Type Description
comment 0 - 1 xs:string A comment which is copied to the java code.

XSD:

  <xs:complexType name="ColumnReferenceParamType">
    <xs:sequence>
      <xs:element name="comment" type="xs:string" minOccurs="0"/>
    <xs:sequence>
    <xs:attribute name="name" type="ColumnNameType" use="required"/>
    <xs:attribute name="java" type="NameType" use="optional"/>
    <xs:attribute name="list" type="xs:boolean" use="optional" default="false"/>
  <xs:complexType>

Complex Type "ColumnOrderReferenceType"

Used by type FindType

Attributes:

Name Required Type Default Value Fixed Value Description
name yes ColumnNameType
desc no xs:boolean

XSD:

  <xs:complexType name="ColumnOrderReferenceType">
    <xs:attribute name="name" type="ColumnNameType" use="required"/>
    <xs:attribute name="desc" type="xs:boolean" use="optional"/>
  <xs:complexType>

Complex Type "ColumnsType"

Used by type IndexType

Sequence: ( column+ )

Elements:

Name Card Type Description
column 1 - unbounded ColumnReferenceType

XSD:

  <xs:complexType name="ColumnsType">
    <xs:sequence>
      <xs:element name="column" type="ColumnReferenceType" maxOccurs="unbounded"/>
    <xs:sequence>
  <xs:complexType>

Complex Type "RefTableType"

Used by type FindType, type CountType

Attributes:

Name Required Type Default Value Fixed Value Description
table yes TableNameType

XSD:

  <xs:complexType name="RefTableType">
    <xs:attribute name="table" type="TableNameType" use="required"/>
  <xs:complexType>

Complex Type "RefTableAliasType"

Used by type ViewType

Attributes:

Name Required Type Default Value Fixed Value Description
table yes TableNameType
alias yes xs:token

XSD:

  <xs:complexType name="RefTableAliasType">
    <xs:attribute name="table" type="TableNameType" use="required"/>
    <xs:attribute name="alias" type="xs:token" use="required"/>
  <xs:complexType>

Complex Type "RefTableAliasColumnOptType"

Used by type ColumnViewType

Attributes:

Name Required Type Default Value Fixed Value Description
table no TableNameType
alias no xs:token
column no ColumnNameType

XSD:

  <xs:complexType name="RefTableAliasColumnOptType">
    <xs:attribute name="table" type="TableNameType" use="optional"/>
    <xs:attribute name="alias" type="xs:token" use="optional"/>
    <xs:attribute name="column" type="ColumnNameType" use="optional"/>
  <xs:complexType>

Complex Type "RefTableColumnType"

Not used by any object in this file.

Attributes:

Name Required Type Default Value Fixed Value Description
table yes TableNameType
column yes ColumnNameType

XSD:

  <xs:complexType name="RefTableColumnType">
    <xs:attribute name="table" type="TableNameType" use="required"/>
    <xs:attribute name="column" type="ColumnNameType" use="required"/>
  <xs:complexType>

Complex Type "RefTableColumnOptType"

Not used by any object in this file.

Attributes:

Name Required Type Default Value Fixed Value Description
table yes TableNameType
column no ColumnNameType

XSD:

  <xs:complexType name="RefTableColumnOptType">
    <xs:attribute name="table" type="TableNameType" use="required"/>
    <xs:attribute name="column" type="ColumnNameType" use="optional"/>
  <xs:complexType>

Complex Type "RefTableOptColumnOptType"

Used by type ColumnType

Attributes:

Name Required Type Default Value Fixed Value Description
table no TableNameType
column no ColumnNameType
fk no xs:boolean true Specifies whether foreign key should be created in the database. It is true by default, but sometimes it is useful to disable this - for example when you only want to share the same type of the column without fk contraint.
gae-parent no xs:boolean false This is currently used only for GAE and ignored for other implementations. When the "gae-parent" option is enabled, and the target column is a primary key, then a "Key" field is generated. If unilateral relation is detected, then it is handled as a parent-key relation. Thus the entities are in the same entity group and transactions are supported.

XSD:

  <xs:complexType name="RefTableOptColumnOptType">
    <xs:attribute name="table" type="TableNameType" use="optional"/>
    <xs:attribute name="column" type="ColumnNameType" use="optional"/>
    <xs:attribute name="fk" type="xs:boolean" use="optional" default="true"/>
    <xs:attribute name="gae-parent" type="xs:boolean" use="optional" default="false"/>
  <xs:complexType>

Complex Type "AutoFindType"

Used by type TableType, type DatabaseType

Attributes:

Name Required Type Default Value Fixed Value Description
pk no xs:boolean true This attribute specifies whether method "findByPrimaryKey" will be automatically generated.
index no xs:boolean true This attribute specifies whether "frindByXXX" methods based on existing indexes will be automatically generated.

XSD:

  <xs:complexType name="AutoFindType">
    <xs:attribute name="pk" type="xs:boolean" use="optional" default="true"/>
    <xs:attribute name="index" type="xs:boolean" use="optional" default="true"/>
  <xs:complexType>

Complex Type "ParamsType"

Used by type ConditionType, type UpdateSetType

Choice: ( column | param )

Elements:

Name Card Type Description
column 1 ColumnReferenceParamType A column which is used as the reference for parameter name and type.
param 1 anonymous param N66091

XSD:

  <xs:complexType name="ParamsType">
    <xs:choice maxOccurs="unbounded">
      <xs:element name="column" type="ColumnReferenceParamType"/>
      <xs:element name="param">
        <xs:complexType>
          <xs:attribute name="name" type="NameType" use="required"/>
          <xs:attribute name="type" type="ColumnTypeListType" use="required"/>
          <xs:attribute name="class" type="xs:string" use="optional"/>
          <xs:attribute name="list" type="xs:boolean" use="optional" default="false"/>
        <xs:complexType>
      <xs:element>
    <xs:choice>
  <xs:complexType>

Complex Type "IndexFindType"

Used by type FindType, type CountType, type UpdateType, type DeleteType, type MoveType

Attributes:

Name Required Type Default Value Fixed Value Description
name yes IndexNameType
level no xs:int 1 The level of the index to be generated. Level 1 means all parameters, level 2 all but one ...
list no xs:boolean false For GAE only: forces to use List<@class> parameter instead of the default type (Object or @class).

XSD:

  <xs:complexType name="IndexFindType">
    <xs:attribute name="name" type="IndexNameType" use="required"/>
    <xs:attribute name="level" type="xs:int" use="optional" default="1"/>
    <xs:attribute name="list" type="xs:boolean" use="optional" default="false"/>
  <xs:complexType>

Complex Type "ConditionType"

Used by type FindType, type CountType, type UpdateType, type DeleteType, type MoveType

Sequence: ( query+, params? )

Elements:

Name Card Type Description
query 1 - unbounded StringWithDbType An SQL condition used for preparing statement - for SQL use "?" for parameters, for Google App Engine (gae) use numbered parameters like ":1", ":2" etc., for Google App Engine - JDO (gaejdo) use implicit parameters like ":myParamName". You can define different queries for different DB types.
params 0 - 1 ParamsType Finder parameters which are passed to the prepared statement.

XSD:

  <xs:complexType name="ConditionType">
    <xs:sequence>
      <xs:element name="query" type="StringWithDbType" minOccurs="1" maxOccurs="unbounded"/>
      <xs:element name="params" minOccurs="0" type="ParamsType"/>
    <xs:sequence>
  <xs:complexType>

Complex Type "UpdateSetType"

Used by type UpdateType

Sequence: ( query?, params? )

Elements:

Name Card Type Description
query 0 - 1 xs:string An SQL "SET" clause (without "SET") used for preparing statement - use "?" for parameters. If not set, then it is automatically generated using the params/column definitions. If not set, no params/param definitions are allowed.
params 0 - 1 ParamsType Parameters which are passed to the prepared statement.

XSD:

  <xs:complexType name="UpdateSetType">
    <xs:sequence>
      <xs:element name="query" type="xs:string" minOccurs="0"/>
      <xs:element name="params" minOccurs="0" type="ParamsType"/>
    <xs:sequence>
  <xs:complexType>

Complex Type "StringWithDbType"

Used by type ConditionType, type ViewType, type ViewType, type ViewType, type ViewType

Extended type xs:string

Attributes:

Name Required Type Default Value Fixed Value Description
dbtype no xs:token The underlying DB type like 'mysql', 'oracle', 'gae' or 'gaejdo'. If you let it empty then it will indicate the default or independent content.

XSD:

  <xs:complexType name="StringWithDbType">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="dbtype" type="xs:token" use="optional"/>
      <xs:extension>
    <xs:simpleContent>
  <xs:complexType>

Complex Type "GaeColumnExtType"

Used by type ColumnType

Attributes:

Name Required Type Default Value Fixed Value Description
unindexed no xs:boolean GAE only: when set to "true", then this property is stored as unindexed property and you cannot search by it in future. This can save datastore space.
empty no xs:boolean GAE only: when set to "true", then null values are never stored - the property is not set at all. This can save datastore space. NOTE: You cannot search for null values in future.

XSD:

  <xs:complexType name="GaeColumnExtType">
    <xs:attribute name="unindexed" type="xs:boolean" use="optional"/>
    <xs:attribute name="empty" type="xs:boolean" use="optional"/>
  <xs:complexType>

Complex Type "ColumnType"

Used by type TableType

Sequence: ( comment*, ( ( type, enum?, auto? ) | ref ), transient?, not-null?, pk?, default-value?, edit?, gae? )

Attributes:

Name Required Type Default Value Fixed Value Description
name yes ColumnNameType
java no NameType

Elements:

Name Card Type Description
comment 0 - unbounded xs:string A comment which is copied to the java code.
type 1 ColumnTypeType
enum 0 - 1 ColumnEnumType
auto 0 - 1 anonymous auto N66340 Flag: if present, then this column is automatically filled when inserting a new or updating an existing record. Autoincrement (mysql) or sequences (oracle) are used for "short", "int" and "long" columns. The current date is used for "Date" columns. The current date and time is used for "Timestamp" columns. The default mode is 'insert'. The 'update' mode allows to update Date and Timestamp columns for both 'insert' and 'update' operations. For integer types only the 'insert' mode is valid.
ref 1 RefTableOptColumnOptType Reference to other (table's) column. If the column name is not specified, then it is the same as the current column's name. The type (including enums) are taken from the other column's type.
transient 0 - 1 anonymous transient N66419 Flags the column as transient - data are not serialized. Optional attributes allow you to specify the serialization policy exactly ("io"=java IO, "gwt"=GWT serialization)
not-null 0 - 1 -
pk 0 - 1 -
default-value 0 - 1 xs:string Defines default value (Java syntax: e.g. 1, 2.2, true, "abcd", com.foo.CONSTANT )
edit 0 - 1 - Flags the collumn as editable - it means that this column can be updated.
gae 0 - 1 GaeColumnExtType GAE only extension attributes.

XSD:

  <xs:complexType name="ColumnType">
    <xs:sequence>
      <xs:element name="comment" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
      <xs:choice>
        <xs:sequence>
          <xs:element name="type" type="ColumnTypeType"/>
          <xs:element name="enum" type="ColumnEnumType" minOccurs="0"/>
          <xs:element name="auto" minOccurs="0">
            <xs:complexType>
              <xs:attribute name="sequence" type="SequenceNameType" use="optional"/>
              <xs:attribute name="start" type="xs:int" use="optional"/>
              <xs:attribute name="on" use="optional" default="insert">
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:enumeration value="insert"/>
                    <xs:enumeration value="update"/>
                    <xs:enumeration value="update-only"/>
                  <xs:restriction>
                <xs:simpleType>
              <xs:attribute>
            <xs:complexType>
          <xs:element>
        <xs:sequence>
        <xs:element name="ref" type="RefTableOptColumnOptType"/>
      <xs:choice>
      <xs:element name="transient" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="io" type="xs:boolean" use="optional" default="true"/>
          <xs:attribute name="gwt" type="xs:boolean" use="optional" default="true"/>
        <xs:complexType>
      <xs:element>
      <xs:element name="not-null" minOccurs="0"/>
      <xs:element name="pk" minOccurs="0"/>
      <xs:element name="default-value" type="xs:string" minOccurs="0"/>
      <xs:element name="edit" minOccurs="0"/>
      <xs:element name="gae" type="GaeColumnExtType" minOccurs="0"/>
    <xs:sequence>
    <xs:attribute name="name" type="ColumnNameType" use="required"/>
    <xs:attribute name="java" type="NameType" use="optional"/>
  <xs:complexType>

Complex Type "IndexType"

Used by type TableType

Sequence: ( unique?, no-find?, columns )

Attributes:

Name Required Type Default Value Fixed Value Description
name yes IndexNameType

Elements:

Name Card Type Description
unique 0 - 1 - Flag: if present, then the index is unique.
no-find 0 - 1 anonymous no-find N66516 Flag: if present, then no finder method is generated for this index. If one or more level is specified, then only the level is not generated. The levels are numbered 1,2,3,...
columns 1 ColumnsType

XSD:

  <xs:complexType name="IndexType">
    <xs:sequence>
      <xs:element name="unique" minOccurs="0"/>
      <xs:element name="no-find" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="level" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:attribute name="no" type="xs:int" use="required"/>
              <xs:complexType>
            <xs:element>
          <xs:sequence>
        <xs:complexType>
      <xs:element>
      <xs:element name="columns" type="ColumnsType"/>
    <xs:sequence>
    <xs:attribute name="name" type="IndexNameType" use="required"/>
  <xs:complexType>

Complex Type "FindType"

Used by type TableType, type ViewType

Sequence: ( comment?, ( unique | range )?, ( all | dynamic | pk | index | condition | ref ), order-by?, use-no-cache? )

Attributes:

Name Required Type Default Value Fixed Value Description
name no NameType The name of the finder - the java name is constructed as "find" + ucfirst(@name). The attribute is optional for condition types: "all" (findAll), "dynamic" (findDynamic), pk (findByPrimaryKey) and "index" (findBy + index columns).
limit no xs:int -1 Limits the result. Only applicable for non-unique finders.

Elements:

Name Card Type Description
comment 0 - 1 xs:string A comment which is copied to the java code.
unique 1 - Flag: if present, then the finder is unique and returns one record at most.
range 1 - Flag: if present, then the finder method will contain "offset" and "count" variables.
all 1 - A special finder: finds all records.
dynamic 1 - A generic finder - allows to pass SQL condition + parameters.
pk 1 - Find a record by its primary key.
index 1 IndexFindType Condition constructed using existing index.
condition 1 ConditionType Explicit finder - allows to pass parameters to predefined SQL.
ref 1 RefTableType Finds records by a reference.
order-by 0 - 1 anonymous order-by N66659
use-no-cache 0 - 1 - Forces not using default cache - can be used only for "pk" finder types.

XSD:

  <xs:complexType name="FindType">
    <xs:sequence>
      <xs:element name="comment" type="xs:string" minOccurs="0"/>
      <xs:choice minOccurs="0">
        <xs:element name="unique"/>
        <xs:element name="range"/>
      <xs:choice>
      <xs:choice>
        <xs:element name="all"/>
        <xs:element name="dynamic"/>
        <xs:element name="pk"/>
        <xs:element name="index" type="IndexFindType"/>
        <xs:element name="condition" type="ConditionType"/>
        <xs:element name="ref" type="RefTableType"/>
      <xs:choice>
      <xs:element name="order-by" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="column" type="ColumnOrderReferenceType" maxOccurs="unbounded"/>
          <xs:sequence>
        <xs:complexType>
      <xs:element>
      <xs:element name="use-no-cache" minOccurs="0"/>
    <xs:sequence>
    <xs:attribute name="name" type="NameType" use="optional"/>
    <xs:attribute name="limit" type="xs:int" use="optional" default="-1"/>
  <xs:complexType>

Complex Type "CountType"

Used by type TableType, type ViewType

Sequence: ( comment?, ( all | dynamic | index | condition | ref ) )

Attributes:

Name Required Type Default Value Fixed Value Description
name no NameType The name of the finder - the java name is constructed as "count" + ucfirst(@name). The attribute is optional for condition types: "all" (countAll), "dynamic" (countDynamic), pk (countByPrimaryKey) and "index" (countBy + index columns).

Elements:

Name Card Type Description
comment 0 - 1 xs:string A comment which is copied to the java code.
all 1 - A special finder: finds all records.
dynamic 1 - A generic finder - allows to pass SQL condition + parameters.
index 1 IndexFindType Condition constructed using existing index.
condition 1 ConditionType Explicit finder - allows to pass parameters to predefined SQL.
ref 1 RefTableType Finds records by a reference.

XSD:

  <xs:complexType name="CountType">
    <xs:sequence>
      <xs:element name="comment" type="xs:string" minOccurs="0"/>
      <xs:choice>
        <xs:element name="all"/>
        <xs:element name="dynamic"/>
        <xs:element name="index" type="IndexFindType"/>
        <xs:element name="condition" type="ConditionType"/>
        <xs:element name="ref" type="RefTableType"/>
      <xs:choice>
    <xs:sequence>
    <xs:attribute name="name" type="NameType" use="optional"/>
  <xs:complexType>

Complex Type "UpdateType"

Used by type TableType

Sequence: ( comment?, unique?, set, ( all | dynamic | index | condition | pk ) )

Attributes:

Name Required Type Default Value Fixed Value Description
name no NameType The name of the method - the java name is constructed as "update" + ucfirst(@name). The attribute is optional for condition types: "all" (updateAll), "dynamic" (updateDynamic), pk (updateByPrimaryKey) and "index" (updateBy + index columns).

Elements:

Name Card Type Description
comment 0 - 1 xs:string A comment which is copied to the java code.
unique 0 - 1 - Flag: if present, then the update is unique and if more than one record is updated, then a DaoException is thrown.
set 1 UpdateSetType Describes which columns will be updated and how.
all 1 - Updates all records.
dynamic 1 - A generic update - allows to pass SQL condition + parameters.
index 1 IndexFindType Condition constructed using existing index.
condition 1 ConditionType Explicit update - allows to pass parameters to predefined SQL.
pk 1 - Updates record by its primary key.

XSD:

  <xs:complexType name="UpdateType">
    <xs:sequence>
      <xs:element name="comment" type="xs:string" minOccurs="0"/>
      <xs:element name="unique" minOccurs="0"/>
      <xs:element name="set" type="UpdateSetType"/>
      <xs:choice>
        <xs:element name="all"/>
        <xs:element name="dynamic"/>
        <xs:element name="index" type="IndexFindType"/>
        <xs:element name="condition" type="ConditionType"/>
        <xs:element name="pk"/>
      <xs:choice>
    <xs:sequence>
    <xs:attribute name="name" type="NameType" use="optional"/>
  <xs:complexType>

Complex Type "TruncateType"

Used by type TableType

Sequence: ( comment? )

Elements:

Name Card Type Description
comment 0 - 1 xs:string A comment which is copied to the java code.

XSD:

  <xs:complexType name="TruncateType">
    <xs:sequence>
      <xs:element name="comment" type="xs:string" minOccurs="0"/>
    <xs:sequence>
  <xs:complexType>

Complex Type "DeleteType"

Used by type TableType

Sequence: ( comment?, unique?, ( all | dynamic | index | condition | pk ) )

Attributes:

Name Required Type Default Value Fixed Value Description
name no NameType The name of the delete - the java name is constructed as "delete" + ucfirst(@name). The attribute is optional for condition types: "all" (deleteAll), "dynamic" (deleteDynamic), pk (deleteByPrimaryKey) and "index" (deleteBy + index columns).

Elements:

Name Card Type Description
comment 0 - 1 xs:string A comment which is copied to the java code.
unique 0 - 1 - Flag: if present, then the delete is unique and if more than one record is deleted, then a DaoException is thrown.
all 1 - Deletes all records.
dynamic 1 - A generic delete - allows to pass SQL condition + parameters.
index 1 IndexFindType Condition constructed using existing index.
condition 1 ConditionType Explicit delete - allows to pass parameters to predefined SQL.
pk 1 - Deletes record by its primary key.

XSD:

  <xs:complexType name="DeleteType">
    <xs:sequence>
      <xs:element name="comment" type="xs:string" minOccurs="0"/>
      <xs:element name="unique" minOccurs="0"/>
      <xs:choice>
        <xs:element name="all"/>
        <xs:element name="dynamic"/>
        <xs:element name="index" type="IndexFindType"/>
        <xs:element name="condition" type="ConditionType"/>
        <xs:element name="pk"/>
      <xs:choice>
    <xs:sequence>
    <xs:attribute name="name" type="NameType" use="optional"/>
  <xs:complexType>

Complex Type "MoveType"

Used by type TableType

Sequence: ( comment?, ( all | dynamic | index | condition ) )

Attributes:

Name Required Type Default Value Fixed Value Description
name no NameType The name of the move - the java name is constructed as "move" + ucfirst(@name). The attribute is optional for condition types: "all" (moveAll), "dynamic" (moveDynamic), pk (moveByPrimaryKey) and "index" (moveBy + index columns).
target yes TableNameType The target table.

Elements:

Name Card Type Description
comment 0 - 1 xs:string A comment which is copied to the java code.
all 1 - Moves all records.
dynamic 1 - A generic move - allows to pass SQL condition + parameters.
index 1 IndexFindType Condition constructed using existing index.
condition 1 ConditionType Explicit move - allows to pass parameters to predefined SQL.

XSD:

  <xs:complexType name="MoveType">
    <xs:sequence>
      <xs:element name="comment" type="xs:string" minOccurs="0"/>
      <xs:choice>
        <xs:element name="all"/>
        <xs:element name="dynamic"/>
        <xs:element name="index" type="IndexFindType"/>
        <xs:element name="condition" type="ConditionType"/>
      <xs:choice>
    <xs:sequence>
    <xs:attribute name="name" type="NameType" use="optional"/>
    <xs:attribute name="target" type="TableNameType" use="required"/>
  <xs:complexType>

Complex Type "InsertAllType"

Used by type TableType

Attributes:

Name Required Type Default Value Fixed Value Description
name no NameType The name of the insert-all - the java name is "insertAll" + ucfirst(@name). The attribute is optional and the default name i "insertAll".

XSD:

  <xs:complexType name="InsertAllType">
    <xs:attribute name="name" type="NameType" use="optional"/>
  <xs:complexType>

Complex Type "RowType"

Used by type TableType

Sequence: ( c+ )

Elements:

Name Card Type Description
c 1 - unbounded xs:string

XSD:

  <xs:complexType name="RowType">
    <xs:sequence>
      <xs:element name="c" type="xs:string" maxOccurs="unbounded"/>
    <xs:sequence>
  <xs:complexType>

Complex Type "DefaultCacheType"

Used by type ConfigDaoImplType

Attributes:

Name Required Type Default Value Fixed Value Description
max-size yes xs:int The maximum number of cached pairs (key,value). This is used only for L1 caches (Memory).
expire-millis no xs:int -1 The number of milliseconds after which the cached item expires. If not specified or a negative number is specified, then items never expires.
l2-expire-millis no xs:int -1 L2 cache expiration period - currently used for GAE (MemcacheService). The number of milliseconds after which the cached item expires. If not specified or a negative number is specified, then items never expires.

XSD:

  <xs:complexType name="DefaultCacheType">
    <xs:attribute name="max-size" type="xs:int" use="required"/>
    <xs:attribute name="expire-millis" type="xs:int" use="optional" default="-1"/>
    <xs:attribute name="l2-expire-millis" type="xs:int" use="optional" default="-1"/>
  <xs:complexType>

Complex Type "ConfigDtoType"

Used by type ConfigType, type ConfigTableType

Sequence: ( root? )

Attributes:

Name Required Type Default Value Fixed Value Description
enum-column no xs:boolean false Enables generating of the "Column" enumeration in every DTO class.
serial-version no xs:int Forces the Serializable's static attribute serialVersionUID to be a specific number.
equality no EqualityType columns Defines how methods equals() and hashCode() will be constructed. "full" = compares all column values and also "modified" flags. "columns" = compares all column values. "pk" = compares only primary key (and gae parent keys if exist). "identity" = same as no equals() nor hashCode() methods were generated, but if parent exists, then the parent's methods are overriden. "none" = no equals() not hashCode() methods are generated. If a parent exists, then the parent's methods are used.
gwt-compatible no xs:boolean false Forces DTOs to be GWT compatible. Currently these differences are applied: - method hashCode(): "double" columns "Float.floatToIntBits(val)" is not GWT compatible, and is replaced by "(int)val".

Elements:

Name Card Type Description
root 0 - 1 JavaFullNameType The full java name of a specific parent class for each DTO. The default is com.spoledge.audao.db.dto.AbstractDto .

XSD:

  <xs:complexType name="ConfigDtoType">
    <xs:sequence>
      <xs:element name="root" type="JavaFullNameType" minOccurs="0"/>
    <xs:sequence>
    <xs:attribute name="enum-column" type="xs:boolean" default="false" use="optional"/>
    <xs:attribute name="serial-version" type="xs:int" use="optional"/>
    <xs:attribute name="equality" type="EqualityType" default="columns" use="optional"/>
    <xs:attribute name="gwt-compatible" type="xs:boolean" default="false" use="optional"/>
  <xs:complexType>

Complex Type "ConfigDaoType"

Used by type ConfigType, type ConfigTableType

Sequence: ( root? )

Attributes:

Name Required Type Default Value Fixed Value Description
method-get-order-expr no xs:boolean false Enables generating of the "getOrderExpr" method in every DTO class. This also forces generating of the "Column" enumeration in every DTO class.
find-many-result no FindManyResultType array Switches between the types of the finders (non-unique) - either arrays or lists.

Elements:

Name Card Type Description
root 0 - 1 JavaFullNameType The full java name of a specific parent class for each DAO. The default is com.spoledge.audao.db.dao.AbstractDao .

XSD:

  <xs:complexType name="ConfigDaoType">
    <xs:sequence>
      <xs:element name="root" type="JavaFullNameType" minOccurs="0"/>
    <xs:sequence>
    <xs:attribute name="method-get-order-expr" type="xs:boolean" default="false" use="optional"/>
    <xs:attribute name="find-many-result" type="FindManyResultType" default="array" use="optional"/>
  <xs:complexType>

Complex Type "ConfigDaoImplType"

Used by type ConfigType, type ConfigTableType

Sequence: ( root*, default-cache? )

Elements:

Name Card Type Description
root 0 - unbounded anonymous root N67311 The full java name of a specific parent class for each DAO Impl. The default is either com.spoledge.audao.db.dao.AbstractDaoImpl (mysql|oracle) or com.spoledge.audao.db.dao.gae.GaeAbstractDaoImpl (gae) or com.spoledge.audao.db.dao.gae.GaeJdoAbstractDaoImpl (gaejdo) depending on the dbtype.
default-cache 0 - 1 DefaultCacheType The default cache configuration. The default cache is that cache which is filled by the insert and find/pk (findByPrimaryKey) methods and peeked by the find/pk method. If no default cache is set, then data are not cached.

XSD:

  <xs:complexType name="ConfigDaoImplType">
    <xs:sequence>
      <xs:element name="root" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="JavaFullNameType">
              <xs:attribute name="dbtype" type="xs:token" use="optional"/>
            <xs:extension>
          <xs:simpleContent>
        <xs:complexType>
      <xs:element>
      <xs:element name="default-cache" minOccurs="0" type="DefaultCacheType"/>
    <xs:sequence>
  <xs:complexType>

Complex Type "ConfigFactoryType"

Used by type ConfigType

Sequence: ( create-params? )

Elements:

Name Card Type Description
create-params 0 - 1 anonymous create-params N67363 Specifies whether the createXXXDao() methods will have parameter (Connection or PersistenceManager or DatastoreService) or not.

XSD:

  <xs:complexType name="ConfigFactoryType">
    <xs:sequence>
      <xs:element name="create-params" minOccurs="0">
        <xs:complexType>
          <xs:attribute name="default" type="xs:boolean" default="true" use="optional"/>
          <xs:attribute name="connection" type="xs:boolean" default="false" use="optional"/>
          <xs:attribute name="pm" type="xs:boolean" default="false" use="optional"/>
          <xs:attribute name="gaeds" type="xs:boolean" default="false" use="optional"/>
          <xs:attribute name="direct" type="xs:boolean" default="false" use="optional"/>
        <xs:complexType>
      <xs:element>
    <xs:sequence>
  <xs:complexType>

Complex Type "ColumnViewType"

Used by type ViewType

Choice: ( ( type, enum?, not-null? ) | ( ref, null? ) )

Attributes:

Name Required Type Default Value Fixed Value Description
name yes ColumnNameType
java no NameType

Elements:

Name Card Type Description
type 1 ColumnTypeType
enum 0 - 1 ColumnEnumType
not-null 0 - 1 -
ref 1 RefTableAliasColumnOptType Reference to a table's column. If the column name is not specified, then it is the same as the current column's name. The type (including enums) and nullable flag are taken from the other column's type.
null 0 - 1 - Forces column to be not "not-null". When joining tables this can often happen - the original column is not-null, but the column in the view can be null.

XSD:

  <xs:complexType name="ColumnViewType">
    <xs:choice>
      <xs:sequence>
        <xs:element name="type" type="ColumnTypeType"/>
        <xs:element name="enum" type="ColumnEnumType" minOccurs="0"/>
        <xs:element name="not-null" minOccurs="0"/>
      <xs:sequence>
      <xs:sequence>
        <xs:element name="ref" type="RefTableAliasColumnOptType"/>
        <xs:element name="null" minOccurs="0"/>
      <xs:sequence>
    <xs:choice>
    <xs:attribute name="name" type="ColumnNameType" use="required"/>
    <xs:attribute name="java" type="NameType" use="optional"/>
  <xs:complexType>

Complex Type "TableType"

Used by type DatabaseType

Sequence: ( comment*, config?, ( read-only | edit-mode )?, auto-find?, columns?, indexes?, methods?, data? )

Attributes:

Name Required Type Default Value Fixed Value Description
name yes TableNameType The name of the table/entity. This is the name used for DB table.
schema no SchemaNameType If specified, then the schema name is prepended to the table name and all asociated objects (indexes, sequences).
java no NameType A Java name used for generating names of DTO, DAO and DAO-implementation classes. The default Java name is constructed from the table name.
abstract no xs:boolean false If true, then no real DB table is created/used and the java classes are flagged as abstract.
force-dto no xs:boolean false If this is true, then using of the table's own DTO is forced rather using of inherited one. For abstract classes this also forces to stop using generic DTO template <T>.
extends no TableNameType The name of the parent table. All generated DTO, DAO and DAO-impl classes extend the parent classes if exist.
prefix-index no NameType The prefix add for all index names. Usefull when defining an index in the parent table. The different prefixes defined by child tables avoid conflicts in the "create tables" SQL.

Elements:

Name Card Type Description
comment 0 - unbounded xs:string A comment which is copied to the java code.
config 0 - 1 ConfigTableType The local configuration options which affect the SQL and DAO generator.
read-only 1 - Flags the table as a read-only. No insert/update/delete/move methods are generated.
edit-mode 1 EditModeType The edit mode for the table. Default is 'row'. NOTE: for the 'row' mode you must flag at least one column by the 'edit' flag in order to be the 'update' method generated.
auto-find 0 - 1 AutoFindType Flag: specifies whether finders are automatically generated for all tables. See more information on AutoFindType.
columns 0 - 1 anonymous columns N67573 A list of all columns. This can be omitted when extending a table or creating an abstract table. If omitted and the table extends another table, then instead of generating own DTO class, the DTO class of the parent table is used.
indexes 0 - 1 anonymous indexes N67589
methods 0 - 1 anonymous methods N67605
data 0 - 1 anonymous data N67648

XSD:

  <xs:complexType name="TableType">
    <xs:sequence>
      <xs:element name="comment" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="config" minOccurs="0" type="ConfigTableType"/>
      <xs:choice minOccurs="0">
        <xs:element name="read-only"/>
        <xs:element name="edit-mode" type="EditModeType"/>
      <xs:choice>
      <xs:element name="auto-find" type="AutoFindType" minOccurs="0"/>
      <xs:element name="columns" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="column" type="ColumnType" maxOccurs="unbounded"/>
          <xs:sequence>
        <xs:complexType>
      <xs:element>
      <xs:element name="indexes" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="index" type="IndexType" maxOccurs="unbounded"/>
          <xs:sequence>
        <xs:complexType>
      <xs:element>
      <xs:element name="methods" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="count" type="CountType"/>
              <xs:element name="find" type="FindType"/>
              <xs:element name="update" type="UpdateType"/>
              <xs:element name="delete" type="DeleteType"/>
              <xs:element name="truncate" type="TruncateType"/>
              <xs:element name="move" type="MoveType"/>
              <xs:element name="insert-all" type="InsertAllType"/>
            <xs:choice>
          <xs:sequence>
        <xs:complexType>
      <xs:element>
      <xs:element name="data" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="row" type="RowType" maxOccurs="unbounded"/>
          <xs:sequence>
        <xs:complexType>
      <xs:element>
    <xs:sequence>
    <xs:attribute name="name" type="TableNameType" use="required"/>
    <xs:attribute name="schema" type="SchemaNameType" use="optional"/>
    <xs:attribute name="java" type="NameType" use="optional"/>
    <xs:attribute name="abstract" type="xs:boolean" use="optional" default="false"/>
    <xs:attribute name="force-dto" type="xs:boolean" use="optional" default="false"/>
    <xs:attribute name="extends" type="TableNameType" use="optional"/>
    <xs:attribute name="prefix-index" type="NameType" use="optional"/>
  <xs:complexType>

Complex Type "ViewType"

Used by type DatabaseType

Sequence: ( tables, columns, sql?, methods? )

Attributes:

Name Required Type Default Value Fixed Value Description
name yes ViewNameType
schema no SchemaNameType If specified, then the schema name is prepended to the view name.
java no NameType

Elements:

Name Card Type Description
tables 1 anonymous tables N67756
columns 1 anonymous columns N67771
sql 0 - 1 anonymous sql N67793 The SQL definition of the view. If not present, then it is generated as specified by the "tables" and "columns" sections.
methods 0 - 1 anonymous methods N67859

XSD:

  <xs:complexType name="ViewType">
    <xs:sequence>
      <xs:element name="tables">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="ref" type="RefTableAliasType" maxOccurs="unbounded"/>
          <xs:sequence>
        <xs:complexType>
      <xs:element>
      <xs:element name="columns">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="column" type="ColumnViewType" maxOccurs="unbounded"/>
          <xs:sequence>
        <xs:complexType>
      <xs:element>
      <xs:element name="sql" minOccurs="0">
        <xs:complexType>
          <xs:choice>
            <xs:element name="query" type="StringWithDbType" minOccurs="0" maxOccurs="unbounded"/>
            <xs:sequence>
              <xs:element name="columns" type="StringWithDbType" minOccurs="0" maxOccurs="unbounded"/>
              <xs:element name="from" type="StringWithDbType" minOccurs="0" maxOccurs="unbounded"/>
              <xs:element name="where" type="StringWithDbType" minOccurs="0" maxOccurs="unbounded"/>
            <xs:sequence>
          <xs:choice>
        <xs:complexType>
      <xs:element>
      <xs:element name="methods" minOccurs="0">
        <xs:complexType>
          <xs:choice maxOccurs="unbounded">
            <xs:element name="count" type="CountType"/>
            <xs:element name="find" type="FindType"/>
          <xs:choice>
        <xs:complexType>
      <xs:element>
    <xs:sequence>
    <xs:attribute name="name" type="ViewNameType" use="required"/>
    <xs:attribute name="schema" type="SchemaNameType" use="optional"/>
    <xs:attribute name="java" type="NameType" use="optional"/>
  <xs:complexType>

Complex Type "ConfigType"

Used by type DatabaseType

Sequence: ( dto?, dao?, dao-impl?, factory? )

Elements:

Name Card Type Description
dto 0 - 1 ConfigDtoType Configuration options for DTO classes.
dao 0 - 1 ConfigDaoType Configuration options for DAO classes.
dao-impl 0 - 1 ConfigDaoImplType Configuration options for DAO Impl classes.
factory 0 - 1 ConfigFactoryType Configuration options for DAO factory.

XSD:

  <xs:complexType name="ConfigType">
    <xs:sequence>
      <xs:element name="dto" type="ConfigDtoType" minOccurs="0"/>
      <xs:element name="dao" type="ConfigDaoType" minOccurs="0"/>
      <xs:element name="dao-impl" type="ConfigDaoImplType" minOccurs="0"/>
      <xs:element name="factory" type="ConfigFactoryType" minOccurs="0"/>
    <xs:sequence>
  <xs:complexType>

Complex Type "ConfigTableType"

Used by type TableType

Sequence: ( dto?, dao?, dao-impl? )

Elements:

Name Card Type Description
dto 0 - 1 ConfigDtoType Configuration options for DTO classes.
dao 0 - 1 ConfigDaoType Configuration options for DAO classes.
dao-impl 0 - 1 ConfigDaoImplType Configuration options for DAO Impl classes.

XSD:

  <xs:complexType name="ConfigTableType">
    <xs:sequence>
      <xs:element name="dto" type="ConfigDtoType" minOccurs="0"/>
      <xs:element name="dao" type="ConfigDaoType" minOccurs="0"/>
      <xs:element name="dao-impl" type="ConfigDaoImplType" minOccurs="0"/>
    <xs:sequence>
  <xs:complexType>

Complex Type "DatabaseType"

Used by element database

Sequence: ( config?, tables?, views? )

Attributes:

Name Required Type Default Value Fixed Value Description
version yes xs:string The version of the AUDAO schema. The current version is 1.0.
schema no SchemaNameType If specified, then the schema name is prepended to all objects.

Elements:

Name Card Type Description
config 0 - 1 ConfigType The global configuration options which affect the SQL and DAO generator.
tables 0 - 1 anonymous tables N68018
views 0 - 1 anonymous views N68046

XSD:

  <xs:complexType name="DatabaseType">
    <xs:sequence>
      <xs:element name="config" minOccurs="0" type="ConfigType"/>
      <xs:element name="tables" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="auto-find" type="AutoFindType" minOccurs="0"/>
            <xs:element name="table" type="TableType" maxOccurs="unbounded"/>
          <xs:sequence>
        <xs:complexType>
      <xs:element>
      <xs:element name="views" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="view" type="ViewType" maxOccurs="unbounded"/>
          <xs:sequence>
        <xs:complexType>
      <xs:element>
    <xs:sequence>
    <xs:attribute name="version" type="xs:string" use="required"/>
    <xs:attribute name="schema" type="SchemaNameType" use="optional"/>
  <xs:complexType>

Element "database"

Type: DatabaseType
Cardinality: 1

XSD:

  <xs:element name="database" type="DatabaseType"/>

Complex Type "anonymous value N65802"

Defined by type ColumnEnumType

Extended type NameType

Attributes:

Name Required Type Default Value Fixed Value Description
id no xs:int
db no xs:string

XSD:

  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="NameType">
        <xs:attribute name="id" type="xs:int" use="optional"/>
        <xs:attribute name="db" type="xs:string" use="optional"/>
      <xs:extension>
    <xs:simpleContent>
  <xs:complexType>

Complex Type "anonymous param N66091"

Defined by type ParamsType

Attributes:

Name Required Type Default Value Fixed Value Description
name yes NameType The parameter name.
type yes ColumnTypeListType The parameter type.
class no xs:string The Java class to use for Serializable ans List types. See the ColumnTypeType documentation.
list no xs:boolean false For GAE only: forces to use List<param-type> parameter instead of the simple type.

XSD:

  <xs:complexType>
    <xs:attribute name="name" type="NameType" use="required"/>
    <xs:attribute name="type" type="ColumnTypeListType" use="required"/>
    <xs:attribute name="class" type="xs:string" use="optional"/>
    <xs:attribute name="list" type="xs:boolean" use="optional" default="false"/>
  <xs:complexType>

Complex Type "anonymous auto N66340"

Defined by type ColumnType

Attributes:

Name Required Type Default Value Fixed Value Description
sequence no SequenceNameType The sequence name used for oracle DB. The default value is "seq_" + the name of the table.
start no xs:int The start value used for sequences in oracle DB. The default value is "1".
on no anonymous on N66377 insert The event when the auto-filling is enabled. The 'update' and 'update-only' value is allowed only for 'Date' and 'Timestamp' types.

XSD:

  <xs:complexType>
    <xs:attribute name="sequence" type="SequenceNameType" use="optional"/>
    <xs:attribute name="start" type="xs:int" use="optional"/>
    <xs:attribute name="on" use="optional" default="insert">
      <xs:simpleType>
        <xs:restriction base="xs:string">
          <xs:enumeration value="insert"/>
          <xs:enumeration value="update"/>
          <xs:enumeration value="update-only"/>
        <xs:restriction>
      <xs:simpleType>
    <xs:attribute>
  <xs:complexType>

Complex Type "anonymous transient N66419"

Defined by type ColumnType

Attributes:

Name Required Type Default Value Fixed Value Description
io no xs:boolean true
gwt no xs:boolean true

XSD:

  <xs:complexType>
    <xs:attribute name="io" type="xs:boolean" use="optional" default="true"/>
    <xs:attribute name="gwt" type="xs:boolean" use="optional" default="true"/>
  <xs:complexType>

Complex Type "anonymous no-find N66516"

Defined by type IndexType

Sequence: ( level* )

Elements:

Name Card Type Description
level 0 - unbounded anonymous level N66525

XSD:

  <xs:complexType>
    <xs:sequence>
      <xs:element name="level" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
          <xs:attribute name="no" type="xs:int" use="required"/>
        <xs:complexType>
      <xs:element>
    <xs:sequence>
  <xs:complexType>

Complex Type "anonymous level N66525"

Defined by type IndexType

Attributes:

Name Required Type Default Value Fixed Value Description
no yes xs:int

XSD:

  <xs:complexType>
    <xs:attribute name="no" type="xs:int" use="required"/>
  <xs:complexType>

Complex Type "anonymous order-by N66659"

Defined by type FindType

Sequence: ( column+ )

Elements:

Name Card Type Description
column 1 - unbounded ColumnOrderReferenceType

XSD:

  <xs:complexType>
    <xs:sequence>
      <xs:element name="column" type="ColumnOrderReferenceType" maxOccurs="unbounded"/>
    <xs:sequence>
  <xs:complexType>

Complex Type "anonymous root N67311"

Defined by type ConfigDaoImplType

Extended type JavaFullNameType

Attributes:

Name Required Type Default Value Fixed Value Description
dbtype no xs:token The target database type the root is applied for.

XSD:

  <xs:complexType>
    <xs:simpleContent>
      <xs:extension base="JavaFullNameType">
        <xs:attribute name="dbtype" type="xs:token" use="optional"/>
      <xs:extension>
    <xs:simpleContent>
  <xs:complexType>

Complex Type "anonymous create-params N67363"

Defined by type ConfigFactoryType

Attributes:

Name Required Type Default Value Fixed Value Description
default no xs:boolean true Enables implicit method without parameters - the Connection/PM is retrieved via current Factory.
connection no xs:boolean false Enables method with parameter of type Connection - the Connection is passed directly to DAO implementation.
pm no xs:boolean false Enables method with parameter of type PersistenceManager (GAE - JDO) - the PersistenceManager is passed directly to DAO implementation. This is used by 'gaejdo' dbtype.
gaeds no xs:boolean false Enables method with parameter of type DatastoreService (GAE) - the DatastoreService is passed directly to DAO implementation. This is used by 'gae' dbtype.
direct no xs:boolean false Enables method with parameter of type Connection or PersistenceManager (depends on the dbtype) - the Connection/PersistenceManager/DatastoreService is passed directly to DAO implementation. This option can cause problems when developing for multiple DB types, because the DAOFactory methods signatures depend on the target DB type.

XSD:

  <xs:complexType>
    <xs:attribute name="default" type="xs:boolean" default="true" use="optional"/>
    <xs:attribute name="connection" type="xs:boolean" default="false" use="optional"/>
    <xs:attribute name="pm" type="xs:boolean" default="false" use="optional"/>
    <xs:attribute name="gaeds" type="xs:boolean" default="false" use="optional"/>
    <xs:attribute name="direct" type="xs:boolean" default="false" use="optional"/>
  <xs:complexType>

Complex Type "anonymous columns N67573"

Defined by type TableType

Sequence: ( column+ )

Elements:

Name Card Type Description
column 1 - unbounded ColumnType

XSD:

  <xs:complexType>
    <xs:sequence>
      <xs:element name="column" type="ColumnType" maxOccurs="unbounded"/>
    <xs:sequence>
  <xs:complexType>

Complex Type "anonymous indexes N67589"

Defined by type TableType

Sequence: ( index+ )

Elements:

Name Card Type Description
index 1 - unbounded IndexType

XSD:

  <xs:complexType>
    <xs:sequence>
      <xs:element name="index" type="IndexType" maxOccurs="unbounded"/>
    <xs:sequence>
  <xs:complexType>

Complex Type "anonymous methods N67605"

Defined by type TableType

Sequence: ( ( count | find | update | delete | truncate | move | insert-all )+ )

Elements:

Name Card Type Description
count 1 CountType
find 1 FindType
update 1 UpdateType
delete 1 DeleteType
truncate 1 TruncateType
move 1 MoveType
insert-all 1 InsertAllType

XSD:

  <xs:complexType>
    <xs:sequence>
      <xs:choice maxOccurs="unbounded">
        <xs:element name="count" type="CountType"/>
        <xs:element name="find" type="FindType"/>
        <xs:element name="update" type="UpdateType"/>
        <xs:element name="delete" type="DeleteType"/>
        <xs:element name="truncate" type="TruncateType"/>
        <xs:element name="move" type="MoveType"/>
        <xs:element name="insert-all" type="InsertAllType"/>
      <xs:choice>
    <xs:sequence>
  <xs:complexType>

Complex Type "anonymous data N67648"

Defined by type TableType

Sequence: ( row+ )

Elements:

Name Card Type Description
row 1 - unbounded RowType

XSD:

  <xs:complexType>
    <xs:sequence>
      <xs:element name="row" type="RowType" maxOccurs="unbounded"/>
    <xs:sequence>
  <xs:complexType>

Complex Type "anonymous tables N67756"

Defined by type ViewType

Sequence: ( ref+ )

Elements:

Name Card Type Description
ref 1 - unbounded RefTableAliasType

XSD:

  <xs:complexType>
    <xs:sequence>
      <xs:element name="ref" type="RefTableAliasType" maxOccurs="unbounded"/>
    <xs:sequence>
  <xs:complexType>

Complex Type "anonymous columns N67771"

Defined by type ViewType

Sequence: ( column+ )

Elements:

Name Card Type Description
column 1 - unbounded ColumnViewType

XSD:

  <xs:complexType>
    <xs:sequence>
      <xs:element name="column" type="ColumnViewType" maxOccurs="unbounded"/>
    <xs:sequence>
  <xs:complexType>

Complex Type "anonymous sql N67793"

Defined by type ViewType

Choice: ( query* | ( columns*, from*, where* ) )

Elements:

Name Card Type Description
query 0 - unbounded StringWithDbType A full SQL query which will be used to generate the view (SELECT .. FROM ...).
columns 0 - unbounded StringWithDbType A definition of columns of the view: e.g: "*" or "t1.id, t2.name, t3.amount". The alias prefixes must be used exactly as specified in the "tables" section.
from 0 - unbounded StringWithDbType A definition of the "from" part of the SQL, e.g.: "accounts a left join users u on a.created_by=u.user_id". The alias prefixes must be used exactly as specified in the "tables" section.
where 0 - unbounded StringWithDbType An optional "where" condition used for truncating the result, e.g: "a.account_type=1". The alias prefixes must be used exactly as specified in the "tables" section.

XSD:

  <xs:complexType>
    <xs:choice>
      <xs:element name="query" type="StringWithDbType" minOccurs="0" maxOccurs="unbounded"/>
      <xs:sequence>
        <xs:element name="columns" type="StringWithDbType" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element name="from" type="StringWithDbType" minOccurs="0" maxOccurs="unbounded"/>
        <xs:element name="where" type="StringWithDbType" minOccurs="0" maxOccurs="unbounded"/>
      <xs:sequence>
    <xs:choice>
  <xs:complexType>

Complex Type "anonymous methods N67859"

Defined by type ViewType

Choice: ( count | find )

Elements:

Name Card Type Description
count 1 CountType
find 1 FindType

XSD:

  <xs:complexType>
    <xs:choice maxOccurs="unbounded">
      <xs:element name="count" type="CountType"/>
      <xs:element name="find" type="FindType"/>
    <xs:choice>
  <xs:complexType>

Complex Type "anonymous tables N68018"

Defined by type DatabaseType

Sequence: ( auto-find?, table+ )

Elements:

Name Card Type Description
auto-find 0 - 1 AutoFindType Flag: specifies whether finders are automatically generated for this table. This value overrides global auto-find value. See more information on AutoFindType.
table 1 - unbounded TableType

XSD:

  <xs:complexType>
    <xs:sequence>
      <xs:element name="auto-find" type="AutoFindType" minOccurs="0"/>
      <xs:element name="table" type="TableType" maxOccurs="unbounded"/>
    <xs:sequence>
  <xs:complexType>

Complex Type "anonymous views N68046"

Defined by type DatabaseType

Sequence: ( view+ )

Elements:

Name Card Type Description
view 1 - unbounded ViewType

XSD:

  <xs:complexType>
    <xs:sequence>
      <xs:element name="view" type="ViewType" maxOccurs="unbounded"/>
    <xs:sequence>
  <xs:complexType>

Simple Type "anonymous on N66377"

Defined by type ColumnType

Restricted type xs:string - enumeration:

Value Description
insert
update
update-only

XSD:

  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:enumeration value="insert"/>
      <xs:enumeration value="update"/>
      <xs:enumeration value="update-only"/>
    <xs:restriction>
  <xs:simpleType>