harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From telli...@apache.org
Subject svn commit: r448575 [7/7] - in /incubator/harmony/standard/site: docs/documentation/ docs/subcomponents/classlibrary/ docs/subcomponents/drlvm/ xdocs/documentation/ xdocs/subcomponents/classlibrary/ xdocs/subcomponents/drlvm/
Date Thu, 21 Sep 2006 14:56:23 GMT
Added: incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/Java2D.html
URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/Java2D.html?view=auto&rev=448575
==============================================================================
--- incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/Java2D.html (added)
+++ incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/Java2D.html Thu Sep 21 07:56:21 2006
@@ -0,0 +1,501 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+   <head>
+      <meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
+      <title>
+         DRL Java 2D*
+      </title>
+      <link href="drl.css" rel="stylesheet" type="text/css" />
+   </head>
+   <body>
+      <h1 style="text-align: center">
+         <a id="top" name="top"></a>DRL Java 2D*
+      </h1>
+      <p class="TOCHeading">
+         <a href="#Revision_History">Revision History</a>
+      </p>
+      <p class="TOCHeading">
+         <a href="#Disclaimer_and_Legal">Disclaimer and Legal Information</a>
+      </p>
+      <p class="TOCHeading">
+         <a href="#About_This_Document">About This Document</a>
+      </p>
+      <p class="TOC">
+         <a href="#Purpose">Purpose</a>
+      </p>
+      <p class="TOC">
+         <a href="#Intended_Audience">Intended Audience</a>
+      </p>
+      <p class="TOC">
+         <a href="#Documentation_Conventions">Documentation Conventions</a>
+      </p>
+      <p class="TOCHeading">
+         <a href="#Introduction_to_Java_2D*">Introduction to Java 2D*</a>
+      </p>
+      <p class="TOCHeading">
+         <a href="#Java_2D*_in_DRL">Java 2D* in DRL</a>
+      </p>
+      <p class="TOC">
+         <a href="#About">About</a>
+      </p>
+      <p class="TOC">
+         <a href="#Architecture_Overview">Architecture Overview</a>
+      </p>
+      <p class="TOC">
+         <a href="#Class_Relationship">Class Relationship</a>
+      </p>
+      <p class="TOC">
+         <a href="#CommonGraphics2D_Class_Internals">CommonGraphics2D Class
+         Internals</a>
+      </p>
+      <p class="TOC">
+         <a href="#Platform_Specifics_in_DRL_Java_2D*_Graphics">Platform
+         Specifics in DRL Java 2D* Graphics</a>
+      </p>
+      <p class="TOC">
+         <a href="#Java_2D*_Portability">Java 2D* Portability</a>
+      </p>
+      <p class="TOCHeading">
+         <a href="#References">References</a>
+      </p>
+      <h1>
+         <a id="Revision_History" name="Revision_History"></a>Revision History
+      </h1>
+      <table border="0" cellpadding="0" width="100%">
+         <tr>
+            <th width="24%" class="TableHeading">
+               Version
+            </th>
+            <th width="49%" class="TableHeading">
+               Version Information
+            </th>
+            <th class="TableHeading">
+               Date
+            </th>
+         </tr>
+         <tr>
+            <td width="24%" class="TableCell">
+               Initial version
+            </td>
+            <td width="49%" class="TableCell">
+               Alexey Petrenko, Svetlana Konovalova: document created.
+            </td>
+            <td class="TableCell">
+               May 18, 2006
+            </td>
+         </tr>
+         <tr>
+            <td class="TableCell" width="24%">
+               Formatting update
+            </td>
+            <td class="TableCell" width="49%">
+               Nadya Morozova
+            </td>
+            <td class="TableCell">
+                 September 21, 2006
+            </td>
+         </tr>
+      </table>
+      <h1>
+         <a id="Disclaimer_and_Legal"
+         name="Disclaimer_and_Legal"></a>Disclaimer and Legal Information
+      </h1>
+      <p>
+         Copyright 2005-2006 The Apache Software Foundation or its licensors,
+         as applicable.
+      </p>
+      <p>
+         Licensed 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 <a
+         href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>.
+      </p>
+      <p>
+         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.
+      </p>
+      <p>
+         Portions, Copyright (C) 1991-2005 Unicode, Inc. The following applies
+         to Unicode
+      </p>
+      <p>
+         COPYRIGHT AND PERMISSION NOTICE.
+      </p>
+      <p>
+         Copyright (C) 1991-2005 Unicode, Inc. All rights reserved. Distributed
+         under the Terms of Use in <a
+         href="http://www.unicode.org/copyright.html">http://www.unicode.org/copyright.html</a>.
+         Permission is hereby granted, free of charge, to any person obtaining
+         a copy of the Unicode data files and any associated documentation (the
+         "Data Files") or Unicode software and any associated documentation
+         (the "Software") to deal in the Data Files or Software without
+         restriction, including without limitation the rights to use, copy,
+         modify, merge, publish, distribute, and/or sell copies of the Data
+         Files or Software, and to permit persons to whom the Data Files or
+         Software are furnished to do so, provided that (a) the above copyright
+         notice(s) and this permission notice appear with all copies of the
+         Data Files or Software, (b) both the above copyright notice(s) and
+         this permission notice appear in associated documentation, and (c)
+         there is clear notice in each modified Data File or in the Software as
+         well as in the documentation associated with the Data File(s) or
+         Software that the data or software has been modified.
+      </p>
+      <p>
+         THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF
+         ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+         WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+         NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT
+         HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR
+         ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
+         WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+         ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+         OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR
+         SOFTWARE.
+      </p>
+      <p>
+         Except as contained in this notice, the name of a copyright holder
+         shall not be used in advertising or otherwise to promote the sale, use
+         or other dealings in these Data Files or Software without prior
+         written authorization of the copyright holder.
+      </p>
+      <p>
+         Additional Terms From the Database:
+      </p>
+      <p>
+         Copyright (C) 1995-1999 Unicode, Inc. All Rights reserved.
+      </p>
+      <p>
+         Disclaimer:
+      </p>
+      <p>
+         The Unicode Character Database is provided as is by Unicode, Inc. No
+         claims are made as to fitness for any particular purpose. No
+         warranties of any kind are expressed or implied. The recipient agrees
+         to determine applicability of information provided. If this file has
+         been purchased on magnetic or optical media from Unicode, Inc., the
+         sole remedy for any claim will be exchange of defective media within
+         90 days of receipt. This disclaimer is applicable for all other data
+         files accompanying the Unicode Character Database, some of which have
+         been compiled by the Unicode Consortium, and some of which have been
+         supplied by other sources.
+      </p>
+      <p>
+         Limitations on Rights to Redistribute This Data:
+      </p>
+      <p>
+         Recipient is granted the right to make copies in any form for internal
+         distribution and to freely use the information supplied in the
+         creation of products supporting the UnicodeTM Standard. The files in
+         the Unicode Character Database can be redistributed to third parties
+         or other organizations (whether for profit or not) as long as this
+         notice and the disclaimer notice are retained. Information can be
+         extracted from these files and used in documentation or programs, as
+         long as there is an accompanying notice indicating the source.
+      </p>
+      <h1>
+         <a id="About_This_Document" name="About_This_Document"></a>About This
+         Document
+      </h1>
+      <h2>
+         <a id="Purpose" name="Purpose"></a>Purpose
+      </h2>
+      <p>
+         This document introduces the Java 2D<a href="#*">*</a> [<a
+         href="#Java%202D*Tech">1</a>] implementation, supplied as part of the
+         DRL (Dynamic Runtime Layer) initiative, and gives details on its
+         design.
+      </p>
+      <h2>
+         <a id="Intended_Audience" name="Intended_Audience"></a>Intended
+         Audience
+      </h2>
+      <p>
+         The target audience for the document includes a wide community of
+         engineers interested in using Java 2D<a href="#*">*</a> and in further
+         work with the product to contribute to its development. The document
+         assumes that readers are familiar with the Java 2D<a href="#*">*</a>
+         technology and the Java<a href="#*">*</a> programming language.
+      </p>
+      <h2>
+         <a id="Documentation_Conventions"
+         name="Documentation_Conventions"></a>Documentation Conventions
+      </h2>
+      <p>
+         This document uses the <a href="conventions.html"
+         target="_blank">unified conventions</a> for the DRL documentation kit.
+      </p>
+      <p class="backtotop">
+         <a href="#top">Back to Top</a>
+      </p>
+      <h1>
+         <a id="Introduction_to_Java_2D*"
+         name="Introduction_to_Java_2D*"></a>Introduction to Java 2D<a
+         href="#*">*</a>
+      </h1>
+      <p>
+         The Java 2D<a href="#*">*</a> implementation is the collection of
+         classes for a high-performance two-dimensional (2D) graphics and image
+         processing. The package includes line and shape drawing, text and
+         image rendering.
+      </p>
+      <p class="backtotop">
+         <a href="#top">Back to Top</a>
+      </p>
+      <h1>
+         <a id="Java_2D*_in_DRL" name="Java_2D*_in_DRL"></a> Java 2D<a
+         href="#*">*</a> in DRL
+      </h1>
+      <h2>
+         <a id="About" name="About"></a>About
+      </h2>
+      <p>
+         DRL Java 2D<a href="#*">*</a> is a fast and easily portable
+         implementation of the Java 2D<a href="#*">*</a> technology, consisting
+         of a number of classes for advanced graphics and image processing.
+      </p>
+      <p class="backtotop">
+         <a href="#top">Back to Top</a>
+      </p>
+      <h2>
+         <a id="Architecture_Overview"
+         name="Architecture_Overview"></a>Architecture Overview
+      </h2>
+      <p>
+         DRL Java 2D<a href="#*">*</a> supports the Windows<a href="#*">*</a>
+         and Linux<a href="#*">*</a> operating systems for the IA-32
+         architecture. The Windows<a href="#*">*</a> version mostly uses the
+         GDI+ (Graphics Device Interface plus) library, but can also use the
+         GDI library for better performance. For example, Java 2D<a
+         href="#*">*</a> can use GDI instead of GDI+ to speed up image
+         processing. The Linux<a href="#*">*</a> version uses Xlib and xft
+         libraries.
+      </p>
+      <p>
+         DRL Java 2D<a href="#*">*</a> has portability in its design, so that
+         you can easily port it to other operating systems and hardware
+         architectures. For details and how to port Java 2D<a href="#*">*</a>
+         on other platforms see <a href="#Java_2D*_Portability">Java 2D*
+         Portability</a>.
+      </p>
+      <p class="backtotop">
+         <a href="#top">Back to Top</a>
+      </p>
+      <h2>
+         <a id="Class_Relationship" name="Class_Relationship"></a>Class
+         Relationship
+      </h2>
+      <p>
+         Figure 1 below shows the Java 2D<a href="#*">*</a> structure,
+         demonstrating the inheritance relationship of the
+         <code>Graphics2D</code> classes:
+      </p>
+      <p style="text-align: center">
+         <img alt="Class Hierarchy diagram" src="images/Hierarchy.gif" />
+      </p>
+      <p class="special">
+         Figure 1: Inheritance Relationship of the <code>Graphics2D</code>
+         Classes
+      </p>
+      <ul>
+         <li>
+            The abstract classes <code>java.awt.Graphics</code> and
+            <code>java.awt.Graphics2D</code> define the public interface for
+            all <code>Graphics2D</code> implementations.
+         </li>
+         <li>
+            The classes
+            <code>org.apache.harmony.awt.gl.windows.WinGDIPGraphics2D</code>
+            and <code>org.apache.harmony.awt.gl.linux.XGraphics2D</code> are
+            the Windows<a href="#*">*</a> and Linux<a href="#*">*</a> versions
+            respectively of the
+            <code>org.apache.harmony.awt.gl.CommonGraphics2D</code> class,
+            which implements the abstract methods of the
+            <code>Graphics2D</code> class.
+         </li>
+         <li>
+            The
+            <code>org.apache.harmony.awt.gl.image.BufferedImageGraphics2D</code>
+            class deals with drawing on buffered images.
+         </li>
+      </ul>
+      <p>
+         For more information on the classes see <a
+         href="#Platform_Specifics_in_DRL_Java_2D*_Graphics">Platform Specifics
+         in DRL Java 2D* Graphics</a>.
+      </p>
+      <p class="backtotop">
+         <a href="#top">Back to Top</a>
+      </p>
+      <h2>
+         <a id="CommonGraphics2D_Class_Internals"
+         name="CommonGraphics2D_Class_Internals"></a><code>CommonGraphics2D</code>
+         Class Internals
+      </h2>
+      <p>
+         The section specifies the <code>CommonGraphics2D</code> class internal
+         areas and gives description on their tools.
+      </p>
+      <h3>
+         <a id="Rasterizers" name="Rasterizers"></a>Line and Shape Rasterizers
+      </h3>
+      <p>
+         The <code>CommonGraphics2D</code> class splits all shapes into a set
+         of rectangles to unify the drawing process for different operating
+         systems and architectures. For this purpose Java 2D<a href="#*">*</a>
+         uses the <code>JavaShapeRasterizer</code> and the
+         <code>JavaLineRasterizer</code> classes from the
+         <code>org.apache.harmony.awt.gl.render</code> package. The
+         <code>JavaShapeRasterizer</code> class splits an object implementing a
+         Shape interface into a set of rectangles and produces a MultiRectArea
+         object. The <code>JavaLineRasterizer</code> class makes line drawing
+         more accurate and processes lines with strokes, which are instances of
+         the BasicStroke class.
+      </p>
+      <p>
+         To port the shape drawing to another platform you just need to
+         override rectangle-drawing methods. However, if your operating system
+         has functions to draw particular shapes, you can optimize your
+         subclass of the <code>CommonGraphics2D</code> class by using this
+         functionality in overridden methods.
+      </p>
+      <h3>
+         <a id="Blitters" name="Blitters"></a>Blitters
+      </h3>
+      <p>
+         Blitter classes draw images on the display or buffered images. All
+         blitters inherit the
+         <code>org.apache.harmony.awt.gl.render.Blitter</code> interface.
+      </p>
+      <p>
+         Blitters are divided into:
+      </p>
+      <ul>
+         <li>
+            <i>Native blitters</i> for simple types of images, which the
+            underlying native library can draw.
+         </li>
+         <li>
+            <i>Java<a href="#*">*</a> blitters</i> for those types of images,
+            which the underlying native library cannot handle.
+         </li>
+      </ul>
+      <p>
+         DRL Java 2D<a href="#*">*</a> also uses blitters to fill the shapes
+         and the user-defined subclasses of the <code>java.awt.Paint</code>
+         class with paints, which the system does not support.
+      </p>
+      <h3>
+         <a id="Text_Renderers" name="Text_Renderers"></a>Text Renderers
+      </h3>
+      <p>
+         Text renderers draw strings and glyph vectors. All text renderers are
+         subclasses of the <code>org.apache.harmony.awt.gl.TextRenderer</code>
+         class.
+      </p>
+      <p>
+         Java 2D<a href="#*">*</a> does not have its own font rendering engine
+         and uses native libraries instead: the GDI library on the Windows<a
+         href="#*">*</a> OS and the Xft, FontConfig and FreeType libraries on
+         the Linux<a href="#*">*</a> OS. The
+         <code>java.awt.font.NumericShaper</code> class uses data from the
+         Unicode Character Database [<a
+         href="#Unicode Character Database">2</a>] for retrieving character
+         properties.
+      </p>
+      <p class="backtotop">
+         <a href="#top">Back to Top</a>
+      </p>
+      <h2>
+         <a id="Platform_Specifics_in_DRL_Java_2D*_Graphics"
+         name="Platform_Specifics_in_DRL_Java_2D*_Graphics"></a>Platform
+         Specifics in DRL Java 2D<a href="#*">*</a> Graphics
+      </h2>
+      <p>
+         The Windows<a href="#*">*</a> implementation - the
+         <code>WinGDIPGraphics2D</code> class - for the most part is based on
+         the GDI+ library, which has the routines for drawing all types of
+         shapes filling them with a solid color brush and a linear gradient
+         brush, but it does not support an acyclic gradient brush. The Java
+         2D<a href="#*">*</a> package doesn't use the native library texture
+         paint option, resorting to <a href="#Blitters">Blitters</a> instead.
+         However, the major part of the shape drawing and filling routines is
+         native in this class.
+      </p>
+      <p>
+         As for the Linux<a href="#*">*</a> implementation - the
+         <code>XGraphics2D</code> class - the Xlib library has no methods to
+         draw and fill free-form shapes. So, the corresponding
+         <code>XGraphics2D</code> methods use <a
+         href="#Rasterizers">Rasterizers</a>, inherited from the
+         <code>CommonGraphics2D</code> class.
+      </p>
+      <p class="backtotop">
+         <a href="#top">Back to Top</a>
+      </p>
+      <h2>
+         <a id="Java_2D*_Portability" name="Java_2D*_Portability"></a>Java 2D<a
+         href="#*">*</a> Portability
+      </h2>
+      <p>
+         The actions to port the DRL Java 2D<a href="#*">*</a> package to
+         another architecture or operating system, or to use it with another
+         library depend on the particular platform. The main steps are the
+         following:
+      </p>
+      <ul>
+         <li>
+            Create a new subclass of
+            <code>org.apache.harmony.awt.gl.CommonGraphics2D</code>. 
+            
+               <p class="example">
+                  Example
+               </p>
+            
+<pre class="exampletext">
+         org.apache.harmony.awt.gl.windows.&lt;SomeLib&gt;Graphics2D   
+         org.apache.harmony.awt.gl.&lt;SomeOS&gt;.&lt;SomeLib&gt;Graphics2D
+           
+</pre>
+         </li>
+         <li>
+            Implement abstract methods of the super class in your custom class.
+         </li>
+         <li>
+            Create platform-specific <a href="#Blitters">Blitters</a> and <a
+            href="#Text_Renderers">Text Renderers</a>.
+         </li>
+      </ul>
+      <p class="backtotop">
+         <a href="#top">Back to Top</a>
+      </p>
+      <h2>
+         <a id="References" name="References"></a> References
+      </h2>
+      <p>
+         [<a id="Java 2D*Tech" name="Java 2D*Tech"></a>1] Java 2D* Technology
+         <a href="http://java.sun.com/j2se/1.5.0/docs/guide/2d/index.html"
+         title="http://java.sun.com/j2se/1.5.0/docs/guide/2d/index.html">http://java.sun.com/j2se/1.5.0/docs/guide/2d/index.html</a>
+      </p>
+      <p>
+         [<a id="Unicode Character Database"
+         name="Unicode Character Database"></a>2] Unicode Character Database <a
+         href="http://www.unicode.org/ucd/"
+         title="http://www.unicode.org/ucd/">http://www.unicode.org/ucd/</a>
+      </p>
+      <p class="backtotop">
+         <a href="#top">Back to Top</a>
+      </p>
+      <p>
+         (C) Copyright 2005-2006 Intel Corporation
+      </p>
+      <p>
+         <a id="*" name="*">*</a> Other brands and names are the property of
+         their respective owners.
+      </p>
+   </body>
+</html>
+

