<?xml version="1.0"?>

<html>
 <head>
  <title>Jakarta Commons-Codec: Status</title>
 </head>

 <body bgcolor="white">
  <div align="center">
   <h1>The Jakarta Commons <em>Codec</em> Component</h1>
   $Id: STATUS.html,v 1.1 2003/04/25 17:50:55 tobrien Exp $<br/>
   <a href="#Introduction">[Introduction]</a>
   <a href="#Dependencies">[Dependencies]</a>
   <a href="#Release Info">[Release Info]</a>
   <a href="#Committers">[Committers]</a>
   <a href="#Action Items">[Action Items]</a>
   <br/><br/>
  </div>

  <a name="Introduction"></a>
  <h3>1.  INTRODUCTION</h3>

  <p>
   The <em>Codec</em> Component contains a set of Java classes that provide
   encode/decode functionality and helper methods for various data formats.  
   The following classes are included:
   <ul>
    <li>Binary Encoders/Decoders
     <ul>
      <li><strong>Base64</strong> - Encoding/decoding of the popular base64 format.</li>
     </ul>
    </li>
    <li>Phonetic Encoders
     <ul>
      <li><strong>Soundex</strong> - Encoding of Strings to soundex values.</li>
      <li><strong>Metaphone</strong> - Encoding of Strings to metaphone values, a more 
          advanced soundex-like algorithm.</li>
      <li><strong>RefinedSoundex</strong></li>
     </ul>
    </li>
   </ul>
  </p>

  <a name="Dependencies"></a>
  <h3>2.  DEPENDENCIES</h3>

  <p>
   The <em>Codec</em> component is dependent upon the following external
   components for development and use:
  </p>

  <table border="1" width="600">
   <tr>
    <td width="33%" rowspan="2" valign="middle" align="center">Component</td>
    <td width="10%" rowspan="2" valign="middle" align="center">Version</td>
    <td width="50%" colspan="3" align="center">Dependency</td>
    <td width="7%" rowspan="2" valign="middle" align="center">Distribute</td>
   </tr>
   <tr>
    <td align="center">
     Compilation
    </td>
    <td align="center">
     Runtime
    </td>
    <td align="center">
     Testing
    </td>
   </tr>
   <tr>
    <td align="right">
     <a href="http://java.sun.com/j2se">Java Development Kit</a>
    </td>
    <td align="center">1.2+</td>
    <td align="center" colspan="3" bgcolor="green">Yes</td>
    <td align="center"><b>No</b></td>
   </tr>
   <tr>
    <td align="right">
     <a href="http://www.junit.org">JUnit Testing Framework</a>
    </td>
    <td align="center">3.7+</td>
    <td align="center" colspan="2" bgcolor="red">No</td>
    <td align="center" bgcolor="green">Yes</td>
    <td align="center"><b>No</b></td>
   </tr>
  </table>



  <a name="Release Info"></a>
  <h3>3.  RELEASE INFO</h3>

  <p>
   Current Release: Codec is a project in the Jakarta Commons Sandbox and does not
   currently have a quality release.  Please see RELEASE-PLAN for details about
   the upcoming March 2003 release.
  </p>

  <p>
   Planned Next Release: <b>1.1 April 2003</b>
  </p>

  <a name="Committers"></a>
  <h3>4.  COMMITTERS</h3>

  <p>
   The following individuals are the primary developers and maintainers of this
   component.  Developers who plan to use <em>Codec</em> in their own
   projects are encouraged to collaborate on the future development of this
   component to ensure that it continues to meet a variety of needs.
  </p>

  <ul>
   <li><a href="mailto:sanders@apache.org">Scott Sanders</a></li>
   <li><a href="mailto:bayard@apache.org">Henri Yandell</a></li>
   <li><a href="mailto:rwaldhoff@apache.org">Rodney Waldhoff</a></li>
   <li><a href="mailto:dlr@finemaltcoding.com">Daniel Rall</a></li>
   <li><a href="mailto:jon@collab.net">Jon S. Stevens</a></li>
   <li><a href="mailto:tobrien@apache.org">Tim O'Brien</a></li>
  </ul>

  <a name="Action Items"></a>
  <h3>5.  ACTION ITEMS</h3>

  <p>
   Please see the file TODO for more information.
  </p>

  </table>

 </body>
</html>
