blob: ef62d5b13058c581c84127523a23d88a4de91d38 [file] [log] [blame]
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>JAM - The Java API for Metadata</title>
<link href="jam.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h1>JAM - The Java API for Metadata</h1>
<p>
JAM is an object model for Java types and their associated annotations.
It provides a superset of the features offered by similar APIs
(such as Reflection or X/Javadoc), including a unique extensibility
mechanism specifically designed to help Java developers cope with the
rapidly-changing world of Java metadata.
(<a href='overview.html'>read more...</a>)
</p>
<h2>Downloads</h2>
<i>
I am not distributing JAM as a separate binary at the moment,
though I hope to do so soon. For the moment, please go to the
<a href='http://incubator.apache.org/projects/xmlbeans.html'>
xml-beans website</a> at Apache to download xbeans, which includes JAM.
</i>
<h2>Documentation</h2>
<ul>
<li><a href='overview.html'>Overview</a></li>
<li><a href='faq.html'>JAM FAQ</a> (Please read if you have questions)</li>
<li><a href='javadocs/index.html'>API Javadocs</a> (<b>Note:</b> the package name be changing soon)</li>
<li><a href='typedMetadata.html'>JAM and JSR175</a>
(White paper draft)</li>
</ul>
<h2>Links</h2>
<ul>
<li><a href='http://groups.yahoo.com/group/metaJAM'>metaJAM,</a>
a Yahoo group for discussion and news about JAM</li>
<li><a href='mailto:metaJAM-owner@yahoogroups.com'>Send email to Patrick</a></li>
<li><a href='http://www.jcp.org/en/jsr/detail?id=175'>JSR175</a></li>
</ul>
<h2>Status</h2>
<i>March 23, 2004</i>
<p>
JAM is looking pretty solid. Cedric has converted EJBgen and SGen
to the updated APIs, and all of his regression tests are passing.
</p>
<p>
Note that JAM currently is still packaged under
<code>org.apache.xmlbeans.impl.jam</code>. I know this looks weird,
and I am working on finding a better package name.
</p>
<h2>About</h2>
<p>
JAM has evolved as part my work on
<a href='http://xml.apache.org/xmlbeans'>XML-Beans</a> at Apache,
which I do on behalf of my employer,
<a href='http://www.bea.com'>BEA Systems</a>.
In XML-Beans, I need to be able model Java types in order to generate
XML schemas from them. I found all of the existing Java object models
(x/javadoc, reflection, qdox) to be lacking in
some respect. They each have some features I wanted, but none of them
brought all of those features together. Perhaps more importantly,
though, none of them provide a migration path from javadoc-based
metadata to JSR175, which is a big concern for me. JAM was written
to fill this void.
</p>
<p>
JAM is now proving to be a generally useful technology in its
own right. Most notably, it is already being used in Cedric Beust's
<a href='http://www.beust.com/ejbgen'>EJBgen</a> and
<a href='http://www.beust.com/sgen'>SGen</a>. Accordingly, I am now
exploring the possibility of spinning it up as a distinct open source
project, but it doesn't yet have an official open source community.
Until it does, my website here is serving as a temporary home.
</p>
</body>
</html>