Propchange: incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/Java2D.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/RMIprovider.htm
URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/RMIprovider.htm?view=auto&rev=448575
==============================================================================
--- incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/RMIprovider.htm (added)
+++ incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/RMIprovider.htm Thu Sep 21 07:56:21 2006
@@ -0,0 +1,259 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+"http://www.w3.org/TR/html4/loose.dtd">
+<html>
+   <head>
+      <meta http-equiv="Content-Type" content=
+      "text/html; charset=windows-1252">
+      <title>
+         DRL RMI Registry Service Provider for JNDI
+      </title>
+
+   </head>
+   <body>
+      
+<h1> <a name="top"></a>DRL RMI Registry Service Provider for JNDI </h1>
+      <p class="TOCHeading">
+         <a href="#Revision_History">Revision History</a>
+      </p>
+      <p class="TOCHeading">
+         <a href="#Disclaimer_and_Legal">Disclaimer and Legal Information</a>
+      </p>
+      <p class="TOCHeading">
+         <a href="#About_This_Document">About This Document</a>
+      </p>
+      <p class="TOC">
+         <a href="#Purpose">Purpose</a>
+      </p>
+      <p class="TOC">
+         <a href="#Intended_Audience">Intended Audience</a>
+      </p>
+      <p class="TOC">
+         <a href="#Documentation_Conventions">Documentation Conventions</a>
+      </p>
+      <p class="TOCHeading">
+         <a href="#overview">RMI Provider Overview</a>
+      </p>
+      <p class="TOCHeading">
+         <a href="#drl">RMI Provider in DRL</a>
+      </p>
+      <p class="TOC">
+         <a href="#about">About</a>
+      </p>
+      <p class="TOC">
+         <a href="#environment">Environment Properties</a>
+      </p>
+      <p class="TOC">
+         <a href="#urls">RMI URLs</a>
+      </p>
+      <p class="TOC">
+         <a href="#bindings">Binding Registry Contexts and Remote Objects</a>
+      </p>
+      <p class="TOCHeading">
+         <a href="#References">References</a>
+      </p>
+      <h1>
+         <a name="Revision_History"></a>Revision History
+      </h1>
+      <table border="0" cellpadding="0" width="100%">
+         <tr>
+            <th width="24%" class="TableHeading">
+               Version
+            </th>
+            <th width="49%" class="TableHeading">
+               Version Information
+            </th>
+            <th class="TableHeading">
+               Date
+            </th>
+         </tr>
+         <tr>
+            <td width="24%" class="TableCell">
+               Initial version
+            </td>
+            <td width="49%" class="TableCell">
+               Vasily Zakharov, Nadya Morozova: document created.
+            </td>
+            <td class="TableCell">
+               March 23, 2006
+            </td>
+         </tr>
+		<tr>
+            <td width="24%" class="TableCell">
+               Formatting update
+            </td>
+            <td width="49%" class="TableCell">
+              Nadya Morozova: document created.
+            </td>
+            <td class="TableCell">
+              September 21, 2006
+            </td>
+         </tr>
+      </table>
+      <h1>
+         <a name="Disclaimer_and_Legal"></a>Disclaimer and Legal Information
+      </h1>
+      <p>
+         Copyright 2005-2006 The Apache Software Foundation or its licensors, as
+         applicable.
+      </p>
+      <p>
+         Licensed 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 <a href="http://www.apache.org/licenses/LICENSE-2.0"> 
+  http://www.apache.org/licenses/LICENSE-2.0</a>. </p>
+      <p>
+         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.
+      </p>
+      <h1>
+         <a name="About_This_Document"></a>About This Document
+      </h1>
+      <h2>
+         <a name="Purpose"></a>Purpose
+      </h2>
+      
+<p> This document describes the functionality of the DRL RMI  [<a href="#RMIspec">2</a>] Registry Service 
+  Provider for JNDI [<a href="#Sunjndi">1</a>]. The document gives details on the provider design. </p>
+      <h2>
+         <a name="Intended_Audience"></a>Intended Audience
+      </h2>
+      
+<p> The target audience for the document includes a wide community of engineers 
+  interested in using the RMI registry in their JNDI applications and in further 
+  work with the product to contribute to its development. The document assumes 
+  that readers are familiar with RMI, JNDI and the Java programming language. 
+</p>
+      <h2>
+         <a name="Documentation_Conventions"></a>Documentation Conventions
+      </h2>
+      
+<p> This document uses the <a href= "../conventions.htm"target=
+         "_blank">unified conventions</a> for the DRL documentation kit. </p>
+      <p class="backtotop">
+         <a href="#top">Back to Top</a>
+      </p>
+      <h1>
+         <a name="overview"></a>RMI Provider Overview
+      </h1>
+      
+<p> The RMI registry context, based on a registry location, and the RMI Registry 
+  Service Provider allow JNDI applications to access remote objects bound in the 
+  RMI registry, as described in the Java<a name="*">*</a> RMI Specification  [<a href="#RMIspec">2</a>]. </p>
+      <p>
+         The provider supplies JNDI with the same essential functionality as
+         the <code>java.rmi.Naming</code> class does.
+      </p>
+      <p class="backtotop">
+         <a href="#top">Back to Top</a>
+      </p>
+      
+<h1> <a name="drl"></a>RMI Provider in DRL</h1>
+      <h2>
+         <a name="about"></a>About
+      </h2>
+      
+<p> The DRL RMI Service Provider is an independent implementation of the RMI Service Provider for JNDI. 
+You can also consult additional information resources on RMI [<a href="#RMIspec">2</a>], RMI Service Provider [<a href="#RMIprovider">3</a>] and JNDI in general [<a href="#Sunjndi">1</a>]. </p>
+      
+<p>The provider can store <code>java.rmi.Remote</code>, <code>javax.naming.Reference</code> 
+  and <code>javax.naming.Referenceable</code> objects. The RMI registry context 
+  and references to individual RMI objects can be bound into other JNDI contexts. 
+  The DRL provider does not support binding other contexts into the RMI registry, 
+  so that you cannot address objects in this context using composite name requests 
+  through the registry. </p>
+      <p class="backtotop">
+         <a href="#top">Back to Top</a>
+      </p>
+      <h2>
+         <a name="environment"></a>Environment Properties
+      </h2>
+      
+<p> In addition to the general properties [<a href="#RMIprovider">3</a>], the DRL RMI Registry 
+  Provider uses the following JNDI environment properties: </p>
+      <dl>
+         <dt>
+            <a name="prop_initial"></a>
+            <code>java.naming.factory.initial</code>
+         </dt>
+         <dd>
+		 <p>
+            Specifies the RMI registry service provider class name as the
+            initial context factory to be used by the
+            <code>javax.naming.InitialContext</code> class. </p>
+            <p class="example">
+               Example
+            </p>
+    <pre class="exampletext">
+  env.put(Context.INITIAL_CONTEXT_FACTORY,
+        "org.apache.harmony.jndi.provider.rmi.registry.RegistryContextFactory");
+</pre> <p class="exampletext">
+            Use this property with the <code>java.naming.provider.url
+            </code>property, which specifies the location of the RMI registry
+            for the usage of the initial context. Otherwise, the initial
+            context you created can only resolve complete RMI URLs.
+			</p>
+         </dd>
+      </dl>
+      <dl>
+         
+  <dt> <a name="prop_socket"></a> <code>org.apache.harmony.jndi.provider.rmi.registry.clientSocketFactory</code> 
+  </dt>
+         
+  <dd> Can contain the name of a class implementing the<code> java.rmi.server.RMIClientSocketFactory</code> 
+    interface. The instance of this class is passed to the <code>java.rmi.registry.LocateRegistry.getRegistry()</code> 
+    method. </dd>
+      </dl>
+      <p class="backtotop">
+         <a href="#top">Back to Top</a>
+      </p>
+      <h2>
+         <a name="urls"></a>RMI URLs
+      </h2>
+      
+<p> The URL context factory, <code>org.apache.harmony.jndi.provider.rmi.rmiURLContextFactory</code>, 
+  enables passing RMI URLs as names to the JNDI initial context. </p>
+      <p class="backtotop">
+         <a href="#top">Back to Top</a>
+      </p>
+      <h2>
+         <a name="bindings"></a>Binding Registry Contexts and Remote Objects
+      </h2>
+      
+<p> The class <code>org.apache.harmony.jndi.provider.rmi.registry.</code><code>RegistryContextFactory</code> 
+  implements the <code>javax.naming.spi.</code><code>ObjectFactory </code> interface 
+  and provides converting registry references into the corresponding registry 
+  contexts or remote objects. </p>
+      <p class="backtotop">
+         <a href="#top">Back to Top</a>
+      </p>
+      <h1>
+         <a name="References"></a>References
+      </h1>
+      <p>
+         [<a name="Sunjndi">1</a>] Sun about JNDI, <a href= 
+         "http://java.sun.com/j2se/1.5.0/docs/guide/jndi/" target=
+         "_blank">http://java.sun.com/j2se/1.5.0/docs/guide/jndi/</a>
+      </p>
+      <p>
+         [<a name="RMIspec">2</a>] RMI Specification, <a href= 
+         "http://java.sun.com/j2se/1.5.0/docs/guide/rmi/spec/rmiTOC.html" target=
+         "_blank">http://java.sun.com/j2se/1.5.0/docs/guide/rmi/spec/rmiTOC.html</a>
+      </p>
+	  <p>
+         [<a name="RMIprovider">3</a>] Sun's RMI Provider, <a href= 
+         "http://java.sun.com/j2se/1.5.0/docs/guide/jndi/jndi-rmi.html" target=
+         "_blank">http://java.sun.com/j2se/1.5.0/docs/guide/jndi/jndi-rmi.html</a>
+      </p>
+      <p class="backtotop">
+         <a href="#top">Back to Top</a>
+      </p>
+      <p>
+         <a name="*">*</a> Other brands and names are the property of their
+         respective owners.
+      </p>
+   </body>
+</html>
+

