<?xml version="1.0" encoding="UTF-8"?>
<!--
   ====================================================================
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
   ====================================================================
-->
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "./dtd/document-v11.dtd">

<document>
 <header>
  <title>POI Utils</title>
  <subtitle>Overview</subtitle>
  <authors>
   <person name="Nicola Ken Barozzi" email="barozzi@nicolaken.com"/>     
  </authors>
 </header>

 <body>
 <section><title>Overview</title>

  <p>The POI Utils are classes we're looking to donate elsewhere and include.  
     These are usually classes that while are required for our mission, 
     are somehow outside of it.  General utilities that could be used in 
     any project are what we would normally put here.  If you see one, and you
     think "gee that would be great as part of X project" then let us know.
     While we wish to put these in their rightful place, we also don't want to 
     include a 40mb jar file just to process text strings, so that will 
     be a consideraton.
  </p>
  <p>
     Currently, we're looking into which subprojects in the Jakarta Commons project
     to donate these too.  The "POI Utils" package won't go away, as there may 
     be later classes.  The idea is that "go ahead and add it, we'll merge it or
     find an alternative later, just keep pounding out that poi!"
  </p>

  </section>
 </body>
</document>
