Module and Interface Definition
In this section, we define a
Piedmont
module and interfaces for our example TagParse
component. TagParse parses data from within tag
pairs of the following form:
<TAG>Optional Tag Data</TAG>
Similar to XML, an end tag differs from its start tag in that it contains an additional forward slash. Example 9-1 shows a contrived set of tags for a database definition.
Example 9-1. Sample database tags with data
<Database>
<Schema>
<Field>
Data for field 1
</Field>
</Schema>
<Data>
<Record>
Data for record 1
</Record>
<Record>
Data for record 2
</Record>
</Data>
</Database>Start by creating a directory called TagParse, with the subfolders shown in Figure 9-1.

Figure 9-1. TagParse component directories
Module and interface definitions are described using Piedmont’s interface definition language (PIDL). PIDL uses XML syntax to describe the elements and attributes that make up a module, interfaces, and the classes that implement interfaces. Each Piedmont component contains a module definition (MDX) file and one or more interface definition (IDX) files.
The Piedmont SDK comes with ClassForge,
a GUI-based utility for setting up these files. We will use
ClassForge to define the module, interfaces, and implementation class
for the TagParse component. Note, however, that you may create module and interface definition files from scratch, using any text or XML editor. ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access