Added: incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/Regexp.htm
URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/Regexp.htm?view=auto&rev=448575
==============================================================================
--- incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/Regexp.htm (added)
+++ incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/Regexp.htm Thu Sep 21 07:56:21 2006
@@ -0,0 +1,577 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+   <head>
+      <meta http-equiv="Content-Type"
+      content="text/html; charset=windows-1252" />
+      <link rel="Stylesheet" type="text/css" media="all" href="harmony.css" />
+      <title>
+         Design of the regex processing framework
+      </title>
+   </head>
+   <body>
+      <h1 style="text-align: center">
+         <a id="Top" name="Top"></a>Regex Processing Framework
+      </h1>
+      <p class="TOCHeading">
+         <a href="#Revision_History">Revision History</a>
+      </p>
+      <p class="TOCHeading">
+         <a href="#Disclaimer">Disclaimer</a>
+      </p>
+      <p class="TOCHeading">
+         <a href="#About_this_document">About this Document</a>
+      </p>
+      <p class="TOC">
+         <a href="#Purpose">Purpose</a>
+      </p>
+      <p class="TOC">
+         <a href="#Intended_Audience">Intended Audience</a>
+      </p>
+      <p class="TOC">
+         <a href="#Documentation_Conventions">Documentation Conventions</a>
+      </p>
+      <p class="TOCHeading">
+         <a href="#Introduction">Introduction to Pattern Matching</a>
+      </p>
+      <p class="TOCHeading">
+         <a href="#AbstractSetIntro">AbstractSet Interface</a>
+      </p>
+      <p class="TOC">
+         <a href="#Characteristics">Characteristics</a>
+      </p>
+      <p class="TOC">
+         <a href="#MethodsUsed">Methods Used</a>
+      </p>
+      <p class="TOC">
+         <a href="#ClassHierarchy">Class Hierarchy</a>
+      </p>
+      <p class="TOC">
+         <a href="#Optimizations">Optimizations</a>
+      </p>
+      <p class="TOCHeading">
+         <a href="#UsageExamples">Usage Examples</a>
+      </p>
+      <p class="TOCHeading">
+         <a href="#References">References</a>
+      </p>
+      <h1>
+         <a id="Revision_History" name="Revision_History"></a>Revision History
+      </h1>
+      <table width="100%">
+         <tr>
+            <th class="TableHeading" width="25%">
+               Version
+            </th>
+            <th class="TableHeading" width="50%">
+               Version Information
+            </th>
+            <th class="TableHeading">
+               Date
+            </th>
+         </tr>
+         <tr>
+            <td class="TableCell" width="25%">
+               Initial version
+            </td>
+            <td class="TableCell" width="25%">
+               Nadya Morozova, Nikolay Kuznetsov: document created.
+            </td>
+            <td class="TableCell">
+               December 16, 2005
+            </td>
+         </tr>
+		 <tr>
+            <td class="TableCell" width="24%">
+               Formatting update
+            </td>
+            <td class="TableCell" width="49%">
+               Nadya Morozova
+            </td>
+            <td class="TableCell">
+                 September 21, 2006
+            </td>
+         </tr>
+      </table>
+      <h1>
+         <a id="Disclaimer" name="Disclaimer"></a>Disclaimer and Legal
+         Information
+      </h1>
+      <p>
+         Copyright 2005 The Apache Software Foundation or its licensors, as
+         applicable.
+      </p>
+      <p>
+         Licensed 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 <a
+         href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>.
+      </p>
+      <p>
+         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.
+      </p>
+      <h1>
+         <a id="About_this_document" name="About_this_document"></a>About This
+         Document
+      </h1>
+      <h2>
+         <a id="Purpose" name="Purpose"></a>Purpose
+      </h2>
+      <p>
+         This document describes the <code>java.util.regex</code> package
+         delivered as part of the Harmony classlibrary project. This document
+         provides an overview of the overall architecture with focus on the
+         aspects improving performance.
+      </p>
+      <h2>
+         <a id="Intended_Audience" name="Intended_Audience"></a>Intended
+         Audience
+      </h2>
+      <p>
+         The target audience for the document includes a wide community of
+         engineers interested in using regular expression package and in
+         further work with the product to contribute to its development. The
+         document assumes that readers are familiar with Regular expressions
+         [<a href="#Fri02">1</a>, <a href="#MY60">2</a>, <a
+         href="#THO68">3</a>], finite automata theory [<a href="#ASU86">4</a>],
+         basic compiler techniques [<a href="#ASU86">4</a>] and the Java<a
+         href="#*">*</a> programming language [<a href="#JavaSite">5</a>].
+      </p>
+      <h2>
+         <a id="Documentation_Conventions"
+         name="Documentation_Conventions"></a>Documentation Conventions
+      </h2>
+      <p>
+         This document uses the <a href="conventions.htm">unified
+         conventions</a> for the Harmony documentation kit.
+      </p>
+      <p class="backtotop">
+         <a href="#Top">Back to Top</a>
+      </p>
+      <h1>
+         <a id="Introduction" name="Introduction"></a>Introduction to Pattern
+         Matching
+      </h1>
+      <p>
+         To analyze text in search of sequences matching preset patterns, you
+         can choose from a variety of techniques, such as the wide-spread
+         <i>regular expressions</i> (RE) [<a href="#Fri02">1</a>], <em>exact
+         string matching</em>, for example, the Boyer-Moore algorithm (BM) [<a
+         href="#BM77">6</a>], and others. However, the RE engine is rather
+         complex, and significantly impacts performance, whereas the exact
+         string matching techniques have a limited application.
+      </p>
+      <p>
+         For example, the regular expression <code>.*world</code> is used to
+         find the last instance of <i>world</i> in a sentence. The BM string
+         searching algorithm is more appropriate for solving the task than the
+         RE technique, and is more effective from the performance perspective.
+         To optimize using pattern matching techniques with different tasks,
+         Harmony provides a unified interface that applies to any part of a
+         regular expression, including the whole expression.
+      </p>
+      <p>
+         In terms of the Finite Automata theory, which is the basis of regular
+         expression processing, a part of regular expression is a <i>node</i>.
+         The Harmony regex framework treats every distinctive part of a regular
+         expression and the whole expression as a node. Each node implements
+         the unified interface adjusted for a specific technique. For instance,
+         for the regular expression in the example, the Harmony framework
+         includes a special class SequenceSet, which has a unified interface
+         called <code>AbstractSet</code>, and implements the Boyer-Moore
+         algorithm in searching for a word.
+      </p>
+      <p class="backtotop">
+         <a href="#Top">Back to Top</a>
+      </p>
+      <h1>
+         <a id="AbstractSetIntro" name="AbstractSetIntro"></a>AbstractSet
+         Interface
+      </h1>
+      <p>
+         The key feature of the Harmony regex framework the single super
+         interface, <code>AbstractSet</code>, shared by all types of nodes.
+         Individual nodes are independent, so that every node of the automaton
+         incorporates its own find-match algorithm optimized for a specific
+         type of nodes. You can use methods implemented in the
+         <code>AbstractSet</code> interface subclasses or override these
+         methods to use your own more efficient algorithm.
+      </p>
+      <h2>
+         <a id="Characteristics" name="Characteristics"></a>Characteristics
+      </h2>
+      <p>
+         The <code>AbstractSet</code> interface has the following key
+         characteristics:
+      </p>
+      <ul>
+         <li>
+            <b>Unified structure:</b> General contract for all nodes including
+            node chains. This enables the framework to support new features and
+            optimizations for a specific construction of RE without impacting
+            other parts of the framework.
+         </li>
+         <li>
+            <b>Simplicity:</b> Every node of an automaton is simple and handles
+            a specific optimization or functionality. The resulting automaton
+            is straight-forward and includes no multi-purpose functionality. To
+            enable support of new functionality, create a new class. 
+            <p class="note">
+               Note
+            </p>
+            <p class="notetext">
+               Because new features and optimizations are implemented
+               independently, expansion of the framework has no negative impact
+               on the overall performance.
+            </p>
+         </li>
+         <li>
+            <b>Independence</b>:The matching and finding procedures are
+            incorporated into the interface and require no external logic. The
+            interface allows using the same find-match methods for all types of
+            nodes, and at the same time enables optimizing the find-match
+            algorithm for individual node types to improve performance.
+         </li>
+      </ul>
+      <p class="backtotop">
+         <a href="#Top">Back to Top</a>
+      </p>
+      <h2>
+         <a id="MethodsUsed" name="MethodsUsed"></a>Methods Used
+      </h2>
+      <p>
+         The <code>AbstractSet</code> interface defines the matching and
+         finding methods, and the service methods supporting them, as follows.
+      </p>
+      <p class="class">
+         Service Methods
+      </p>
+      <dl>
+         <dt>
+            accept()
+         </dt>
+         <dd>
+            Checks whether the current node matches the current string
+            symbol(s) to ensure that the automaton can proceed with the current
+            state. The method returns the number of accepted symbols. This
+            method is designed for nodes representing tokens, which mostly use
+            the default match procedure. To optimize the match procedure for a
+            specific type of token, you only need to override the
+            <code>accept()</code> method, see <a href="#Example1">Example
+            1</a>.
+         </dd>
+         <dt>
+            first()
+         </dt>
+         <dd>
+            Checks whether the first symbol of the current node intersects with
+            previous one. If not, then the previous node is quantified
+            possessively without <i>backtrack</i> (the option of restarting the
+            search from the previous position).
+         </dd>
+         <dt>
+            next()
+         </dt>
+         <dd>
+            Returns the next node of the automaton.
+         </dd>
+      </dl>
+      <p class="class">
+         Matching and Finding Methods
+      </p>
+      <dl>
+         <dt>
+            matches()
+         </dt>
+         <dd>
+            Runs the match procedure starting from the current state. This is
+            the only method you need to override in order to introduce new
+            functionality. By default, the <code>matches()</code> method does
+            the following when working with terms (see <a
+            href="#ClassHierarchy">Class Hierarchy</a>): 
+            <ol>
+               <li>
+                  Calls the <code>accept()</code> method and proceeds if the
+                  method returns a positive value.
+               </li>
+               <li>
+                  Calls the match of the next node with the shift obtained from
+                  the <code>accept()</code> method.
+               </li>
+               <li>
+                  Returns <code>TRUE</code> in case of a successful match.
+               </li>
+            </ol>
+         </dd>
+         <dt>
+            find()
+         </dt>
+         <dd>
+            Checks whether the pattern can match any part of the string in the
+            following way: 
+            <ol>
+               <li>
+                  Finds the next position in the input string, for which the
+                  <code>accept()</code> method returns a positive value. If no
+                  matches are found, the method terminates and returns a
+                  negative value.
+               </li>
+               <li>
+                  From this position, runs the <code>matches()</code> method.
+               </li>
+            </ol>
+         </dd>
+         <dt>
+            findBack()
+         </dt>
+         <dd>
+            Does the same as the <code>find()</code> method but starts from the
+            end of the string or from the nearest new-line symbol. This method
+            optimizes the find procedure when the current node of the pattern
+            fits the rest of the string. In such cases, it is necessary to find
+            the last occurrence of the pattern represented by the next node, as
+            in the case of the <code>.*world</code> pattern.
+         </dd>
+      </dl>
+      <p class="backtotop">
+         <a href="#Top">Back to Top</a>
+      </p>
+      <h2>
+         <a id="ClassHierarchy" name="ClassHierarchy"></a>Class Hierarchy
+      </h2>
+      <p>
+         <a href="#figure1">Figure 1</a> shows the class hierarchy based on the
+         <code>AbstractSet</code> interface. As mentioned in its <a
+         href="#AbstractSetIntro">description</a>, the whole hierarchy is based
+         on this interface. The other classes of the framework are divided into
+         the following categories:
+      </p>
+      <ul>
+         <li>
+            <b>Tokens or Leafs</b> (<code>LeafSet</code> in the figure): nodes
+            representing ordinal symbols, substrings, ranges, character
+            classes, and other basic units of regular expressions.
+         </li>
+         <li>
+            <b>Quantifiers</b> (<code>QuantifierSet</code> in the figure): set
+            of nodes responsible for quantification of terms. Terms are simple
+            and usually represent only one symbol. Therefore, terms are
+            quantified without recursion, and backtracks are processed on the
+            basis of the underlying pattern length.
+         </li>
+         <li>
+            <b>Groups</b> (<code>JointSet</code> in the figure): sets derived
+            from parenthetic constructions. These nodes represent alternations
+            of other sets.
+         </li>
+         <li>
+            <b>Group Quantifiers</b> (<code>GroupQuantifier</code> in the
+            figure): special quantifiers over Groups. Because the length of a
+            groups can vary, backtracks require recursion.
+         </li>
+      </ul>
+      <p style="text-align: center">
+         <img border="0" alt="Hierarchy of classes in regexp framework"
+         src="images/picture1.gif" />
+      </p>
+      <p class="special">
+         <a id="figure1" name="figure1"></a>Figure 1. Class Hierarchy
+      </p>
+      <p>
+         Figure 1 displays only the basics of the regex framework. This
+         framework also includes other nodes responsible for different
+         optimizations. For more details, see the comments inlined in code.
+      </p>
+      <p class="backtotop">
+         <a href="#Top">Back to Top</a>
+      </p>
+      <h2>
+         <a id="Optimizations" name="Optimizations"></a>Optimizations
+      </h2>
+      <p>
+         In the current implementation, most optimizations are based on the
+         node representation to improve efficiency of the framework. It is
+         noteworthy that an optimal finite automaton is built during compile
+         time, so that the constructed automaton does not spend additional time
+         on decision-making overhead during match time. The regex framework
+         optimizations improve different aspects, such as:
+      </p>
+      <ul>
+         <li>
+            <b>Character or String find methods:</b> The methods
+            <code>find()</code> and <code>findBack()</code> of certain nodes
+            use exact pattern matching algorithms, specifically, the
+            Boyer-Moore fast string search algorithm.
+         </li>
+         <li>
+            <b>Quantified dot term:</b> This term (<code>.*</code>) covers the
+            rest of the string and can therefore run <code>findBack()</code>
+            from the end of the string. If the <code>findBack()</code> method
+            of the following node implements a special algorithm, the pattern
+            matching speed for this chain increases, otherwise the operation
+            runs at the same speed.
+         </li>
+         <li>
+            <b>Quantified non-intersecting states:</b> If the quantified node
+            does not intersect with the first character of the next one, the
+            framework treats the quantifier as the possessive quantifier
+            because no backtracks can occur. Possessive quantification is based
+            on loops instead of recursion and works faster.
+         </li>
+      </ul>
+      <p class="backtotop">
+         <a href="#Top">Back to Top</a>
+      </p>
+      <h1>
+         <a id="UsageExamples" name="UsageExamples"></a>Usage Examples
+      </h1>
+      <p>
+         This part on the document illustrates usage of the Harmony regex
+         framework.
+      </p>
+      <p class="example">
+         <a id="Example1" name="Example1"></a>Example 1
+      </p>
+      <p class="exampletext">
+         This example illustrates using the <code>CharSet</code> class, which
+         includes all nodes accepting characters to create a new type of
+         tokens. For that, the class uses the <code>LeafSet</code> class, which
+         is the basic class for tokens. This example shows that the only method
+         you need to override in order to present a new type of tokens is the
+         <code>accept()</code> method.
+      </p>
+<pre>
+class CharSet extends LeafSet {
+    ...
+    public int accept(int strIndex, CharSequence testString) {
+        // checks that the current symbol of the input string is the one this 
+        // instance represents and returns 1 (the number of
+        // accepted symbols) or -1 if accept fails:
+        return (this.ch == testString.charAt(strIndex)) ? 1 : -1;
+    }
+    ...
+}
+</pre>
+      <p class="example">
+         Example 2
+      </p>
+      <p class="exampletext">
+         The following example demonstrates independent implementation of the
+         <code>find()</code> method for <code>SequenceSet</code>.
+      </p>
+      <p class="note">
+         Note
+      </p>
+      <p class="notetext">
+         This changes the find procedure for nodes representing character
+         sequences and at the same time does not affect the find-match
+         algorithms of other types of nodes.
+      </p>
+<pre>
+class SequenceSet extends LeafSet {
+    ...
+    protected int indexOf(CharSequence str, int from) {
+        // Boyer-Moore algorithm 
+        ...
+    }
+    
+    public int find(int strIndex, CharSequence testString,
+            MatchResultImpl matchResult) {
+        ...
+        while (strIndex &lt;= strLength) {
+            // call the fast search method instead of default implementation
+            strIndex = indexOf(testStr, strIndex);
+            if (strIndex &lt; 0) {
+                return -1;
+            }
+            if (next.matches(strIndex + charCount, testString, matchResult) &gt;= 0) {
+                return strIndex;
+            }
+            strIndex++;
+        }
+        return -1;
+    }
+    ...
+}
+</pre>
+      <p class="example">
+         Example 3
+      </p>
+      <p class="exampletext">
+         This example illustrates how to turn the match procedure of the
+         <code>.*</code> patterns into the find procedure, which is potentially
+         faster.
+      </p>
+<pre>
+class DotQuantifierSet extends LeafQuantifierSet {
+    ...     
+    public int matches(int stringIndex, CharSequence testString,
+            MatchResultImpl matchResult) {
+        ...
+        // find line terminator, since .* represented by this node accepts all characters
+        // except line terminators 
+        int startSearch = findLineTerminator(stringIndex, strLength, testString);
+        ...
+        // run findBack method of the next node, because the previous 
+        // part of the string is accepted by .* and no matter where
+        // the next part of pattern is found, the procedure works OK.  
+        return next.findBack(stringIndex, startSearch, testString, matchResult);
+    }
+}
+</pre>
+      <p class="backtotop">
+         <a href="#Top">Back to Top</a>
+      </p>
+      <h1>
+         <a id="References" name="References"></a>References
+      </h1>
+      <p>
+         [<a id="Fri02" name="Fri02"></a>1] Jeffrey E. F. Friedl.,
+         <em>Mastering regular expressions</em>, 2nd Edition., July 2002,
+         O'Reilly, ISBN 0-596-00289-0
+      </p>
+      <p>
+         [<a id="MY60" name="MY60"></a>2] McNaughton, R. and Yamada, H.
+         <em>Regular Expressions and State Graphs for Automata</em>, IRA Trans.
+         on Electronic Computers, Vol. EC-9, No. 1, Mar. 1960, pp 39-47.
+      </p>
+      <p>
+         [<a id="THO68" name="THO68"></a>3] Thompson, K., <em>Regular
+         Expression search Algorithm</em>, Communication ACM 11:6 (1968), pp.
+         419-422.
+      </p>
+      <p>
+         [<a id="ASU86" name="ASU86"></a>4] Alfred V. Aho, Ravi Sethi, Jeffrey
+         D. Ullman, <em>Compilers, Principles Techniques and Tools</em>,
+         Addison-Wesley Publishing Company, Inc., 1985, ISBN 0-201-10088-6
+      </p>
+      <p>
+         [<a id="JavaSite" name="JavaSite"></a>5] Java Technology site, <a
+         href="http://java.sun.com" target="_blank">http://java.sun.com</a>
+      </p>
+      <p>
+         [<a id="BM77" name="BM77"></a>6] R. Boyer and S. Moore. A fast string
+         searching algorithm. C. ACM, 20:762-772, 1977.
+      </p>
+      <p>
+         [<a id="KMP77" name="KMP77"></a>7] D.E. Knuth, .I. Morris, and V.
+         Pratt. Fast pattern matching in strings. SIAM J on Computing,
+         6:323-350, 1977.
+      </p>
+      <p class="backtotop">
+         <a href="#Top">Back to Top</a>
+      </p>
+      <p class="backtotop">
+          
+      </p>
+      <p>
+         <a id="*" name="*">*</a> Other brands and names are the property of
+         their respective owners.
+      </p>
+   </body>
+</html>
+

