[CVS jcontainer] Migrate extension docs to main site
Peter Donald <pdonald-yCVjj/[email protected]> Wed, 31 Mar 2004 18:06:51 -0600
| Newsgroups | gmane.comp.java.jcontainer.cvs |
|---|---|
| Message-ID | <[email protected]> |
<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>jcontainer/loom</tt></b><span id="info"> on MAIN</span></td></tr>
<tr><td><tt>site/xdocs/<a href="#file1"><span id="added">extension.xml</span></a></tt></td><td align="right" id="added">+119</td><td></td><td nowrap="nowrap" align="right">added <a href="http://xstream.cvs.codehaus.org/jcontainer/loom/site/xdocs/extension.xml?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></td></tr>
<tr class="alt"><td><tt>support/extension/xdocs/<a href="#file2"><span id="removed">index.xml</span></a></tt></td><td></td><td align="right" id="removed">-121</td><td nowrap="nowrap"><a href="http://xstream.cvs.codehaus.org/jcontainer/loom/support/extension/xdocs/index.xml?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a> removed</td></tr>
<tr><td></td><td align="right" id="added">+119</td><td align="right" id="removed">-121</td><td></td></tr>
</table>
<small id="info">1 added + 1 removed, total 2 files</small><br />
<pre class="comment">
Migrate extension docs to main site
</pre>
<hr /><a name="file1" /><div class="file">
<span class="pathname" id="added"><a href="http://xstream.cvs.codehaus.org/jcontainer">jcontainer</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom">loom</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/site">site</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/site/xdocs">xdocs</a><br /></span>
<div class="fileheader" id="added"><big><b>extension.xml</b></big> <small id="info">added at <a href="http://xstream.cvs.codehaus.org/jcontainer/loom/site/xdocs/extension.xml?rev=1.1&content-type=text/vnd.viewcvs-markup">1.1</a></small></div>
<pre class="diff"><small id="info">diff -N extension.xml
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ extension.xml 1 Apr 2004 00:06:51 -0000 1.1
@@ -0,0 +1,119 @@
</small></pre><pre class="diff" id="added">+<?xml version="1.0" encoding="UTF-8"?>
+<document>
+ <properties>
+ <title>Extensions</title>
+ <author>Peter Donald</author>
+ </properties>
+ <body>
+ <section name="Extensions">
+ <p>
+ The Extension toolkit contains classes to represent entrys for
+ "Optional Package" instances (formerly known as "Standard Extension")
+ as described in the manifest of a JAR file. The toolkit can also
+ parse and represent Specification sections described in manifests.
+ </p>
+ <p>
+ The "Optional Package" mechanism can be used to declare is used
+ to declare dependencies on libraries. Prior to JDK1.3, an "Optional
+ Package" was known as an
+ <em>Extension</em>. The specification for this
+ mechanism is available in the JDK1.3 documentation in the directory
+ <tt>$JDK_HOME/docs/guide/extensions/versioning.html</tt>. Alternatively
+ it is available online at
+ <a href="http://java.sun.com/j2se/1.3/docs/guide/extensions/versioning.html">
+ http://java.sun.com/j2se/1.3/docs/guide/extensions/versioning.html</a>.
+ </p>
+
+ <p>
+ Support for the "Optional Package" specification is being mandated
+ by other specifications such as the
+ <em>Servlet 2.3 API</em>. Thus we
+ are likely to see an increase of jars using this mechanism to specify
+ dependencies.
+ </p>
+
+ <p>
+ The "Optional Package" mechanism allows jars to specify dependencies on other
+ jars that implement a particular specification at particular version levels. For
+ example you could specify a dependency on the Trax 1.1 API by adding the following
+ to the manifest of your jar.
+ </p>
+
+ <source><![CDATA[
+Extension-List: trax
+trax-Extension-Name: Java API for XML Parsing
+trax-Specification-Version: 1.1
+ ]]></source>
+
+ <p>
+ In some cases you may also wish to specify a dependency on a specific vendors
+ implementation. For instance you may need to use xalan due to it implementing a
+ particular extension you need. In that case you manifest may contain;
+ </p>
+
+ <source><![CDATA[
+Extension-List: trax
+trax-Extension-Name: Java API for XML Parsing
+trax-Specification-Version: 1.1
+trax-Implementation-Title: org.apache.xalan.xslt
+trax-Implementation-Version: 2.1.0
+trax-Implementation-Vendor: Apache Software Foundation
+ ]]></source>
+
+ <p>
+ In many cases there will be no distinction between the specification and
+ the implementation of a library. For instance the Velocity project only has
+ one implementation and one specification. In which case it is sufficient to
+ just declare a dependency on the Velocity "Specification". A library that uses
+ both the Trax API and the Velocity project may look like;
+ </p>
+
+ <source><![CDATA[
+Extension-List: trax velocity
+velocity-Extension-Name: org.apache.velocity
+velocity-Specification-Version: 1.0
+trax-Extension-Name: Java API for XML Parsing
+trax-Specification-Version: 1.1
+trax-Implementation-Title: org.apache.xalan.xslt
+trax-Implementation-Version: 2.1.0
+trax-Implementation-Vendor: Apache Software Foundation
+ ]]></source>
+
+ <p>To make other jars available as possible to libraries to add libraries
+ as "Optional Packages" or Extensions then you need to add a few lines
+ to the manifest of the other jar. The minimal manifest is the following;</p>
+
+ <source><![CDATA[
+Extension-Name: org.realityforge.dve
+Specification-Vendor: Peter Donald
+Specification-Version: 1.0
+ ]]></source>
+
+ <p>
+ It is important to note that resolving dependencies is recursive. For example,
+ if the library depends upon jar A and and A depends on B then both A
+ and B will need to be loaded by the container.
+ </p>
+
+ </section>
+
+ <section name="Using Extension">
+ <p>
+ The Extension class is responsible for both parsing and representing
+ information about Extensions. Example usage;
+ </p>
+ <pre><![CDATA[
+//Get manifest file for library
+final Manifest manifest = ...;
+
+// Get a list of extensions that this
+// library can provide to other librarys
+Extension[] available = Extension.getAvailable( manifest );
+
+// Get a list of extensions that this
+// library requires to work
+Extension[] required = Extension.getRequired( manifest );
+ ]]></pre>
+ </section>
+ </body>
+</document>
</pre></div>
<hr /><a name="file2" /><div class="file">
<span class="pathname" id="removed"><a href="http://xstream.cvs.codehaus.org/jcontainer">jcontainer</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom">loom</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/support">support</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/support/extension">extension</a>/<a href="http://xstream.cvs.codehaus.org/jcontainer/loom/support/extension/xdocs">xdocs</a><br /></span>
<div class="fileheader" id="removed"><big><b>index.xml</b></big> <small id="info">removed after <a href="http://xstream.cvs.codehaus.org/jcontainer/loom/support/extension/xdocs/index.xml?rev=1.4&content-type=text/vnd.viewcvs-markup">1.4</a></small></div>
<pre class="diff"><small id="info">diff -N index.xml
--- index.xml 31 Mar 2004 06:46:58 -0000 1.4
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,121 +0,0 @@
</small></pre><pre class="diff" id="removed">-<?xml version="1.0" encoding="UTF-8"?>
-<document>
- <properties>
- <title>Overview</title>
- <author>Peter Donald</author>
- </properties>
- <body>
- <section name="Introduction">
- <p>
- The Extension toolkit contains classes to represent entrys for
- "Optional Package" instances (formerly known as "Standard Extension")
- as described in the manifest of a JAR file. The toolkit can also
- parse and represent Specification sections described in manifests.
- </p>
- </section>
- <section name="Extensions">
- <p>
- The "Optional Package" mechanism can be used to declare is used
- to declare dependencies on libraries. Prior to JDK1.3, an "Optional
- Package" was known as an
- <em>Extension</em>. The specification for this
- mechanism is available in the JDK1.3 documentation in the directory
- <tt>$JDK_HOME/docs/guide/extensions/versioning.html</tt>. Alternatively
- it is available online at
- <a href="http://java.sun.com/j2se/1.3/docs/guide/extensions/versioning.html">
- http://java.sun.com/j2se/1.3/docs/guide/extensions/versioning.html</a>.
- </p>
-
- <p>
- Support for the "Optional Package" specification is being mandated
- by other specifications such as the
- <em>Servlet 2.3 API</em>. Thus we
- are likely to see an increase of jars using this mechanism to specify
- dependencies.
- </p>
-
- <p>
- The "Optional Package" mechanism allows jars to specify dependencies on other
- jars that implement a particular specification at particular version levels. For
- example you could specify a dependency on the Trax 1.1 API by adding the following
- to the manifest of your jar.
- </p>
-
- <source><![CDATA[
-Extension-List: trax
-trax-Extension-Name: Java API for XML Parsing
-trax-Specification-Version: 1.1
- ]]></source>
-
- <p>
- In some cases you may also wish to specify a dependency on a specific vendors
- implementation. For instance you may need to use xalan due to it implementing a
- particular extension you need. In that case you manifest may contain;
- </p>
-
- <source><![CDATA[
-Extension-List: trax
-trax-Extension-Name: Java API for XML Parsing
-trax-Specification-Version: 1.1
-trax-Implementation-Title: org.apache.xalan.xslt
-trax-Implementation-Version: 2.1.0
-trax-Implementation-Vendor: Apache Software Foundation
- ]]></source>
-
- <p>
- In many cases there will be no distinction between the specification and
- the implementation of a library. For instance the Velocity project only has
- one implementation and one specification. In which case it is sufficient to
- just declare a dependency on the Velocity "Specification". A library that uses
- both the Trax API and the Velocity project may look like;
- </p>
-
- <source><![CDATA[
-Extension-List: trax velocity
-velocity-Extension-Name: org.apache.velocity
-velocity-Specification-Version: 1.0
-trax-Extension-Name: Java API for XML Parsing
-trax-Specification-Version: 1.1
-trax-Implementation-Title: org.apache.xalan.xslt
-trax-Implementation-Version: 2.1.0
-trax-Implementation-Vendor: Apache Software Foundation
- ]]></source>
-
- <p>To make other jars available as possible to libraries to add libraries
- as "Optional Packages" or Extensions then you need to add a few lines
- to the manifest of the other jar. The minimal manifest is the following;</p>
-
- <source><![CDATA[
-Extension-Name: org.realityforge.dve
-Specification-Vendor: Peter Donald
-Specification-Version: 1.0
- ]]></source>
-
- <p>
- It is important to note that resolving dependencies is recursive. For example,
- if the library depends upon jar A and and A depends on B then both A
- and B will need to be loaded by the container.
- </p>
-
- </section>
-
- <section name="Using Extension">
- <p>
- The Extension class is responsible for both parsing and representing
- information about Extensions. Example usage;
- </p>
- <pre><![CDATA[
-//Get manifest file for library
-final Manifest manifest = ...;
-
-// Get a list of extensions that this
-// library can provide to other librarys
-Extension[] available = Extension.getAvailable( manifest );
-
-// Get a list of extensions that this
-// library requires to work
-Extension[] required = Extension.getRequired( manifest );
- ]]></pre>
- </section>
- </body>
-</document>
</pre></div>
<center><small><a href="http://www.badgers-in-foil.co.uk/projects/cvsspam/" title="commit -> email">CVSspam</a> 0.2.8</small></center>
</body></html>