<html>
<head>
<style><!--
  body {background-color:#ffffff;}
  .file {border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;}
  .pathname {font-family:monospace; float:right;}
  .fileheader {margin-bottom:.5em;}
  .diff {margin:0;}
  .tasklist {padding:4px;border:1px dashed #000000;margin-top:1em;}
  .tasklist ul {margin-top:0;margin-bottom:0;}
  tr.alt {background-color:#eeeeee}
  #added {background-color:#ddffdd;}
  #addedchars {background-color:#99ff99;font-weight:bolder;}
  tr.alt #added {background-color:#ccf7cc;}
  #removed {background-color:#ffdddd;}
  #removedchars {background-color:#ff9999;font-weight:bolder;}
  tr.alt #removed {background-color:#f7cccc;}
  #info {color:#888888;}
  #context {background-color:#eeeeee;}
  td {padding-left:.3em;padding-right:.3em;}
  tr.head {border-bottom-width:1px;border-bottom-style:solid;}
  tr.head td {padding:0;padding-top:.2em;}
  .task {background-color:#ffff00;}
  .comment {padding:4px;border:1px dashed #000000;background-color:#ffffdd}
  .error {color:red;}
  hr {border-width:0px;height:2px;background:black;}
--></style>
</head>
<body>
<table cellspacing="0" cellpadding="0" border="0" rules="cols">
<tr class="head"><td colspan="4">Commit in <b><tt>trunk/as2api</tt></b><span id="info"> on MAIN</span></td></tr>
<tr><td><tt><a href="#file1">as2api-documentation.xml</a></tt></td><td align="right" id="added">+146</td><td align="right" id="removed">-10</td><td nowrap="nowrap" align="center"><a href="http://svn.badgers-in-foil.co.uk/viewcvs.cgi/as2api/trunk/as2api/as2api-documentation.xml?rev=233&amp;content-type=text/vnd.viewcvs-markup">233</a> <a href="http://svn.badgers-in-foil.co.uk/viewcvs.cgi/as2api/trunk/as2api/as2api-documentation.xml.diff?r1=233&amp;r2=234">-&gt;</a> <a href="http://svn.badgers-in-foil.co.uk/viewcvs.cgi/as2api/trunk/as2api/as2api-documentation.xml?rev=234&amp;content-type=text/vnd.viewcvs-markup">234</a></td></tr>
</table>
<pre class="comment">
Further documentation
</pre>
<hr /><a name="file1" /><div class="file">
<span class="pathname"><a
href="http://svn.badgers-in-foil.co.uk/viewcvs.cgi/as2api/trunk">trunk</a>/<a
href="http://svn.badgers-in-foil.co.uk/viewcvs.cgi/as2api/trunk/as2api">as2api</a></span><br />
<div class="fileheader"><big><b>as2api-documentation.xml</b></big> <small id="info"><a href="http://svn.badgers-in-foil.co.uk/viewcvs.cgi/as2api/trunk/as2api/as2api-documentation.xml?rev=233&amp;content-type=text/vnd.viewcvs-markup">233</a> <a href="http://svn.badgers-in-foil.co.uk/viewcvs.cgi/as2api/trunk/as2api/as2api-documentation.xml.diff?r1=233&amp;r2=234">-&gt;</a> <a href="http://svn.badgers-in-foil.co.uk/viewcvs.cgi/as2api/trunk/as2api/as2api-documentation.xml?rev=234&amp;content-type=text/vnd.viewcvs-markup">234</a></small></div>
<pre class="diff"><small id="info">--- trunk/as2api/as2api-documentation.xml        2005-08-14 00:47:14 UTC (rev 233)
+++ trunk/as2api/as2api-documentation.xml        2005-08-17 23:14:14 UTC (rev 234)
@@ -329,11 +329,114 @@
</small></pre><pre class="diff" id="context">     &lt;/section&gt;
 
     &lt;section&gt;
</pre><pre class="diff" id="removed">-      &lt;title&gt;Syntax <span id="removedchars">Reference</span>&lt;/title&gt;
</pre><pre class="diff" id="added">+      &lt;title&gt;Syntax <span id="addedchars">Overview</span>&lt;/title&gt;
</pre><pre class="diff" id="context"> 
</pre><pre class="diff" id="removed">-      &lt;para&gt;&lt;remark&gt;TODO&lt;/remark&gt;&lt;/para&gt;
</pre><pre class="diff" id="added">+      &lt;para&gt;The javadoc-style syntax supported by as2api allows the contents
+      of javadoc comments to contain special javadoc 'tags' to add extra
+      meaning, and XHTML tags if extra formatting (e.g. tabulated information)
+      is required.&lt;/para&gt;
</pre><pre class="diff" id="context"> 
</pre><pre class="diff" id="added">+      &lt;para&gt;If the first non-whitespace characters on a line within a comment
+      are one or more asterisks (the '*' character), then everything upto and
+      including the initial asterisks on the line will be stripped before it
+      reaches the documentation.  This allows you to use the common comment
+      formatting idiom whereby the left-hand margin of the comment is marked
+      with a column of asterisks.&lt;/para&gt;
+
+      &lt;example&gt;
+        &lt;title&gt;Initial Asterisks on Comment Lines &lt;/title&gt;
+
+        &lt;screen&gt;/**
+ * This is an
+ * example
+ */&lt;/screen&gt;
+
+        &lt;para&gt;The documentation will include the text &lt;quote&gt;This is an
+        example&lt;/quote&gt;; the '*' characters before the words
+        &lt;wordasword&gt;This&lt;/wordasword&gt; and &lt;wordasword&gt;example&lt;/wordasword&gt;
+        will disappear.&lt;/para&gt;
+      &lt;/example&gt;
+
+      &lt;para&gt;Javadoc tags appear in two forms, &lt;wordasword&gt;block&lt;/wordasword&gt;
+      tags, such as &lt;literal&gt;@throws&lt;/literal&gt;, and
+      &lt;wordasword&gt;inline&lt;/wordasword&gt; tags, such as
+      &lt;literal&gt;{@link}&lt;/literal&gt;.&lt;/para&gt;
+
+      &lt;para&gt;Tags that are allowed in some contexts may not be allowed in
+      others.  For instance &lt;literal&gt;@throws&lt;/literal&gt; is allowed to appear
+      in the documentation of methods, but not in the documentation of
+      classes.  See the Syntax Reference below for the full details.&lt;/para&gt;
+
</pre><pre class="diff" id="context">       &lt;section&gt;
</pre><pre class="diff" id="added">+        &lt;title&gt;Block Tags&lt;/title&gt;
+
+        &lt;para&gt;Documenation-comment is split into 'blocks'.  The first block is
+        always a general description of the API element to which the comment is
+        attached.  No special tag is required to denote this description block.
+        Further blocks are added to the comment with block-tags, which must
+        always appear at the beginning of a new line.&lt;/para&gt;
+
+        &lt;example&gt;
+          &lt;title&gt;Valid Block-Tag Usage&lt;/title&gt;
+          &lt;screen&gt;/**
+ * So then this is the
+ * description.
+ * @throws Error in all cases
+ */&lt;/screen&gt;
+        &lt;/example&gt;
+
+        &lt;example&gt;
+          &lt;title&gt;Invalid Block-Tag Usage&lt;/title&gt;
+          &lt;screen&gt;/**
+ * So then this is the
+ * description.  @throws Error in all cases
+ */&lt;/screen&gt;
+        &lt;/example&gt;
+
+        &lt;example&gt;
+          &lt;title&gt;Block-Tag With Newlines&lt;/title&gt;
+          &lt;screen&gt;/**
+ * So then this is the
+ * description.
+ * @throws Error in all cases
+ *
+ * text appearing here is still part of the 'throws'
+ * block
+ */&lt;/screen&gt;
+        &lt;/example&gt;
+      &lt;/section&gt;
+
+      &lt;section&gt;
+        &lt;title&gt;Inline Tags&lt;/title&gt;
+
+        &lt;para&gt;Inline tags can appear within the middle of a line of comment
+        text (unlike block-tags, which must always appear at the start of a
+        line).  Inline tags are always surrounded by curly braces (the '{' and
+        '}' characters) so that as2api can tell them appart from 'normal'
+        text.&lt;/para&gt;
+      &lt;/section&gt;
+
+      &lt;section&gt;
+        &lt;title&gt;XHTML Tags&lt;/title&gt;
+
+        &lt;example&gt;
+          &lt;title&gt;XHTML Markup in Comments&lt;/title&gt;
+          &lt;screen&gt;&lt;![CDATA[/**
+ * The allowed values are:
+ * &lt;ul&gt;
+ *   &lt;li&gt;0.1&lt;/li&gt;
+ *   &lt;li&gt;0.01&lt;/li&gt;
+ *   &lt;li&gt;-6.66&lt;/li&gt;
+ * &lt;/ul&gt;
+ */]]&gt;&lt;/screen&gt;
+        &lt;/example&gt;
+      &lt;/section&gt;
+    &lt;/section&gt;
+
+    &lt;section&gt;
+      &lt;title&gt;Syntax Reference&lt;/title&gt;
+
+      &lt;section&gt;
</pre><pre class="diff" id="context">         &lt;title&gt;Supported JavaDoc Features&lt;/title&gt;
 
         &lt;informaltable&gt;
</pre><pre class="diff"><small id="info">@@ -353,9 +456,9 @@
</small></pre><pre class="diff" id="context">                 &lt;entry&gt;Describe a class or interface&lt;/entry&gt;
               &lt;/row&gt;
               &lt;row&gt;
</pre><pre class="diff" id="removed">-                &lt;entry&gt;&lt;link linkend="method_description"&gt;Method
</pre><pre class="diff" id="added">+                &lt;entry&gt;&lt;link linkend="member_description"&gt;Member
</pre><pre class="diff" id="context">                 Description&lt;/link&gt;&lt;/entry&gt;
</pre><pre class="diff" id="removed">-                &lt;entry&gt;Describe a method of a class or interface&lt;/entry&gt;
</pre><pre class="diff" id="added">+                &lt;entry&gt;Describe a <span id="addedchars">field/</span>method of a class or interface&lt;/entry&gt;
</pre><pre class="diff" id="context">               &lt;/row&gt;
               &lt;row&gt;
                 &lt;entry&gt;&lt;link linkend="param_tag"&gt;&lt;literal&gt;@param&lt;/literal&gt;&lt;/link&gt;&lt;/entry&gt;
</pre><pre class="diff"><small id="info">@@ -518,13 +621,15 @@
</small></pre><pre class="diff" id="context">         &lt;/formalpara&gt;
       &lt;/section&gt;
 
</pre><pre class="diff" id="removed">-      &lt;section id="method_description"&gt;
-        &lt;title&gt;Method Description&lt;/title&gt;
</pre><pre class="diff" id="added">+      &lt;section id="member_description"&gt;
+        &lt;title&gt;Member Description&lt;/title&gt;
</pre><pre class="diff" id="context"> 
</pre><pre class="diff" id="removed">-        &lt;para&gt;&lt;remark&gt;TODO&lt;/remark&gt;&lt;/para&gt;
</pre><pre class="diff" id="added">+        &lt;para&gt;A doc-comment immediately before a method or field is used as
+        the description of that member.  The text here will be added to this
+        members section in the type's API reference.&lt;/para&gt;
</pre><pre class="diff" id="context"> 
         &lt;example&gt;
</pre><pre class="diff" id="removed">-          &lt;title&gt;Me<span id="removedchars">thod</span> Description&lt;/title&gt;
</pre><pre class="diff" id="added">+          &lt;title&gt;Me<span id="addedchars">mber</span> Description&lt;/title&gt;
</pre><pre class="diff" id="context">           &lt;programlisting&gt;&lt;emphasis role="strong"&gt;/**
  * Clears all data that has previously been
  * collected in this object, and returns it to
</pre><pre class="diff"><small id="info">@@ -538,6 +643,17 @@
</small></pre><pre class="diff" id="context"> }&lt;/programlisting&gt;
         &lt;/example&gt;
 
</pre><pre class="diff" id="added">+        &lt;para&gt;When implicit fields are created (using
+        &lt;literal&gt;function get foo()&lt;/literal&gt; or
+        &lt;literal&gt;function set foo()&lt;/literal&gt; methods), an entry will be
+        created for this in the 'Fields' section of the resulting documentation
+        (not in the 'Methods' section).  If both &lt;literal&gt;get&lt;/literal&gt; and
+        &lt;literal&gt;set&lt;/literal&gt; methods are defined for a field, as2api will
+        'pick' the doc-comment from one of them to use as documentation for the
+        resulting field.  If only one of &lt;literal&gt;get&lt;/literal&gt; or
+        &lt;literal&gt;set&lt;/literal&gt; are defined, the documentation will note
+        that the field is read-only or write-only, as appropriate.&lt;/para&gt;
+
</pre><pre class="diff" id="context">         &lt;formalpara&gt;
           &lt;title&gt;May contain&lt;/title&gt;
           &lt;para&gt;&lt;link linkend="param_tag"&gt;@param&lt;/link&gt;, &lt;link linkend="return_tag"&gt;@return&lt;/link&gt;, &lt;link linkend="see_tag"&gt;@see&lt;/link&gt;&lt;/para&gt;
</pre><pre class="diff"><small id="info">@@ -547,8 +663,19 @@
</small></pre><pre class="diff" id="context">       &lt;section id="param_tag"&gt;
         &lt;title&gt;Method Parameters&lt;/title&gt;
 
</pre><pre class="diff" id="removed">-        &lt;para&gt;&lt;remark&gt;TODO&lt;/remark&gt;&lt;/para&gt;
</pre><pre class="diff" id="added">+        &lt;para&gt;Within the doc-comment describing a method,
+        &lt;literal&gt;@param&lt;/literal&gt; tags may be used to give a description
+        for each of the method's parameters.  Immidiately following the
+        &lt;literal&gt;@param&lt;/literal&gt; must be the name of the parameter to
+        be described, with any text following this name being used as the
+        description.&lt;/para&gt;
</pre><pre class="diff" id="context"> 
</pre><pre class="diff" id="added">+        &lt;para&gt;Arguments named in &lt;literal&gt;@param&lt;/literal&gt; tags must match
+        the names of the actual method arguments, or they will be skipped.
+        The special parameter name '...' may be used if the method can
+        accept a variable number of paramters (by inspecting it's
+        &lt;literal&gt;arguments&lt;/literal&gt; array.&lt;/para&gt;
+
</pre><pre class="diff" id="context">         &lt;example&gt;
           &lt;title&gt;Method Parameters&lt;/title&gt;
           &lt;programlisting&gt;/**
</pre><pre class="diff"><small id="info">@@ -565,6 +692,8 @@
</small></pre><pre class="diff" id="context">  *        index of the current value (starting with
  *        0 for the first value, 1 for the second,
  *        and so on).
</pre><pre class="diff" id="added">+ * &lt;emphasis role="strong"&gt;@param ...&lt;/emphasis&gt; any additional arguments to be passed
+ *        to the callback function.
</pre><pre class="diff" id="context">  */
 public function each(callback:Function,
                      index:Boolean):Void {
</pre><pre class="diff"><small id="info">@@ -576,11 +705,18 @@
</small></pre><pre class="diff" id="context">       &lt;section id="return_tag"&gt;
         &lt;title&gt;Method Return Values&lt;/title&gt;
 
</pre><pre class="diff" id="removed">-        &lt;para&gt;&lt;remark&gt;TODO&lt;/remark&gt;&lt;/para&gt;
</pre><pre class="diff" id="added">+        &lt;para&gt;A description of the value returned by a method, where the method
+        description itself does not give this information succinctly
+        enough.&lt;/para&gt;
+
</pre><pre class="diff" id="context">         &lt;example&gt;
           &lt;title&gt;Method Return Values&lt;/title&gt;
           &lt;programlisting&gt;/**
  * Get the value corresponding to the given key
</pre><pre class="diff" id="added">+ * by searching in the local cache first, then
+ * in the database on the LAN, and finally
+ * consulting a number of LDAP servers from
+ * around the wider internet.
</pre><pre class="diff" id="context">  *
  * &lt;emphasis role="strong"&gt;@return&lt;/emphasis&gt; either the value for the given key, or
  *         null if there is no such mapping.
</pre></div>
<center><small><a href="http://www.badgers-in-foil.co.uk/projects/cvsspam/" title="commit -&gt; email">CVSspam</a> 0.2.11</small></center>
</body></html>