Added: incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/asn1_framework.xml
URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/asn1_framework.xml?view=auto&rev=448575
==============================================================================
--- incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/asn1_framework.xml (added)
+++ incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/asn1_framework.xml Thu Sep 21 07:56:21 2006
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+
+<!--
+
+    Copyright 2006 The Apache Software Foundation
+
+    Licensed 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.
+-->
+
+<document>
+
+  <properties>
+    <title>Apache Harmony</title>
+    <author email="harmony-dev@incubator.apache.org">Harmony Documentation Team</author>
+  </properties>
+
+  <body>
+   <docinclude name="subcomponents/classlibrary/ASN1Framework.htm"/>
+  </body>
+</document>

Propchange: incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/asn1_framework.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/awt.xml
URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/awt.xml?view=auto&rev=448575
==============================================================================
--- incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/awt.xml (added)
+++ incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/awt.xml Thu Sep 21 07:56:21 2006
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+
+<!--
+
+    Copyright 2006 The Apache Software Foundation
+
+    Licensed 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.
+-->
+
+<document>
+
+  <properties>
+    <title>Apache Harmony</title>
+    <author email="harmony-dev@incubator.apache.org">Harmony Documentation Team</author>
+  </properties>
+
+  <body>
+   <docinclude name="subcomponents/classlibrary/AWT.html"/>
+  </body>
+</document>

