Appendix D. PDL Syntax 193
• component — this word is reserved for future use.
• composite — used to signify a definition of a composite relationship between the current Object
Type and another Object Type. This is used in the same fashion as the association keyword.
• data operation— the keyword used tosignify the beginning of aSQL blockthat is usedoutside
of anobject type. Itis usedfor any typeof datamodeling language (DML) operations,such as insert,
update, delete, and PL/SQL procedure calls.
• default — this word is reserved for future use.
• delete— used tosignify the beginning ofthe block ofcode defining thedelete event (forexample,
how to insert an object of the defined type).
• do — used to signify the beginning of a block of SQL that should be executed by the persistence
layer. This is typically used inside defined events.
• dml — the token used to represent the string data operation. This is used to signify that DML
may be executed within the code block.
• extends — used to signify that the declared object type is a subclass of another object type. This
is similar to the Java extends keyword.
• false — the boolean value false.
• flexfields — this word is reserved for future use.
• foreign key — used to signify a foreign key when defining the table schema. It is not currently
used in PDL files, but will be added in the future.
• import — used to signify that another ObjectType will be used by the containing object type.
For instance, for an ObjectType that extends ACSObject, the second line of the PDL file would
be import com.arsdigita.kernel.*;.
• insert — used to signify the beginning of the block of code defining the "insert" event (for exam-
ple, how to insert an object of the defined type).
• join — a keyword, used in association with to, to define the way to join two database tables
together. In object types,sequences of join-tostatements aredefined to assistthe metadata-driven
SQL system in generating the standard queries.
• map — used to signify the beginning of the block that maps attribute names to specific database
columns.
• model — used to define the namespace for the given object type. This is analogous to the package
definition in Java.
• object key — used to uniquely identify a single object of the defined type. For instance, for an
ACSObject, the object key is id.
• object type — used to define the name of the given object type. This is analogous to the Class
definition in Java.
• options — used to signify that the following PDL block is a group of options for the given query
or type.
• query — used to signify the beginning of a named SQL block that is used outside of the standard
create, retrieve, update, and delete blocks. It is typically followed by a name (the name is
used to identify it in the Java code) and then the block of SQL to execute and the mapping of the
block to attribute names.
• reference key — the keyword used to specify the column that holds an object type’s object id
locally. In metadata-driven SQL, thisinformation is usedto join against thesuper object type tables.
• remove — used with associations. The PDL file uses the remove keyword, along with an associa-
tion name, to signify that a given association should be deleted from the database.