The mold kit of the sample project consists of molds to generate software
in the following languages:
- SQL
- Java[tm]
- C++
- HTML, used both as user interface (UI) and as documentation (DOC) language
SQL is used for the DB layer, while Java[tm] and C++ are used
for the LOGIC layer.
The table below lists all molds of the sample project,
including molds to generate intermediate files, which
are files not directly required by the project development, but that
are useful as an intermediate step in the software generation process.
Table 3 - Sample project molds
Mold
|
Description
|
CORE/mold1-.toc
|
Intermediate file, providing an expanded list, or table of contents, of the entity fields' features, including fields from embedded entities.
|
DB/mold1-.coll
|
Intermediate file, providing a list of the DB collections defined by the entity, also checking for project-conformant collection names.
|
DB/mold2-.sql
|
SQL script to create a database table as defined by collections DB.table and DB.pkey.
|
LOGIC/mold1-.coll
|
Intermediate file, providing a list of the LOGIC collections defined by the entity, also checking for project-conformant collection names.
|
LOGIC/mold2-.java
|
Java[tm] class source file, defining a Java[tm] class derived from collections LOGIC.class and LOGIC.parent.
|
LOGIC/mold3-.h
|
C++ header file, defining a C++ class derived from collections LOGIC.class and LOGIC.parent.
|
LOGIC/mold4-.cpp
|
C++ file to check compilability of generated C++ header file.
|
UI/mold1-.coll
|
Intermediate file, providing a list of the UI collections defined by the entity, also checking for project-conformant collection names.
|
UI/mold2-.fview
|
Intermediate file, providing an HTML user interface as defined by collection UI.full_view, contained in a ready-to-use HTML table to be embedded in an HTML form.
|
UI/mold3-.cview
|
Intermediate file, providing an HTML table as defined by collection UI.compact_view. This table represents a Sisendel list at the UI layer level, and is to be embedded in the HTML user interface form of those entities that include a list of this entity in their UI.full_view.
|
UI/mold4-.html
|
HTML edit/view form as defined by collection UI.full_view.
|
DOC/mold1-.html
|
HTML documentation file about the entity, its collections and its functions.
|
The mold kit includes the following project customization scripts:
- "project.hdr"
- "project.trl"
- "UI/section.hdr"
Finally, the "toolkit" of the mold kit consists
of the utility scripts listed in the following table.
Utility scripts allow mold makers to share and reuse
repetitive or generic tasks, such as list processing routines,
or multiple generation of similar blocks of software.
Table 4 - Sample project utility scripts
Script name
|
Description
|
apply_filter
|
Apply a Tefigel FILTER to a given intermediate generated file
|
check_collection
|
Verify a collection name against the project conventions
|
cpp/get
|
Generate a C++ "get" method
|
cpp/link
|
Handle C++ mapping of Sisendel simple relationship
|
cpp/param
|
Handle parameter generation for C++ methods
|
cpp/set
|
Generate a C++ "set" method
|
cpp/type
|
Handle C++ mapping of most Sisendel types
|
embed_subent
|
Handle generation of embedded collection members from an embedded entity
|
ent_warning
|
Project-customizable warning message routine
|
ets_process
|
Handle generic generation of embedded entities
|
html/formbuttons
|
Generate a row of buttons for an HTML form
|
html/formbutton
|
Generate one HTML form button
|
html/membership
|
Generate documentation about the collection memberships of an entity field
|
html/tablehdr
|
Generate a standard table header for documentation purposes
|
indent
|
Code-indenting script
|
iseven
|
Boolean function: returns true if argument is an even number
|
java/get
|
Generate a Java[tm] "get" method
|
java/link
|
Handle Java[tm] mapping of Sisendel simple relationship
|
java/param
|
Handle parameter generation for Java[tm] methods
|
java/set
|
Generate a Java[tm] "set" method
|
java/type
|
Handle Java[tm] mapping of most Sisendel types
|
link_subent
|
Handle generation of embedded collection members from a related entity
|
list/add
|
Add an item to a list
|
list/contains
|
Boolean function: returns true if a given list contains a given item
|
list/contents
|
Function: returns contents of a list
|
list/create
|
Create a new list
|
list/delete
|
Delete an existing list
|
list/print
|
Print contents of a list
|
list/process
|
Apply a given list item processor to a given list
|
print_item
|
Print one item of a list
|
proj_package
|
Convert an entity file path within a SoProTech project into a valid Java[tm] or C++ package name
|
sql/column
|
Generate a column definition for an SQL database table
|
sql/pkey
|
Add a given field to a list of primary keys for an SQL database table
|
[Previous chapter]
[Next chapter]
[Back to top]
|