Propchange: incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/awt.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/dns_support.xml
URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/dns_support.xml?view=auto&rev=448575
==============================================================================
--- incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/dns_support.xml (added)
+++ incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/dns_support.xml Thu Sep 21 07:56:21 2006
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+
+<!--
+
+    Copyright 2006 The Apache Software Foundation
+
+    Licensed 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.
+-->
+
+<document>
+
+  <properties>
+    <title>Apache Harmony</title>
+    <author email="harmony-dev@incubator.apache.org">Harmony Documentation Team</author>
+  </properties>
+
+  <body>
+   <docinclude name="subcomponents/classlibrary/DNSsupport.htm"/>
+  </body>
+</document>

Propchange: incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/dns_support.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/index.xml
URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/index.xml?view=diff&rev=448575&r1=448574&r2=448575
==============================================================================
--- incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/index.xml (original)
+++ incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/index.xml Thu Sep 21 07:56:21 2006
@@ -35,22 +35,22 @@
 	<ul>
 		<li>
             <a href="build_classlib.html">Building the Classlibrary Code</a>
-			<blockquote>
+			<br />
                 Describes how to download and build the class library code from source.
-            </blockquote>
+
         </li>
 		<li>
             <a href="dev_eclipse.html">Development with the Eclipse IDE</a>
