1<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.0//EN"
2                  "/dtd/4.0/docbookx.dtd">
3<chapter><title>Class Synopses</title>
4
5<para>This example is Perl; it's the standard DirHandle module. I've
6cut out the code, so you'll have to trust me on the parameters.
7</para>
8
9<para>ProgramListing version:</para>
10
11<programlisting>
12package DirHandle;
13
14require 5.000;
15use Carp;
16use Symbol;
17
18sub new {
19}
20</programlisting>
21
22<para>ClassSynopsis version:</para>
23
24<classsynopsis language="perl">
25  <ooclass><classname>DirHandle</classname></ooclass>
26  <ooclass><classname>superclass1</classname></ooclass>
27  <ooclass><classname>superclass2</classname></ooclass>
28
29  <classsynopsisinfo>
30require 5.000;
31use Carp;
32use Symbol;
33
34</classsynopsisinfo>
35
36  <constructorsynopsis>
37    <methodname>new</methodname>
38    <methodparam choice="opt"><parameter>$dirname</parameter></methodparam>
39  </constructorsynopsis>
40  <destructorsynopsis>
41    <methodname>DESTROY</methodname>
42  </destructorsynopsis>
43
44</classsynopsis>
45
46<para>This example is IDL from the DOM spec.</para>
47
48<para>ProgramListing version:</para>
49
50<programlisting>
51interface Element : Node {
52  readonly attribute  DOMString            tagName;
53  DOMString                 getAttribute(in DOMString name);
54  void                      setAttribute(in DOMString name, 
55                                         in DOMString value)
56                                         raises(DOMException);
57};
58</programlisting>
59
60<para>ClassSynopsis version:</para>
61
62<classsynopsis class="interface" language="idl">
63  <ooclass><classname>Element</classname></ooclass>
64  <ooclass><classname>Node</classname></ooclass>
65
66  <fieldsynopsis>
67    <modifier>readonly</modifier>
68    <modifier>attribute</modifier>
69    <type>DOMString</type>
70    <varname>tagName</varname>
71  </fieldsynopsis>
72
73  <methodsynopsis>
74    <type>DOMString</type>
75    <methodname>getAttribute</methodname>
76      <methodparam>
77        <modifier>in</modifier>
78        <type>DOMString</type>
79        <parameter>name</parameter>
80      </methodparam>
81  </methodsynopsis>
82
83  <methodsynopsis>
84    <void/>
85    <methodname>setAttribute</methodname>
86      <methodparam>
87        <modifier>in</modifier>
88        <type>DOMString</type>
89        <parameter>name</parameter>
90      </methodparam>
91      <methodparam>
92        <modifier>in</modifier>
93        <type>DOMString</type>
94        <parameter>value</parameter>
95      </methodparam>
96    <exceptionname>DOMException</exceptionname>
97  </methodsynopsis>
98</classsynopsis>
99
100<classsynopsis language="java">
101  <ooclass><modifier>public</modifier>
102           <classname>TextFileWriter</classname>
103  </ooclass>
104  <ooclass><classname>Superclass1</classname></ooclass>
105  <ooclass><classname>Superclass2</classname></ooclass>
106  <oointerface><interfacename>Interface1</interfacename></oointerface>
107  <oointerface><interfacename>Interface2</interfacename></oointerface>
108  <ooexception><exceptionname>Exception1</exceptionname></ooexception>
109  <ooexception><exceptionname>Exception2</exceptionname></ooexception>
110
111  <fieldsynopsis>
112    <modifier>private</modifier>
113    <type>Writer</type>
114    <varname>writer</varname>
115  </fieldsynopsis>
116
117  <fieldsynopsis>
118    <modifier>public</modifier>
119    <type>String</type>
120    <varname>writerName</varname>
121    <initializer>"MyWriter"</initializer>
122  </fieldsynopsis>
123
124  <methodsynopsis>
125    <modifier>static</modifier>
126    <modifier>public</modifier>
127    <void/>
128    <methodname>write</methodname>
129    <methodparam>
130       <type>ResultTreeFragment</type>
131       <parameter>frag</parameter>
132    </methodparam>
133    <methodparam>
134       <type>String</type>
135       <parameter>file</parameter>
136    </methodparam>
137    <exceptionname>Exception1</exceptionname>
138    <exceptionname>Exception2</exceptionname>
139  </methodsynopsis>
140</classsynopsis>
141
142<programlisting>
143class Rectangle_with_data:  virtual Shape, virtual Data_container
144{
145...
146};
147</programlisting>
148
149<para>ClassSynopsis version:</para>
150
151<classsynopsis language="cpp">
152  <ooclass><classname>Rectangle_with_data</classname></ooclass>
153  <ooclass><modifier>virtual</modifier><classname>Shape</classname>
154     </ooclass>
155  <ooclass><modifier>virtual</modifier><classname>Data_container</classname>
156     </ooclass>
157  <classsynopsisinfo>...</classsynopsisinfo>
158</classsynopsis>
159
160</chapter>
161