[CONF] Confluence Changes in the last 24 hours

2009-07-31 Thread confluence
This is a daily summary of all recent changes in Confluence.

-
Updated Spaces:
-


Apache Camel (http://cwiki.apache.org/confluence/display/CAMEL)

Pages
-
HL7 DataFormat edited by  davsclaus  (12:02 AM)
http://cwiki.apache.org/confluence/display/CAMEL/HL7+DataFormat

HL7 edited by  davsclaus  (12:00 AM)
http://cwiki.apache.org/confluence/display/CAMEL/HL7



Apache CXF (http://cwiki.apache.org/confluence/display/CXF)

Pages
-
Resources and Articles edited by  mazzag  (07:29 PM)
http://cwiki.apache.org/confluence/display/CXF/Resources+and+Articles



Apache CXF Documentation (http://cwiki.apache.org/confluence/display/CXF20DOC)

Pages
-
JAX-RS edited by  sergey_beryozkin  (09:09 AM)
http://cwiki.apache.org/confluence/display/CXF20DOC/JAX-RS



Apache Directory client API (http://cwiki.apache.org/confluence/display/DIRAPI)

Pages
-
Client API Operations edited by  elecharny  (04:05 PM)
http://cwiki.apache.org/confluence/display/DIRAPI/Client+API+Operations



Apache Directory Server v1.5 
(http://cwiki.apache.org/confluence/display/DIRxSRVx11)

Pages
-
MetaSchema edited by  elecharny  (11:49 AM)
http://cwiki.apache.org/confluence/display/DIRxSRVx11/MetaSchema



Apache Felix (http://cwiki.apache.org/confluence/display/FELIX)

Pages
-
ipojo-support edited by  clement.escoffier  (04:12 AM)
http://cwiki.apache.org/confluence/display/FELIX/ipojo-support

iPOJO Ant Task edited by  clement.escoffier  (12:49 AM)
http://cwiki.apache.org/confluence/display/FELIX/iPOJO+Ant+Task

iPOJO Maven Plug-in edited by  clement.escoffier  (12:48 AM)
http://cwiki.apache.org/confluence/display/FELIX/iPOJO+Maven+Plug-in

Configuration Handler edited by  clement.escoffier  (12:44 AM)
http://cwiki.apache.org/confluence/display/FELIX/Configuration+Handler

Providing OSGi services edited by  clement.escoffier  (12:44 AM)
http://cwiki.apache.org/confluence/display/FELIX/Providing+OSGi+services

How to use iPOJO Annotations edited by  clement.escoffier  (12:43 AM)
http://cwiki.apache.org/confluence/display/FELIX/How+to+use+iPOJO+Annotations



Apache Geronimo v2.2 (http://cwiki.apache.org/confluence/display/GMOxDOC22)

Pages
-
Command Geronimo Options edited by  chirun...@gmail.com  (03:39 AM)
http://cwiki.apache.org/confluence/display/GMOxDOC22/Command+Geronimo+Options

geronimo edited by  chirun...@gmail.com  (03:38 AM)
http://cwiki.apache.org/confluence/display/GMOxDOC22/geronimo

jaxws-tools edited by  chirun...@gmail.com  (03:38 AM)
http://cwiki.apache.org/confluence/display/GMOxDOC22/jaxws-tools

startup edited by  chirun...@gmail.com  (03:37 AM)
http://cwiki.apache.org/confluence/display/GMOxDOC22/startup

start-server created by chirun...@gmail.com (02:16 AM)
http://cwiki.apache.org/confluence/display/GMOxDOC22/start-server

deploy edited by  chirun...@gmail.com  (03:34 AM)
http://cwiki.apache.org/confluence/display/GMOxDOC22/deploy

cxf-tools edited by  chirun...@gmail.com  (03:33 AM)
http://cwiki.apache.org/confluence/display/GMOxDOC22/cxf-tools

client edited by  chirun...@gmail.com  (03:31 AM)
http://cwiki.apache.org/confluence/display/GMOxDOC22/client

shutdown edited by  chirun...@gmail.com  (03:26 AM)
http://cwiki.apache.org/confluence/display/GMOxDOC22/shutdown

GShell edited by  chirun...@gmail.com  (03:21 AM)
http://cwiki.apache.org/confluence/display/GMOxDOC22/GShell

Tools and commands edited by  chirun...@gmail.com  (02:18 AM)
http://cwiki.apache.org/confluence/display/GMOxDOC22/Tools+and+commands

Geronimo GShell Commands edited by  chirun...@gmail.com  (02:06 AM)
http://cwiki.apache.org/confluence/display/GMOxDOC22/Geronimo+GShell+Commands



Apache MINA (http://cwiki.apache.org/confluence/display/MINA)

Pages
-
IoProcessor loop edited by  elecharny  (12:07 PM)
http://cwiki.apache.org/confluence/display/MINA/IoProcessor+loop



OpenEJB 3.0.x documentation 
(http://cwiki.apache.org/confluence/display/OPENEJBx30)

Pages
-
persistence-context created by dblevins (04:24 PM)
http://cwiki.apache.org/confluence/display/OPENEJBx30/persistence-context



OpenJPA (http://cwiki.apache.org/confluence/display/openjpa)

Pages
-
JPA 2.0 Roadmap edited by  drwoods  (07:53 PM)
http://cwiki.apache.org/confluence/display/openjpa/JP

Issues Closed: week of 2009-07-31

2009-07-31 Thread dblevins

Struts2 - Friday, July 31, 2009

  5 closed in last 7 days

[WW-3196] StrutsPrepareAndExecuteFilter has no hook to do own 
initialization with container
  - Type: Improvement
  - Assignee: Unassigned
  - Components: [Dispatch Filter]
  - Fix Versions: [2.1.8]
  - http://issues.apache.org/struts/browse/WW-3196

[WW-3208] Spring Plugin using commons.lang.StringUtils instead of shaded 
class in xwork library
  - Type: Bug
  - Assignee: Unassigned
  - Components: [Plugin - Spring]
  - Fix Versions: [2.1.8]
  - http://issues.apache.org/struts/browse/WW-3208

[WW-3197] Upgrade OGNL to 2.7.3
  - Type: Improvement
  - Assignee: Unassigned
  - Components: []
  - Fix Versions: [2.1.8]
  - http://issues.apache.org/struts/browse/WW-3197

[WW-3098] NeedsRefresh not working for ModelDrivenInterceptor and Hibernate
  - Type: Bug
  - Assignee: Unassigned
  - Components: [Core Interceptors]
  - Fix Versions: [2.1.8]
  - http://issues.apache.org/struts/browse/WW-3098

[WW-2349] localized conversion from number to string broken
  - Type: Bug
  - Assignee: Rene Gielen
  - Components: [Documentation]
  - Fix Versions: [2.1.1]
  - http://issues.apache.org/struts/browse/WW-2349



svn commit: r799681 [8/24] - in /struts/sandbox/trunk/struts2-jsp-plugin: ./ src/main/java/org/apache/struts/ src/main/java/org/apache/struts2/ src/main/java/org/apache/struts2/compiler/ src/main/java

2009-07-31 Thread musachy
Added: 
struts/sandbox/trunk/struts2-jsp-plugin/src/main/java/org/apache/struts2/jasper/compiler/PageDataImpl.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-jsp-plugin/src/main/java/org/apache/struts2/jasper/compiler/PageDataImpl.java?rev=799681&view=auto
==
--- 
struts/sandbox/trunk/struts2-jsp-plugin/src/main/java/org/apache/struts2/jasper/compiler/PageDataImpl.java
 (added)
+++ 
struts/sandbox/trunk/struts2-jsp-plugin/src/main/java/org/apache/struts2/jasper/compiler/PageDataImpl.java
 Fri Jul 31 18:12:48 2009
@@ -0,0 +1,711 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.struts2.jasper.compiler;
+
+import java.io.InputStream;
+import java.io.ByteArrayInputStream;
+import java.io.CharArrayWriter;
+import java.io.UnsupportedEncodingException;
+import java.util.ListIterator;
+import javax.servlet.jsp.tagext.PageData;
+import org.xml.sax.Attributes;
+import org.xml.sax.helpers.AttributesImpl;
+import org.apache.struts2.jasper.JasperException;
+
+/**
+ * An implementation of javax.servlet.jsp.tagext.PageData which
+ * builds the XML view of a given page.
+ *
+ * The XML view is built in two passes:
+ *
+ * During the first pass, the FirstPassVisitor collects the attributes of the
+ * top-level jsp:root and those of the jsp:root elements of any included
+ * pages, and adds them to the jsp:root element of the XML view.
+ * In addition, any taglib directives are converted into xmlns: attributes and
+ * added to the jsp:root element of the XML view.
+ * This pass ignores any nodes other than JspRoot and TaglibDirective.
+ *
+ * During the second pass, the SecondPassVisitor produces the XML view, using
+ * the combined jsp:root attributes determined in the first pass and any
+ * remaining pages nodes (this pass ignores any JspRoot and TaglibDirective
+ * nodes).
+ *
+ * @author Jan Luehe
+ */
+class PageDataImpl extends PageData implements TagConstants {
+
+private static final String JSP_VERSION = "2.0";
+private static final String CDATA_START_SECTION = "\n";
+
+// string buffer used to build XML view
+private StringBuffer buf;
+
+/**
+ * Constructor.
+ *
+ * @param page the page nodes from which to generate the XML view
+ */
+public PageDataImpl(Node.Nodes page, Compiler compiler)
+throws JasperException {
+
+// First pass
+FirstPassVisitor firstPass = new FirstPassVisitor(page.getRoot(),
+  
compiler.getPageInfo());
+page.visit(firstPass);
+
+// Second pass
+buf = new StringBuffer();
+SecondPassVisitor secondPass
+= new SecondPassVisitor(page.getRoot(), buf, compiler,
+firstPass.getJspIdPrefix());
+page.visit(secondPass);
+}
+
+/**
+ * Returns the input stream of the XML view.
+ *
+ * @return the input stream of the XML view
+ */
+public InputStream getInputStream() {
+// Turn StringBuffer into InputStream
+try {
+return new ByteArrayInputStream(buf.toString().getBytes("UTF-8"));
+} catch (UnsupportedEncodingException uee) {
+// should never happen
+throw new RuntimeException(uee.toString());
+}
+}
+
+/*
+ * First-pass Visitor for JspRoot nodes (representing jsp:root elements)
+ * and TablibDirective nodes, ignoring any other nodes.
+ *
+ * The purpose of this Visitor is to collect the attributes of the
+ * top-level jsp:root and those of the jsp:root elements of any included
+ * pages, and add them to the jsp:root element of the XML view.
+ * In addition, this Visitor converts any taglib directives into xmlns:
+ * attributes and adds them to the jsp:root element of the XML view.
+ */
+static class FirstPassVisitor
+extends Node.Visitor implements TagConstants {
+
+private Node.Root root;
+private AttributesImpl rootAttrs;
+private PageInfo pageInfo;
+
+// Prefix for the 'id' attribute
+private String jspIdPrefix;
+
+   

svn commit: r799681 [12/24] - in /struts/sandbox/trunk/struts2-jsp-plugin: ./ src/main/java/org/apache/struts/ src/main/java/org/apache/struts2/ src/main/java/org/apache/struts2/compiler/ src/main/jav

2009-07-31 Thread musachy
Added: 
struts/sandbox/trunk/struts2-jsp-plugin/src/main/java/org/apache/struts2/jasper/compiler/TldLocationsCache.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-jsp-plugin/src/main/java/org/apache/struts2/jasper/compiler/TldLocationsCache.java?rev=799681&view=auto
==
--- 
struts/sandbox/trunk/struts2-jsp-plugin/src/main/java/org/apache/struts2/jasper/compiler/TldLocationsCache.java
 (added)
+++ 
struts/sandbox/trunk/struts2-jsp-plugin/src/main/java/org/apache/struts2/jasper/compiler/TldLocationsCache.java
 Fri Jul 31 18:12:48 2009
@@ -0,0 +1,554 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.struts2.jasper.compiler;
+
+import java.io.InputStream;
+import java.net.JarURLConnection;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.net.URLConnection;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
+import java.util.StringTokenizer;
+import java.util.jar.JarEntry;
+import java.util.jar.JarFile;
+import org.xml.sax.InputSource;
+
+import javax.servlet.ServletContext;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.struts2.jasper.Constants;
+import org.apache.struts2.jasper.JasperException;
+import org.apache.struts2.jasper.xmlparser.ParserUtils;
+import org.apache.struts2.jasper.xmlparser.TreeNode;
+
+/**
+ * A container for all tag libraries that are defined "globally"
+ * for the web application.
+ * 
+ * Tag Libraries can be defined globally in one of two ways:
+ *   1. Via  elements in web.xml:
+ *  the uri and location of the tag-library are specified in
+ *  the  element.
+ *   2. Via packaged jar files that contain .tld files
+ *  within the META-INF directory, or some subdirectory
+ *  of it. The taglib is 'global' if it has the 
+ *  element defined.
+ *
+ * A mapping between the taglib URI and its associated TaglibraryInfoImpl
+ * is maintained in this container.
+ * Actually, that's what we'd like to do. However, because of the
+ * way the classes TagLibraryInfo and TagInfo have been defined,
+ * it is not currently possible to share an instance of TagLibraryInfo
+ * across page invocations. A bug has been submitted to the spec lead.
+ * In the mean time, all we do is save the 'location' where the
+ * TLD associated with a taglib URI can be found.
+ *
+ * When a JSP page has a taglib directive, the mappings in this container
+ * are first searched (see method getLocation()).
+ * If a mapping is found, then the location of the TLD is returned.
+ * If no mapping is found, then the uri specified
+ * in the taglib directive is to be interpreted as the location for
+ * the TLD of this tag library.
+ *
+ * @author Pierre Delisle
+ * @author Jan Luehe
+ */
+
+public class TldLocationsCache {
+
+// Logger
+private Log log = LogFactory.getLog(TldLocationsCache.class);
+
+/**
+ * The types of URI one may specify for a tag library
+ */
+public static final int ABS_URI = 0;
+public static final int ROOT_REL_URI = 1;
+public static final int NOROOT_REL_URI = 2;
+
+private static final String WEB_XML = "/WEB-INF/web.xml";
+private static final String FILE_PROTOCOL = "file:";
+private static final String JAR_FILE_SUFFIX = ".jar";
+
+// Names of JARs that are known not to contain any TLDs
+private static HashSet noTldJars;
+
+/**
+ * The mapping of the 'global' tag library URI to the location (resource
+ * path) of the TLD associated with that tag library. The location is
+ * returned as a String array:
+ *[0] The location
+ *[1] If the location is a jar file, this is the location of the tld.
+ */
+private Hashtable mappings;
+
+private boolean initialized;
+private ServletContext ctxt;
+private boolean redeployMode;
+
+//*
+// Constructor and Initilizations
+
+/*
+ * Initializes the set of JARs that are known not to contain a

svn commit: r799681 [22/24] - in /struts/sandbox/trunk/struts2-jsp-plugin: ./ src/main/java/org/apache/struts/ src/main/java/org/apache/struts2/ src/main/java/org/apache/struts2/compiler/ src/main/jav

2009-07-31 Thread musachy
Added: 
struts/sandbox/trunk/struts2-jsp-plugin/src/main/java/org/apache/struts2/jasper/xmlparser/UCSReader.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-jsp-plugin/src/main/java/org/apache/struts2/jasper/xmlparser/UCSReader.java?rev=799681&view=auto
==
--- 
struts/sandbox/trunk/struts2-jsp-plugin/src/main/java/org/apache/struts2/jasper/xmlparser/UCSReader.java
 (added)
+++ 
struts/sandbox/trunk/struts2-jsp-plugin/src/main/java/org/apache/struts2/jasper/xmlparser/UCSReader.java
 Fri Jul 31 18:12:48 2009
@@ -0,0 +1,301 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.struts2.jasper.xmlparser;
+
+import java.io.InputStream;
+import java.io.IOException;
+import java.io.Reader;
+
+/** 
+ * Reader for UCS-2 and UCS-4 encodings.
+ * (i.e., encodings from ISO-10646-UCS-(2|4)).
+ *
+ * @author Neil Graham, IBM
+ *
+ * @version $Id: UCSReader.java 466606 2006-10-21 23:07:12Z markt $
+ */
+public class UCSReader extends Reader {
+
+private org.apache.commons.logging.Log log=
+org.apache.commons.logging.LogFactory.getLog( UCSReader.class );
+
+//
+// Constants
+//
+
+/** Default byte buffer size (8192, larger than that of ASCIIReader
+ * since it's reasonable to surmise that the average UCS-4-encoded
+ * file should be 4 times as large as the average ASCII-encoded file). 
+ */
+public static final int DEFAULT_BUFFER_SIZE = 8192;
+
+public static final short UCS2LE = 1;
+public static final short UCS2BE = 2;
+public static final short UCS4LE = 4;
+public static final short UCS4BE = 8;
+
+//
+// Data
+//
+
+/** Input stream. */
+protected InputStream fInputStream;
+
+/** Byte buffer. */
+protected byte[] fBuffer;
+
+// what kind of data we're dealing with
+protected short fEncoding;
+
+//
+// Constructors
+//
+
+/** 
+ * Constructs an ASCII reader from the specified input stream 
+ * using the default buffer size.  The Endian-ness and whether this is
+ * UCS-2 or UCS-4 needs also to be known in advance.
+ *
+ * @param inputStream The input stream.
+ * @param encoding One of UCS2LE, UCS2BE, UCS4LE or UCS4BE.
+ */
+public UCSReader(InputStream inputStream, short encoding) {
+this(inputStream, DEFAULT_BUFFER_SIZE, encoding);
+} // (InputStream, short)
+
+/** 
+ * Constructs an ASCII reader from the specified input stream 
+ * and buffer size.  The Endian-ness and whether this is
+ * UCS-2 or UCS-4 needs also to be known in advance.
+ *
+ * @param inputStream The input stream.
+ * @param sizeThe initial buffer size.
+ * @param encoding One of UCS2LE, UCS2BE, UCS4LE or UCS4BE.
+ */
+public UCSReader(InputStream inputStream, int size, short encoding) {
+fInputStream = inputStream;
+fBuffer = new byte[size];
+fEncoding = encoding;
+} // (InputStream,int,short)
+
+//
+// Reader methods
+//
+
+/**
+ * Read a single character.  This method will block until a character is
+ * available, an I/O error occurs, or the end of the stream is reached.
+ *
+ *  Subclasses that intend to support efficient single-character input
+ * should override this method.
+ *
+ * @return The character read, as an integer in the range 0 to 127
+ * (0x00-0x7f), or -1 if the end of the stream has
+ * been reached
+ *
+ * @exception  IOException  If an I/O error occurs
+ */
+public int read() throws IOException { 
+int b0 = fInputStream.read() & 0xff;
+if (b0 == 0xff)
+return -1;
+int b1 = fInputStream.read() & 0xff;
+if (b1 == 0xff)
+return -1;
+if(fEncoding >=4) {
+int b2 = fInputStream.read() & 0xff;
+if (b2 == 0xff)
+return -1;
+int b3 = fInputStream.read() & 0xff;
+if (b3 == 0xff)
+return -1;
+if (log.isDebugEnabled())
+log.debug("b0 is " + (b0 & 0xff) + " b1 " + (b1 & 0xff) + 

svn commit: r799681 [23/24] - in /struts/sandbox/trunk/struts2-jsp-plugin: ./ src/main/java/org/apache/struts/ src/main/java/org/apache/struts2/ src/main/java/org/apache/struts2/compiler/ src/main/jav

2009-07-31 Thread musachy
Added: 
struts/sandbox/trunk/struts2-jsp-plugin/src/main/java/org/apache/struts2/jasper/xmlparser/XMLChar.java
URL: 
http://svn.apache.org/viewvc/struts/sandbox/trunk/struts2-jsp-plugin/src/main/java/org/apache/struts2/jasper/xmlparser/XMLChar.java?rev=799681&view=auto
==
--- 
struts/sandbox/trunk/struts2-jsp-plugin/src/main/java/org/apache/struts2/jasper/xmlparser/XMLChar.java
 (added)
+++ 
struts/sandbox/trunk/struts2-jsp-plugin/src/main/java/org/apache/struts2/jasper/xmlparser/XMLChar.java
 Fri Jul 31 18:12:48 2009
@@ -0,0 +1,1031 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * 
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation and was
+ * originally based on software copyright (c) 1999, International
+ * Business Machines, Inc., http://www.apache.org.  For more
+ * information on the Apache Software Foundation, please see
+ * .
+ */
+
+package org.apache.struts2.jasper.xmlparser;
+
+import java.util.Arrays;
+
+/**
+ * This class defines the basic XML character properties. The data
+ * in this class can be used to verify that a character is a valid
+ * XML character or if the character is a space, name start, or name
+ * character.
+ * 
+ * A series of convenience methods are supplied to ease the burden
+ * of the developer. Because inlining the checks can improve per
+ * character performance, the tables of character properties are
+ * public. Using the character as an index into the CHARS
+ * array and applying the appropriate mask flag (e.g.
+ * MASK_VALID), yields the same results as calling the
+ * convenience methods. There is one exception: check the comments
+ * for the isValid method for details.
+ *
+ * @author Glenn Marcy, IBM
+ * @author Andy Clark, IBM
+ * @author Eric Ye, IBM
+ * @author Arnaud  Le Hors, IBM
+ * @author Michael Glavassevich, IBM
+ * @author Rahul Srivastava, Sun Microsystems Inc.
+ *
+ * @version $Id: XMLChar.java 466606 2006-10-21 23:07:12Z markt $
+ */
+public class XMLChar {
+
+//
+// Constants
+//
+
+/** Character flags. */
+private static final byte[] CHARS = new byte[1 << 16];
+
+/** Valid character mask. */
+public static final int MASK_VALID = 0x01;
+
+/** Space character mask. */
+public static final int MASK_SPACE = 0x02;
+
+/** Name start character mask. */
+public static final int MASK_NAME_START = 0x04;
+
+/** Name character mask. */
+public static final int MASK_NAME = 0x08;
+
+/** Pubid character mask. */
+public static final int MASK_PUBID = 0x10;
+
+/** 
+ * Content character mask. Special characters are those that can
+ * be considered the start of markup, such as '<' and '&'. 
+ * The various newline characters are considered special as well.
+ * All other valid XML characters can be considered content.
+ * 
+ * This is an optimization for the inner loop of character scanning.
+ */
+public static final int MASK_CONTENT = 0x20;
+
+/** NCName start character mask. */
+public static final int MASK_NCNAME_START = 0x40;
+
+/** NCName character mask. */
+public static final int MASK_NCNAME = 0x80;
+
+//
+// Static initialization
+//
+
+static {
+
+// Initializing the Character Flag Array
+// Code generated by: XMLCharGenerator.
+
+CHARS[9] = 35;
+CHARS[10] = 19;
+CHARS[13] = 19;
+CHARS[32] = 51;
+CHARS[33] = 49;
+CHARS[34] = 33;
+Arrays.fill(CHARS, 35, 38, (byte) 49 ); // Fill 3 of value (byte) 49
+CHARS[38] = 1;
+Arrays.fill(CHARS, 39, 45, (byte) 49 ); // Fill 6 of value (byte) 49
+Arrays.fill(CHARS, 45, 47, (byte) -71 ); // Fill 2 of value (byte) -71
+CHARS[47] = 49;
+Arrays.fill(CHARS, 48, 58, (byte) -71 ); // Fill 10 of value (byte) -71
+CHARS[58] = 61;
+CHARS[59] = 49;
+CHARS[60] = 1;
+CHARS[61] = 49;
+CHARS[62] = 33;
+Arrays.fill(CHARS, 63, 65, (by