-			<blockquote>
+			<br />
                 Describes how to set up Eclipse to develop the class library code.
-            </blockquote>
+
         </li>
 		<li>
             <a href="hdk.html">Harmony Development Kit</a>
-            <blockquote>
+            <br />
                 Development bundle providing all jars, native binaries, dependencies and
                 header files to aid in Harmony development.
-            </blockquote>
+
         </li>
 	</ul>
 </subsection>
@@ -58,37 +58,39 @@
 <subsection name="Project Conventions">
 	<ul>
 		<li><a href="pkgnaming.html">Java package naming guidelines</a>
-			<blockquote>
-				Guidelines for Harmony package naming convention.
-			</blockquote>
-			</li>
-
-		<li><a href="testing.html">Testing conventions in the Apache Harmony Classlib</a>
-			<blockquote>
-                Placement and package naming conventions for different
-                types of Harmony class library tests.
-			</blockquote>
-			</li>
-
-		<li><a href="compat.html">Compatibility guidelines</a>
-			<blockquote>
-				Guidelines for ensuring that the Harmony class library is compatible
-				with other Java implementations.
-			</blockquote>
+      <br />
+      Guidelines for Harmony package naming convention.
+      
+    </li>
+
+    <li>
+      <a href="testing.html">Testing conventions in the Apache Harmony Classlib</a>
+      <br />
+      Placement and package naming conventions for different
+      types of Harmony class library tests.
+
+    </li>
+
+    <li>
+      <a href="compat.html">Compatibility guidelines</a>
+      <br />
+      Guidelines for ensuring that the Harmony class library is compatible
+      with other Java implementations.
+      
 			</li>
 
 		<li><a href="ser_testing.html">Framework for testing serialization</a>
