--- classpath/doc/hacking.texinfo 2003-02-02 06:07:21.000000000 +0000 +++ hacking.texinfo 2003-09-14 22:16:44.000000000 +0100 @@ -81,7 +81,7 @@ * String Collation:: Sorting strings in different locales * Break Iteration:: Breaking up text into words, sentences, and lines * Date Formatting and Parsing:: Locale specific date handling -* Decimal/Currency Formatting and Parsing:: Local specific number handling +* Decimal/Currency Formatting and Parsing:: Locale specific number handling @end detailmenu @end menu @@ -90,7 +90,7 @@ @comment node-name, next, previous, up @chapter Introduction -The Classpath Project is a dedicated to providing a 100% free, clean +The Classpath Project is dedicated to providing a 100% free, clean room implementation of the standard Java class libraries which offer free software developers an alternative to Sun's proprietary libraries. The Classpath Project was started in the Spring of 1998 as @@ -180,7 +180,7 @@ Without those classes, the public socket interface is useless. But do not feel obligated to completely replace all of Sun's functionality at once. For example, in the java.net package, there are different types -of protocol handlers for different types of URL's. Not all of these +of protocol handlers for different types of URLs. Not all of these need to be written at once. @item @@ -232,8 +232,8 @@ can shift depending on whether or not there is a volunteer to port Classpath to those platforms and to test releases. -Eventually we hope the Classpath will support all JVM's that provide JNI -or CNI support. However, the top priority is free JVM's. A small, and +Eventually we hope the Classpath will support all JVMs that provide JNI +or CNI support. However, the top priority is free JVMs. A small, and probably incomplete list is below. @enumerate @@ -552,7 +552,7 @@ have a .class file, its serial # is unique, and the computation will give the same result no matter what platform you execute on. -Serialzation compatibility can be tested using tools provided with +Serialization compatibility can be tested using tools provided with @uref{http://rainbow.netreach.net/~sballard/japi/,Japitools}. These tools can test binary serialization compatibility and also provide information about unknown serialized formats by writing these in XML @@ -731,8 +731,8 @@ In Classpath, @code{InputStreamReader} and @code{OutputStreamWriter} rely on an internal class called @code{gnu.java.io.EncodingManager} to load -translaters that perform the actual conversion. There are two types of -converters, encoders and decoders. Encoders are subclasses of +translators that perform the actual conversion. There are two types of +converters; encoders and decoders. Encoders are subclasses of @code{gnu.java.io.encoder.Encoder}. This type of converter takes a Java (Unicode) character stream or buffer and converts it to bytes using a specified encoding scheme. Decoders are a subclass of @@ -765,7 +765,7 @@ ''8859_1'' or ''ISO-8859-1''. @code{EncodingManager} searches for aliases by looking for the existence of a system property called @code{gnu.java.io.encoding_scheme_alias.}. If such a -property exists. The value of that property is assumed to be the +property exists, then the value of that property is assumed to be the canonical name of the encoding scheme, and a translator with that name is looked up instead of one with the original name. @@ -780,11 +780,11 @@ searches the translator path, which is this example consists only of the default @code{gnu.java.io}. The ''decoder'' package name is appended since we are looking for a decoder. (''encoder'' would be -used if we were looking for an encoder). Then name name of the translator +used if we were looking for an encoder). Then the name of the translator is appended. So @code{EncodingManager} attempts to load a translator class called @code{gnu.java.io.decoder.UTF8}. If that class is found, an instance of it is returned. If it is not found, a address@hidden address@hidden is thrown. To write a new translator, it is only necessary to subclass @code{Encoder} and/or @code{Decoder}. Only a handful of abstract @@ -797,7 +797,7 @@ Writing a translator for these encodings is very easy. There are abstract translator classes @code{gnu.java.io.decode.DecoderEightBitLookup} and @code{gnu.java.io.encode.EncoderEightBitLookup}. These classes -implement all of the necessary methods. All that is necessary to +implement all of the necessary methods, and provide all that is necessary to create a lookup table array that maps bytes to Unicode characters and set the class variable @code{lookup_table} equal to it in a static initializer. Also, a single constructor that takes an appropriate @@ -830,7 +830,7 @@ * String Collation:: Sorting strings in different locales * Break Iteration:: Breaking up text into words, sentences, and lines * Date Formatting and Parsing:: Locale specific date handling -* Decimal/Currency Formatting and Parsing:: Local specific number handling +* Decimal/Currency Formatting and Parsing:: Locale specific number handling @end menu In Classpath, all locale specific data is stored in a @@ -853,9 +853,9 @@ As a standard, each option should be assigned a name that is a string. If the value is stored in a class or instance variable, then the option -should name should have the name name as the variable. Also, the value +should have the same name as the variable. Also, the value associated with each option should be a Java object with the same name -as the option name (unless a simple scalar value is used). Here is an +as the option (unless a simple scalar value is used). Here is an example: A class loads a value for the @code{format_string} variable from the @@ -894,7 +894,7 @@ of the specified entries for that area must be supplied. In order to determine which functional areas are supported, there is a special key that is queried by the affected class or classes. If this key exists, -and has a value that is a @code{Boolean} object wrappering the +and has a value that is a @code{Boolean} object wrapping the @code{true} value, then full support is assumed. Otherwise it is assumed that no support exists for this functional area. Every class using resources for configuration must use this scheme and define a special @@ -935,7 +935,7 @@ and lines. It is configured with the following resource bundle entries: @itemize @bullet address@hidden BreakIterator - A @code{Boolean} wrappering @code{true} to indicate address@hidden BreakIterator - A @code{Boolean} wrapping @code{true} to indicate that this functional area is supported. @item word_breaks - A @code{String} array of word break character sequences. @item sentence_breaks - A @code{String} array of sentence break character @@ -953,10 +953,10 @@ class. That class simply reads properties from our locale specific resource bundle. The following items are requiered (refer to the documentation of the @code{java.text.DateFormatSymbols} class for details -io what the actual values should be): +of what the actual values should be): @itemize @bullet address@hidden DateFormatSymbols - A @code{Boolean} wrappering @code{true} to indicate address@hidden DateFormatSymbols - A @code{Boolean} wrapping @code{true} to indicate that this functional area is supported. @item months - A @code{String} array of month names. @item shortMonths - A @code{String} array of abbreviated month names. @@ -1006,7 +1006,7 @@ values for a locale from the resource bundle. The required entries are: @itemize @bullet address@hidden DecimalFormatSymbols - A @code{Boolean} wrappering @code{true} to address@hidden DecimalFormatSymbols - A @code{Boolean} wrapping @code{true} to indicate that this functional area is supported. @item currencySymbol - The string representing the local currency. @item intlCurrencySymbol - The string representing the local currency in an @@ -1034,7 +1034,7 @@ @end itemize Note that several of these values are an individual character. These should -be wrappered in a @code{String} at character position 0, not in a +be wrapped in a @code{String} at character position 0, not in a @code{Character} object. @bye