harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From telli...@apache.org
Subject svn commit: r448575 [3/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/docs/subcomponents/classlibrary/dns_support.html
URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/docs/subcomponents/classlibrary/dns_support.html?view=auto&rev=448575
==============================================================================
--- incubator/harmony/standard/site/docs/subcomponents/classlibrary/dns_support.html (added)
+++ incubator/harmony/standard/site/docs/subcomponents/classlibrary/dns_support.html Thu Sep 21 07:56:21 2006
@@ -0,0 +1,914 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 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.
+-->
+
+
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="Harmony Documentation Team">
+            <meta name="email" value="harmony-dev@incubator.apache.org">
+            
+           
+            
+            
+            
+            
+            
+            <title>Apache Harmony - Apache Harmony</title>
+
+                                <link rel="Stylesheet" type="text/css" href="/harmony/site.css"/>
+        </head>
+
+        <body>        
+            <table  width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <table><tr><td>
+                    <td>
+<a href="http://incubator.apache.org/harmony/"><img  src="../../images/harmony-logo.png" alt="Apache Harmony" /></a>
+</td>
+</td>
+                    </td></tr></table>
+                    </td>
+                    <td align='RIGHT'>
+                    <a href="http://incubator.apache.org/harmony/">
+                    <img src="http://incubator.apache.org/harmony/images/apache-incubator-logo.png"
+                    	alt="Apache Harmony" /></a>                    
+                    </td>
+                </tr>
+            </table>
+            <table width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td class="menuItem" width="20%" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time -->
+                    <a href="http://www.us.apachecon.com/">
+                        <img src="http://www.apache.org/ads/ApacheCon/240x120-2006-us.gif"
+                             alt="ApacheCon US 2006" />
+                    </a>
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+
+                <p class="menuItem"><strong>General</strong></p>
+        <ul>
+                    <li class="menuItem">    <a href="../../index.html">Home</a>
+</li>
+            
+           
+                        
+                    <li class="menuItem">    <a href="../../license.html">License</a>
+</li>
+            
+           
+                        
+                    <li class="menuItem">    <a href="../../contribution_policy.html">Contribution Policy</a>
+</li>
+            
+           
+                        
+                    <li class="menuItem">    <a href="../../guidelines.html">Project Guidelines</a>
+</li>
+            
+           
+                        
+                    <li class="menuItem">    <a href="http://www.apache.org/">ASF</a>
+</li>
+            
+           
+                        
+                    <li class="menuItem">    <a href="../../downloads.html">Downloads</a>
+</li>
+            
+           
+                        
+                </ul>
+            <p class="menuItem"><strong>Community</strong></p>
+        <ul>
+                    <li class="menuItem">    <a href="../../get-involved.html">Get Involved</a>
+</li>
+            
+           
+                        
+                    <li class="menuItem">    <a href="../../contributors.html">Committers</a>
+</li>
+            
+           
+                        
+                    <li class="menuItem">    <a href="../../mailing.html">Mailing Lists</a>
+</li>
+            
+           
+                        
+                    <li class="menuItem">    <a href="../../documentation/documentation.html">Documentation</a>
+</li>
+            
+           
+                        
+                    <li class="menuItem">    <a href="../../faq.html">FAQ</a>
+</li>
+            
+           
+                        
+                    <li class="menuItem">    <a href="http://wiki.apache.org/harmony">Wiki</a>
+</li>
+            
+           
+                        
+                </ul>
+            <p class="menuItem"><strong>Development</strong></p>
+        <ul>
+                    <li class="menuItem">    <a href="../../status.html">How Are We Doing?</a>
+</li>
+            
+           
+                        
+                    <li class="menuItem">    <a href="../../roadmap.html">Road Map / TODO</a>
+</li>
+            
+           
+                        
+                    <li class="menuItem">    <a href="../../svn.html">Source Code</a>
+</li>
+            
+           
+                        
+                    <li class="menuItem">    <a href="http://issues.apache.org/jira/browse/HARMONY">JIRA</a>
+</li>
+            
+           
+                        
+                    <li class="menuItem">    <a href="../../related.html">Other Projects</a>
+</li>
+            
+           
+                        
+                </ul>
+            <p class="menuItem"><strong>Subcomponents</strong></p>
+        <ul>
+                    <li class="menuItem">    <a href="../../subcomponents/buildtest/index.html">Build-Test Framework</a>
+</li>
+            
+           
+                        
+                    <li class="menuItem">    <a href="../../subcomponents/classlibrary/index.html">Class Library</a>
+</li>
+            
+           
+                           <table>
+              <tr><td class="menuItem">
+                &nbsp;&nbsp;&nbsp;&nbsp;    <a href="../../subcomponents/classlibrary/status.html">Status</a>
+                </td></tr>
+              </table>
+                        
+                    <li class="menuItem">    <a href="../../subcomponents/drlvm/index.html">DRLVM</a>
+</li>
+            
+           
+                        
+                    <li class="menuItem">    <a href="../../subcomponents/jchevm/index.html">JCHEVM</a>
+</li>
+            
+           
+                        
+                </ul>
+                        </td>
+                    <td width="80%" valign="top"><a name="top"></a>
+                                        
+                                                                <div>
+<!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" />
+      <title>
+         DNS Service Provider
+      </title>
+      <link rel="Stylesheet" type="text/css" href="drl.css" />
+   </head>
+   <body>
+      <h1>
+         <a id="top" name="top"></a>DNS Service Provider
+      </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="#DNS_Provider_Overview">Introduction to DNS Provider</a>
+      </p>
+      <p class="TOCHeading">
+         <a href="#DNS_Provider_in_DRL">DNS Provider in DRL</a>
+      </p>
+      <p class="TOC">
+         <a href="#About_DRL_DNS">About</a>
+      </p>
+      <p class="TOC">
+         <a href="#DNS_URL_Syntax">DNS URL Syntax</a>
+      </p>
+      <p class="TOC">
+         <a href="#Attribute_Identifiers">Attribute Identifiers</a>
+      </p>
+      <p class="TOC">
+         <a href="#API_Mapping">API Mapping</a>
+      </p>
+      <p class="TOC">
+         <a href="#Environment_Properties">Environment Properties</a>
+      </p>
+      <p class="TOC">
+         <a href="#DNS_Resolver">DNS Resolver</a>
+      </p>
+      <p class="TOC">
+         <a href="#Federation">Federation</a>
+      </p>
+      <p class="TOCHeading">
+         <a href="#Appendix_Usage_Examples">Appendix: 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 border="0" cellpadding="0" width="100%">
+         
+            <tr>
+               <th class="TableHeading" width="24%">
+                  Version
+               </th>
+               <th class="TableHeading" width="49%">
+                  Version Information
+               </th>
+               <th class="TableHeading">
+                  Date
+               </th>
+            </tr>
+            <tr>
+               <td class="TableCell" width="24%">
+                  Initial version
+               </td>
+               <td class="TableCell" width="49%">
+                  Alexei Zakharov, Nadya Morozova: document created.
+               </td>
+               <td class="TableCell">
+                    March 23, 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"
+         target="_blank">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 introduces the DRL implementation of the DNS service
+         provider for JNDI, the Java<a href="#*">*</a> Naming Directory
+         Interface. The document gives details on the DNS provider design,
+         includes an overall description of the package, and includes helpful
+         usage examples. The description documents the first version of the DRL
+         DNS service provider deployed in March 2006.
+      </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 the DNS service provider for JNDI and in
+         further work with the product to contribute to its development. The
+         document assumes that readers are familiar with the Java<a
+         href="#*">*</a> programming language, the Java<a href="#*">*</a>
+         Naming Directory Interface, and common concepts of the DNS protocol.
+      </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 DRL documentation kit.
+      </p>
+      <p class="backtotop">
+         <a href="#top">Back to Top</a>
+      </p>
+      <h1>
+         <a id="DNS_Provider_Overview"
+         name="DNS_Provider_Overview"></a>Introduction to DNS Provider
+      </h1>
+      <p>
+         The DNS service provider enables Java<a href="#*">*</a> applications
+         to access information stored in the Domain Name System database by
+         means of the Java<a href="#*">*</a> Naming and Directory Interface [<a
+         href="#JNDI">1</a>]. The provider presents the DNS namespace as a tree
+         of JNDI directory contexts, and DNS resource records as JNDI
+         attributes.
+      </p>
+      <p class="backtotop">
+         <a href="#top">Back to Top</a>
+      </p>
+      <h1>
+         <a id="DNS_Provider_in_DRL" name="DNS_Provider_in_DRL"></a>DNS
+         Provider in DRL
+      </h1>
+      <p>
+         This part of the document describes the DRL implementation of the DNS
+         provider as a whole and defines the API mapping, environment
+         properties usage, and other specific aspects.
+      </p>
+      <h2>
+         <a id="About_DRL_DNS" name="About_DRL_DNS"></a>About
+      </h2>
+      <p>
+         <span style="font-size: 10pt; font-family: Arial;" lang="EN-US">This
+         is an independent implementation of the DNS service provider for JNDI.
+         More detailed information on JNDI and JNDI service providers can be
+         found at</span> [<a href="DNSsupport.htm#JNDI">1</a>].
+      </p>
+      <p>
+         In DRL, the DNS service provider is a directory context associated
+         with a domain name. This way, DNS resource records correspond to JNDI
+         attributes. The DNS support functionality is mainly represented by the
+         following classes of the
+         <code>org.apache.harmony.jndi.provider.dns</code> package:
+      </p>
+      <ul>
+         <li>
+            The <code>DNSContext</code> class represents the DNS context and
+            implements the <code>DirContext</code> interface
+         </li>
+         <li>
+            The <code>DNSName</code> class represents DNS names and implements
+            the <code>Name</code> interface
+         </li>
+         <li>
+            The <code>DNSNameParser</code> class enables parsing DNS names and
+            implements the <code>NameParser</code> interface
+         </li>
+         <li>
+            The <code>Resolver</code> class and the related set of classes
+            contain DNS specific algorithms and protocol messages functionality
+         </li>
+      </ul>
+      <h2>
+         <a id="DNS_URL_Syntax" name="DNS_URL_Syntax"></a>DNS URL Syntax
+      </h2>
+      <p>
+         The DNS URL, or <i>DNS Pseudo URL</i>, passes the initial information
+         to the DNS context as a value for the
+         <code>java.naming.provider.url</code> property or as an argument to a
+         method of the initial context via the DNS URL provider. The DNS URL is
+         defined in the following format:
+      </p>
+<pre>
+dns:[//host[:port]][/domain]<br />
+</pre>
+      <p>
+         A given combination of <code>host</code> and <code>port</code>
+         indicates the DNS server to be used for serving requests about a given
+         domain. Given partial data, the following values are used instead of
+         missing parameters:
+      </p>
+      <ul>
+         <li>
+            If <code>host</code> is missing, <code>localhost</code> is used.
+         </li>
+         <li>
+            If <code>port</code> is missing, <code>53</code> is taken by
+            default.
+         </li>
+         <li>
+            If <code>host</code> and <code>port</code> are missing, the DNS
+            server is set to the default of <code>localhost:53</code>.
+         </li>
+         <li>
+            If <code>domain</code> is missing, the root domain <code>.</code>
+            is used.
+         </li>
+      </ul>
+      <p class="backtotop">
+         <a href="#top">Back to Top</a>
+      </p>
+      <h2>
+         <a id="Attribute_Identifiers"
+         name="Attribute_Identifiers"></a>Attribute Identifiers
+      </h2>
+      <p>
+         Because this provider presents DNS resource records in the form of
+         JNDI attributes, the exact format of attribute identifiers must be
+         defined. These identifiers are accepted by different methods of the
+         DNS provider. An identifier consists of the following combination of
+         DNS class and type information:
+      </p>
+<pre>
+[CLASS_IDENTIFIER] TYPE_IDENTIFIER<br />
+</pre>
+      <p>
+         Currently supported class identifiers:
+      </p>
+      <ul>
+         <li>
+            <code>IN</code> - Internet class
+         </li>
+         <li>
+            <code>HS</code> - Hesiod class (not tested)
+         </li>
+      </ul>
+      <p>
+         Currently supported type identifiers:
+      </p>
+      <ul>
+         <li>
+            <code>A</code> - address record
+         </li>
+         <li>
+            <code>NS</code> - name server record
+         </li>
+         <li>
+            <code>CNAME</code> - canonical name for record
+         </li>
+         <li>
+            <code>SOA</code> - start of authority record
+         </li>
+         <li>
+            <code>PTR</code> - name pointer record
+         </li>
+         <li>
+            <code>MX</code> - mail exchange
+         </li>
+         <li>
+            <code>TXT</code> - text record
+         </li>
+         <li>
+            <code>HINFO</code> - host information
+         </li>
+         <li>
+            <code>SRV</code> - location of services record
+         </li>
+      </ul>
+      <p>
+         If the class identifier is missing, the provider assumes the
+         <code>IN</code> class identifier. For an unsupported attribute type,
+         calling <code>getAttributes()</code> returns a numerical value rather
+         than its type ID. The symbol <code>""</code> indicates
+         <code>ANY</code> type or class, so that an empty string stands for any
+         type in any class.
+      </p>
+      <p>
+         For more details about DNS resource record classes and types, see RFC
+         1035 [<a href="#RFC">2</a>].
+      </p>
+      <p class="backtotop">
+         <a href="#top">Back to Top</a>
+      </p>
+      <h2>
+         <a id="API_Mapping" name="API_Mapping"></a>API Mapping
+      </h2>
+      <p>
+         The <code>DNSContext</code> class, the main class of the DRL DNS
+         provider, implements the <code>DirContext</code> interface. Because
+         DNS allows a read-only service, <code>DNSContext</code> provides only
+         a part of the overall <code>DirContext</code> functionality.
+      </p>
+      <p>
+         Below is the list of supported <code>DirContext</code> methods grouped
+         by functionality. All other methods throw
+         <code>javax.naming.OperationNotSupportedException</code>.
+      </p>
+      <p class="class">
+         Environment operations
+      </p>
+      <p class="notetext">
+         <code>addToEnvironment()</code><br />
+         <code>getEnvironent()</code><br />
+         <code>removeFromEnvironment()</code>
+      </p>
+      <p class="class">
+         Operations with DNS names
+      </p>
+      <p class="notetext">
+         <code>composeName()</code><br />
+         <code>getNameInNamespace()</code><br />
+         <code>getNameParser()</code>
+      </p>
+      <p class="class">
+         Querying attribute values
+      </p>
+      <p class="notetext">
+         <code>getAttributes()</code>
+      </p>
+      <p>
+         This method queries the attribute values from the remote DNS server or
+         the local provider's cache.
+      </p>
+      <p class="class">
+         <a id="Lookup" name="Lookup"></a>Lookup operations
+      </p>
+      <p class="notetext">
+         <code>lookup()</code><br />
+         <code>lookupLink()</code>
+      </p>
+      <p>
+         The lookup algorithm works as follows:
+      </p>
+      <ol>
+         <li>
+            Determines the attribute identifier (ID) contained in the
+            <code>org.apache.harmony.jndi.provider.dns.lookup.attr</code>
+            property. If the property value contains no attribute identifier,
+            the <code>TXT</code> attribute is used.
+         </li>
+         <li>
+            Calls <code>getAttributes()</code> to retrieve the values of
+            attributes with the identifier determined at step 1 for the
+            requested domain name.
+         </li>
+         <li>
+            Calls <code>DriverManager.getObjectInstance()</code> to obtain the
+            object instance for the requested domain name and the retrieved
+            attribute value(s).
+         </li>
+         <li>
+            Returns the object instance to the user application.
+         </li>
+      </ol>
+      <p class="note">
+         Note
+      </p>
+      <p class="notetext">
+         The user object factory must be able to create object instances for an
+         object of the
+         <code>org.apache.harmony.jndi.provider.dns.DNSContext</code> class [<a
+         href="#JNDI">1</a>]. If no object factories have been specified, the
+         lookup methods return an instance of <code>DNSContext</code>.
+      </p>
+      <p class="class">
+         List operations
+      </p>
+      <p class="notetext">
+         <code>list()</code><br />
+         <code>listBindings()</code>
+      </p>
+      <p>
+         These methods list the entire content of the DNS zone via DNS zone
+         transfer mechanism.
+      </p>
+      <p class="class">
+         Releasing all resources
+      </p>
+      <p class="notetext">
+         <code>close()</code>
+      </p>
+      <p class="note">
+         Note
+      </p>
+      <p class="notetext">
+         Currently, this method does nothing because it has nothing to
+         release.<br />
+      </p>
+      <p class="backtotop">
+         <br />
+         <a href="#top">Back to Top</a>
+      </p>
+      <h2>
+         <a id="Environment_Properties"
+         name="Environment_Properties"></a>Environment Properties
+      </h2>
+      <p>
+         The DNS service provider accepts a number of environment properties as
+         shown in the table below.
+      </p>
+      <table>
+         <tbody>
+            <tr>
+               <th colspan="1" class="TableHeading">
+                  Property Name
+               </th>
+               <th class="TableHeading"width="394">
+                  Function
+               </th>
+            </tr>
+            <tr>
+               <td class="TableCell">
+                  <code>java.naming.authoritative</code> 
+               </td>
+               <td class="TableCell">
+                  Sets the authoritative bit [<a href="#RFC">2</a>] for all
+                  outgoing messages when <code>TRUE</code>.
+               </td>
+            </tr>
+            <tr>
+               <td class="TableCell">
+                  <code>org.apache.harmony.jndi.provider.dns.lookup.attr</code>
+                  
+               </td>
+               <td class="TableCell">
+                  Specifies the attribute identifier to be used in the <a
+                  href="#Lookup">lookup algorithm</a>.
+               </td>
+            </tr>
+            <tr>
+               <td class="TableCell">
+                  <code>org.apache.harmony.jndi.provider.dns.recursion</code> 
+               </td>
+               <td class="TableCell">
+                  Sets the recursion bit for outgoing messages when
+                  <code>TRUE</code>.
+               </td>
+            </tr>
+            <tr>
+               <td class="TableCell">
+                  <code>org.apache.harmony.jndi.provider.dns.timeout.initial</code>
+                  
+               </td>
+               <td class="TableCell">
+                  Indicates the initial timeout. 
+                  <p>
+                     When accessing remote data, the DNS client tries to query
+                     all possible remote servers with this value taken as a
+                     timeout. If this fails, the client increases the initial
+                     timeout value by two times. If this also fails, a value 4
+                     times greater than the initial timeout is taken and so on
+                     (x8, x16, ... ) until the maximum number of timeout
+                     retries is reached, see the description of property
+                     <code>org.apache.harmony.jndi.provider.dns.timeout.retries</code>.
+                  </p>
+               </td>
+            </tr>
+            <tr>
+               <td class="TableCell">
+                  <code>org.apache.harmony.jndi.provider.dns.timeout.retries</code>
+                  
+               </td>
+               <td class="TableCell">
+                  Sets the number of timeout retries, that is, the maximum
+                  number of retries that can be performed when accessing a
+                  remote DNS server. 
+                  <p>
+                     If all attempts fail and the maximum number of retries is
+                     reached, the user gets an error message, see the
+                     description of property
+                     <code>org.apache.harmony.jndi.provider.dns.timeout.initial</code>.
+                  </p>
+               </td>
+            </tr>
+            <tr>
+               <td class="TableCell">
+                  <code>org.apache.harmony.jndi.providers.dns.threads.max</code>
+                  
+               </td>
+               <td class="TableCell">
+                  Determines the maximum number of threads that can be started
+                  by a single instance of the DNS context. The default value is
+                  7.
+               </td>
+            </tr>
+            <tr>
+               <td class="TableCell">
+                  <code>java.naming.provider.url</code> 
+               </td>
+               <td class="TableCell">
+                  Enumerates the initial DNS URLs. 
+                  <p>
+                     Multiple URLs must go in a space-separated list, see <a
+                     href="#DNS_URL_Syntax">DNS URL Syntax</a>. During
+                     instantiation, the DNS provider fills its internal tables
+                     with the given DNS server and controlled domain pairs. The
+                     domain part of all URLs must be identical. The newly
+                     created DNS context is associated with this domain name.
+                  </p>
+               </td>
+            </tr>
+         </tbody>
+      </table>
+      <p class="backtotop">
+         <a href="#top">Back to Top</a>
+      </p>
+      <h2>
+         <a id="DNS_Resolver" name="DNS_Resolver"></a>DNS Resolver
+      </h2>
+      <p>
+         The DRL DNS provider includes an independent fully-functional DNS
+         resolver with its own SLIST table and local cache. The SLIST table and
+         the cache are singleton classes shared among all instances of the
+         resolver. The resolver conforms with RFC 1034 on general principles
+         and algorithms used by the resolver, and with RFC 1035 on respective
+         records and message formats. The standards RFC 1123, 2181, and 2782
+         are also relevant [<a href="#RFC">2</a>].
+      </p>
+      <p class="backtotop">
+         <a href="#top">Back to Top</a>
+      </p>
+      <h2>
+         <a id="Federation" name="Federation"></a>Federation
+      </h2>
+      <p>
+         The DLR DNS provider has built-in federation support. Implicit next
+         naming system is determined dynamically. If the DNS context encounters
+         the border of the DNS namespace, it calls the
+         <code>DirectoryManager.getContinuationContext</code><code>(</code><code>
+         )</code> method and forwards the call to the obtained next naming
+         system context.
+      </p>
+      <p>
+         Unsupported methods, such as <code>bind(</code><code>)</code> and
+         <code>rename()</code>, also perform the initial check. The user gets
+         <code>javax.naming.OperationNotSupportedException</code> for these
+         methods only if the requested name is entirely inside the DNS
+         namespace.
+      </p>
+      <p class="backtotop">
+         <a href="#top">Back to Top</a>
+      </p>
+      <h1>
+         <a id="Appendix_Usage_Examples"
+         name="Appendix_Usage_Examples"></a>Appendix: Usage Examples
+      </h1>
+      <p>
+         Below is an example of using the provider as the initial context. In
+         the example, the <code>DNSContextFactory</code> class is specified as
+         the default factory for producing initial contexts.
+      </p>
+<pre>
+Hashtable env = new Hashtable();<br />
+DirectoryContext ctx;<br />
+Attributes attrs;<br />
+<br />
+env.put(Context.INITIAL_CONTEXT_FACTORY,<br />
+        "org.apache.harmony.jndi.provider.dns.DNSContextFactory");<br />
+env.put(Context.PROVIDER_URL,<br />
+        "dns://dns01.example.com/subdomain.example.com");<br />
+ctx = new InitialDirContext(env);<br />
+<br />
+// Obtain A and CNAME records for server1.subdomain.example.com<br />
+attrs = ctx.getAttributes("server1", new String[] {"A", "CNAME"});<br />
+</pre>
+      <p>
+         The provider can also be accessed by passing a DNS URL to any initial
+         context method that accepts string arguments. For that, set the
+         following property before calling a method of the initial context:
+      </p>
+<pre>
+env.put(Context.URL_PKG_PREFIXES, "org.apache.harmony.jndi.provider.dns");<br />
+ctx = new InitialDirContext(env);<br />
+<br />
+// Add server with IP address 192.168.1.111 to SLIST as a server<br />
+// responsible for serving requests about host11.subdomain.example.com<br />
+// Retrieve A and HINFO records for host11.subdomin.example.com<br />
+attrs = ctx.getAttributes("dns://192.168.1.111/host11.subdomain.example.com",<br />
+                          new String[] {"A", "HINFO"});<br />
+</pre>
+      <p>
+         The class <code>dnsURLContext</code> actually serves requests of this
+         type.
+      </p>
+      <p class="backtotop">
+         <a href="#top">Back to Top</a>
+      </p>
+      <h1>
+         <a id="References" name="References"></a>References
+      </h1>
+      <p>
+         [<a id="JNDI" name="JNDI"></a>1] Java<a href="#*">*</a> Naming And
+         Directory Interface, <a
+         href="http://java.sun.com/j2se/1.5.0/docs/guide/jndi/index.html"
+         target="_blank">http://java.sun.com/j2se/1.5.0/docs/guide/jndi/index.html</a>
+      </p>
+      <p>
+         [<a id="RFC" name="RFC"></a>2] Internet Engineering Task Force,
+         Requests for Comments, <a href="http://www.ietf.org/"
+         target="_blank">http://www.ietf.org/</a>
+      </p>
+      <p>
+          
+      </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>
+
+</div>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div class="special"><em>
+                    Copyright &#169; 2003-2006, The Apache Software Foundation
+                    </em></div>
+                </td></tr>
+            </table>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

Modified: incubator/harmony/standard/site/docs/subcomponents/classlibrary/index.html
URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/docs/subcomponents/classlibrary/index.html?view=diff&rev=448575&r1=448574&r2=448575
==============================================================================
--- incubator/harmony/standard/site/docs/subcomponents/classlibrary/index.html (original)
+++ incubator/harmony/standard/site/docs/subcomponents/classlibrary/index.html Thu Sep 21 07:56:21 2006
@@ -223,22 +223,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>
                             
@@ -254,37 +254,39 @@
         
                                     <ul>
 		<li><a href="pkgnaming.html">Java package naming guidelines</a>
-			<blockquote>
-				Guidelines for Harmony package naming convention.
-			</blockquote>
-			</li>
+      <br />
+      Guidelines for Harmony package naming convention.
+      
+    </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="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>
-			<blockquote>
-				Guidelines for ensuring that the Harmony class library is compatible
-				with other Java implementations.
-			</blockquote>
+    <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>
                             
@@ -300,30 +302,44 @@
         
                                     <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>
                             

Added: incubator/harmony/standard/site/docs/subcomponents/classlibrary/java2d.html
URL: http://svn.apache.org/viewvc/incubator/harmony/standard/site/docs/subcomponents/classlibrary/java2d.html?view=auto&rev=448575
==============================================================================
--- incubator/harmony/standard/site/docs/subcomponents/classlibrary/java2d.html (added)
+++ incubator/harmony/standard/site/docs/subcomponents/classlibrary/java2d.html Thu Sep 21 07:56:21 2006
@@ -0,0 +1,746 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+
+<!--
+Copyright 1999-2004 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.
+-->
+
+
+<!-- start the processing -->
+    <!-- ====================================================================== -->
+    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
+    <!-- Main Page Section -->
+    <!-- ====================================================================== -->
+    <html>
+        <head>
+            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
+
+                                                    <meta name="author" value="Harmony Documentation Team">
+            <meta name="email" value="harmony-dev@incubator.apache.org">
+            
+           
+            
+            
+            
+            
+            
+            <title>Apache Harmony - Apache Harmony</title>
+
+                                <link rel="Stylesheet" type="text/css" href="/harmony/site.css"/>
+        </head>
+
+        <body>        
+            <table  width="100%" cellspacing="0">
+                <!-- TOP IMAGE -->
+                <tr>
+                    <td align='LEFT'>
+                    <table><tr><td>
+                    <td>
+<a href="http://incubator.apache.org/harmony/"><img  src="../../images/harmony-logo.png" alt="Apache Harmony" /></a>
+</td>
+</td>
+                    </td></tr></table>
+                    </td>
+                    <td align='RIGHT'>
+                    <a href="http://incubator.apache.org/harmony/">
+                    <img src="http://incubator.apache.org/harmony/images/apache-incubator-logo.png"
+                    	alt="Apache Harmony" /></a>                    
+                    </td>
+                </tr>
+            </table>
+            <table width="100%" cellspacing="4">
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+
+                <tr>
+                    <!-- LEFT SIDE NAVIGATION -->
+                    <td class="menuItem" width="20%" nowrap="true">
+
+                    <!-- special ACon Logo - leave here for next time -->
+                    <a href="http://www.us.apachecon.com/">
+                        <img src="http://www.apache.org/ads/ApacheCon/240x120-2006-us.gif"
+                             alt="ApacheCon US 2006" />
+                    </a>
+
+                   <!-- regular menu -->
+
+                    
+    <!-- ============================================================ -->
+
+                <p class="menuItem"><strong>General</strong></p>
+        <ul>
+                    <li class="menuItem">    <a href="../../index.html">Home</a>
+</li>
+            
+           
+                        
+                    <li class="menuItem">    <a href="../../license.html">License</a>
+</li>
+            
+           
+                        
+                    <li class="menuItem">    <a href="../../contribution_policy.html">Contribution Policy</a>
+</li>
+            
+           
+                        
+                    <li class="menuItem">    <a href="../../guidelines.html">Project Guidelines</a>
+</li>
+            
+           
+                        
+                    <li class="menuItem">    <a href="http://www.apache.org/">ASF</a>
+</li>
+            
+           
+                        
+                    <li class="menuItem">    <a href="../../downloads.html">Downloads</a>
+</li>
+            
+           
+                        
+                </ul>
+            <p class="menuItem"><strong>Community</strong></p>
+        <ul>
+                    <li class="menuItem">    <a href="../../get-involved.html">Get Involved</a>
+</li>
+            
+           
+                        
+                    <li class="menuItem">    <a href="../../contributors.html">Committers</a>
+</li>
+            
+           
+                        
+                    <li class="menuItem">    <a href="../../mailing.html">Mailing Lists</a>
+</li>
+            
+           
+                        
+                    <li class="menuItem">    <a href="../../documentation/documentation.html">Documentation</a>
+</li>
+            
+           
+                        
+                    <li class="menuItem">    <a href="../../faq.html">FAQ</a>
+</li>
+            
+           
+                        
+                    <li class="menuItem">    <a href="http://wiki.apache.org/harmony">Wiki</a>
+</li>
+            
+           
+                        
+                </ul>
+            <p class="menuItem"><strong>Development</strong></p>
+        <ul>
+                    <li class="menuItem">    <a href="../../status.html">How Are We Doing?</a>
+</li>
+            
+           
+                        
+                    <li class="menuItem">    <a href="../../roadmap.html">Road Map / TODO</a>
+</li>
+            
+           
+                        
+                    <li class="menuItem">    <a href="../../svn.html">Source Code</a>
+</li>
+            
+           
+                        
+                    <li class="menuItem">    <a href="http://issues.apache.org/jira/browse/HARMONY">JIRA</a>
+</li>
+            
+           
+                        
+                    <li class="menuItem">    <a href="../../related.html">Other Projects</a>
+</li>
+            
+           
+                        
+                </ul>
+            <p class="menuItem"><strong>Subcomponents</strong></p>
+        <ul>
+                    <li class="menuItem">    <a href="../../subcomponents/buildtest/index.html">Build-Test Framework</a>
+</li>
+            
+           
+                        
+                    <li class="menuItem">    <a href="../../subcomponents/classlibrary/index.html">Class Library</a>
+</li>
+            
+           
+                           <table>
+              <tr><td class="menuItem">
+                &nbsp;&nbsp;&nbsp;&nbsp;    <a href="../../subcomponents/classlibrary/status.html">Status</a>
+                </td></tr>
+              </table>
+                        
+                    <li class="menuItem">    <a href="../../subcomponents/drlvm/index.html">DRLVM</a>
+</li>
+            
+           
+                        
+                    <li class="menuItem">    <a href="../../subcomponents/jchevm/index.html">JCHEVM</a>
+</li>
+            
+           
+                        
+                </ul>
+                        </td>
+                    <td width="80%" valign="top"><a name="top"></a>
+                                        
+                                                                <div>
+<!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>
+
+</div>
+                                        </td>
+                </tr>
+
+                <!-- FOOTER -->
+                <tr><td colspan="2">
+                    <hr noshade="" size="1"/>
+                </td></tr>
+                <tr><td colspan="2">
+                    <div class="special"><em>
+                    Copyright &#169; 2003-2006, The Apache Software Foundation
+                    </em></div>
+                </td></tr>
+            </table>
+        </body>
+    </html>
+<!-- end the processing -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+



Mime
View raw message