-			<blockquote>
-	            Approach for testing serialization compatibility with other
-				certified implementations, Harmony backward compatibility, placement and
-				naming conventions for resource files.
-			</blockquote>
+      <br />
+      Approach for testing serialization compatibility with other
+      certified implementations, Harmony backward compatibility, placement and
+      naming conventions for resource files.
+      
 			</li>
 
 		<li><a href="agreements.html">Harmony-dev agreements</a>
-			<blockquote>
-				Summary of agreements and recommendations worked out on harmony-dev mailing list.
-			</blockquote>
+      <br />
+      Summary of agreements and recommendations worked out on harmony-dev mailing list.
+      
 			</li>
 	</ul>
 </subsection>
@@ -96,30 +98,44 @@
 <subsection name="Architecture and guides">
 	<ul>
 		<li>
-<a href="http://svn.apache.org/viewcvs.cgi/*checkout*/incubator/harmony/enhanced/classlib/trunk/doc/vm_doc/html/index.html">
-			Class library porting documentation</a>
-			<blockquote>
-				A porting guide aimed at developers interested in porting the classlib
-				code to a new VM.
-			</blockquote>
-        </li>
-		<li>
-<a href="http://svn.apache.org/viewcvs.cgi/*checkout*/incubator/harmony/enhanced/classlib/trunk/doc/vm_doc/html/group__Port.html">
-			The Harmony class library port layer</a>
-			<blockquote>
-				A description of the functions in the class library portlayer aimed at
-				developers who are writing JNI code for use by the Harmony class libraries
-				and developers who are interested in porting the classlib code to a new
-				operating system.
-			</blockquote>
-        </li>
-		<li>
-<a href="http://svn.apache.org/viewcvs.cgi/*checkout*/incubator/harmony/enhanced/classlib/trunk/doc/tools/Keytool/Keytool_help.html">
-			Keytool user's guide draft</a>
-			<blockquote>
-				A draft of description of Keytool utility.
-			</blockquote>
-        </li>
+      
+        <a href="asn1_framework.html">Harmony ASN1 Framework</a>
+        <br />
+        Introduction to the ASN.1 (Abstract Syntax Notation) framework with
+        an overview of ASN.1 types and encoding rules focusing on the characteristics
+        of the current implementation.
+
+      </li>
+      <li>
+        <a href="regexp.html">Harmony Regular Expression Framework</a>
+        <br />
+        Overview of the java.util.regex package and implementation architecture
+        focusing on the performance improvement aspects.
+
+      </li>
+      <li>
+        <a href="dns_support.html">Harmony DNS Service Provider</a>
+        <br />
+        Implementation description of the DNS service provider for the Java* Naming Directory Interface (JNDI)
+        including a package overview, a design description and a guide to using the provider.
+
+      </li>
+      <li>
+        <a href="awt.html">Harmony Abstract Window Toolkit Framework</a>
+        <br />
+        Description of the AWT (Abstract Window Toolkit) framework covering
+        major design features and internal implementation specifics, such as
+        the event handling mechanism, the focus dispatching flow, appearance handling
+        with custom visual themes and multi-threading support
+
+      </li>
+      <li>
+        <a href="java2d.html">Harmony Java 2D implementation</a>
+        <br />
+        Introduction to the Java two-dimensional (2D) graphics and image processing
+        technology implementation focusing on the internal specifics of implementation
+
+      </li>
 
 	</ul>
 </subsection>

Added: incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/java2d.xml
URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/java2d.xml?view=auto&rev=448575
==============================================================================
--- incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/java2d.xml (added)
+++ incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/java2d.xml Thu Sep 21 07:56:21 2006
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+
+<!--
+
+    Copyright 2006 The Apache Software Foundation
+
+    Licensed 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.
+-->
+
+<document>
+
+  <properties>
+    <title>Apache Harmony</title>
+    <author email="harmony-dev@incubator.apache.org">Harmony Documentation Team</author>
+  </properties>
+
+  <body>
+   <docinclude name="subcomponents/classlibrary/Java2D.html"/>
+  </body>
+</document>

Propchange: incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/java2d.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/regexp.xml
URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/regexp.xml?view=auto&rev=448575
==============================================================================
--- incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/regexp.xml (added)
+++ incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/regexp.xml Thu Sep 21 07:56:21 2006
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+
+<!--
+
+    Copyright 2006 The Apache Software Foundation
+
+    Licensed 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.
+-->
+
+<document>
+
+  <properties>
+    <title>Apache Harmony</title>
+    <author email="harmony-dev@incubator.apache.org">Harmony Documentation Team</author>
+  </properties>
+
+  <body>
+   <docinclude name="subcomponents/classlibrary/Regexp.htm"/>
+  </body>
+</document>

Propchange: incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/regexp.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/rmi_proivider.xml
URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/rmi_proivider.xml?view=auto&rev=448575
==============================================================================
--- incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/rmi_proivider.xml (added)
+++ incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/rmi_proivider.xml Thu Sep 21 07:56:21 2006
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+
+<!--
+
+    Copyright 2006 The Apache Software Foundation
+
+    Licensed 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.
+-->
+
+<document>
+
+  <properties>
+    <title>Apache Harmony</title>
+    <author email="harmony-dev@incubator.apache.org">Harmony Documentation Team</author>
+  </properties>
+
+  <body>
+   <docinclude name="subcomponents/classlibrary/RMIprovider.htm"/>
+  </body>
+</document>

Propchange: incubator/harmony/standard/site/xdocs/subcomponents/classlibrary/rmi_proivider.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/harmony/standard/site/xdocs/subcomponents/drlvm/debugging_VM_and_JIT.xml
URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/xdocs/subcomponents/drlvm/debugging_VM_and_JIT.xml?view=diff&rev=448575&r1=448574&r2=448575
==============================================================================
--- incubator/harmony/standard/site/xdocs/subcomponents/drlvm/debugging_VM_and_JIT.xml (original)
+++ incubator/harmony/standard/site/xdocs/subcomponents/drlvm/debugging_VM_and_JIT.xml Thu Sep 21 07:56:21 2006
@@ -21,8 +21,6 @@
  <properties>
   <title>Debugging VM and JIT</title>
   <author email="harmony-dev@incubator.apache.org">Harmony Documentation Team</author>
-<link rel="Stylesheet" type="text/css" href="drl.css"/>
-
  </properties>
 
    <body>

Modified: incubator/harmony/standard/site/xdocs/subcomponents/drlvm/developers_guide.xml
URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/xdocs/subcomponents/drlvm/developers_guide.xml?view=diff&rev=448575&r1=448574&r2=448575
==============================================================================
--- incubator/harmony/standard/site/xdocs/subcomponents/drlvm/developers_guide.xml (original)
+++ incubator/harmony/standard/site/xdocs/subcomponents/drlvm/developers_guide.xml Thu Sep 21 07:56:21 2006
@@ -21,8 +21,6 @@
  <properties>
   <title>Developers Guide</title>
   <author email="harmony-dev@incubator.apache.org">Harmony Documentation Team</author>
-<link rel="Stylesheet" type="text/css" href="drl.css"/>
-
  </properties>
 
    <body>

Modified: incubator/harmony/standard/site/xdocs/subcomponents/drlvm/getting_started.xml
URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/xdocs/subcomponents/drlvm/getting_started.xml?view=diff&rev=448575&r1=448574&r2=448575
==============================================================================
--- incubator/harmony/standard/site/xdocs/subcomponents/drlvm/getting_started.xml (original)
+++ incubator/harmony/standard/site/xdocs/subcomponents/drlvm/getting_started.xml Thu Sep 21 07:56:21 2006
@@ -21,8 +21,6 @@
  <properties>
   <title>Getting Started</title>
   <author email="harmony-dev@incubator.apache.org">Harmony Documentation Team</author>
-<link rel="Stylesheet" type="text/css" href="drl.css"/>
-
  </properties>
 
    <body>



Mime
View raw message