|
From: <ls...@us...> - 2007-06-23 04:54:33
|
Revision: 3288
http://jnode.svn.sourceforge.net/jnode/?rev=3288&view=rev
Author: lsantha
Date: 2007-06-22 21:54:32 -0700 (Fri, 22 Jun 2007)
Log Message:
-----------
Openjdk integration.
Added Paths:
-----------
trunk/core/src/openjdk/com/com/sun/corba/
trunk/core/src/openjdk/com/com/sun/corba/se/
trunk/core/src/openjdk/com/com/sun/corba/se/impl/
trunk/core/src/openjdk/com/com/sun/corba/se/impl/orbutil/
trunk/core/src/openjdk/com/com/sun/corba/se/impl/orbutil/GetPropertyAction.java
trunk/core/src/openjdk/com/com/sun/jndi/
trunk/core/src/openjdk/com/com/sun/jndi/cosnaming/
trunk/core/src/openjdk/com/com/sun/jndi/cosnaming/CNBindingEnumeration.java
trunk/core/src/openjdk/com/com/sun/jndi/cosnaming/CNCtx.java
trunk/core/src/openjdk/com/com/sun/jndi/cosnaming/CNCtxFactory.java
trunk/core/src/openjdk/com/com/sun/jndi/cosnaming/CNNameParser.java
trunk/core/src/openjdk/com/com/sun/jndi/cosnaming/CorbanameUrl.java
trunk/core/src/openjdk/com/com/sun/jndi/cosnaming/ExceptionMapper.java
trunk/core/src/openjdk/com/com/sun/jndi/cosnaming/IiopUrl.java
trunk/core/src/openjdk/com/com/sun/jndi/cosnaming/OrbReuseTracker.java
trunk/core/src/openjdk/com/com/sun/jndi/cosnaming/RemoteToCorba.java
trunk/core/src/openjdk/com/com/sun/jndi/cosnaming/jndiprovider.properties
trunk/core/src/openjdk/com/com/sun/jndi/dns/
trunk/core/src/openjdk/com/com/sun/jndi/dns/DnsClient.java
trunk/core/src/openjdk/com/com/sun/jndi/dns/DnsContext.java
trunk/core/src/openjdk/com/com/sun/jndi/dns/DnsContextFactory.java
trunk/core/src/openjdk/com/com/sun/jndi/dns/DnsName.java
trunk/core/src/openjdk/com/com/sun/jndi/dns/DnsNameParser.java
trunk/core/src/openjdk/com/com/sun/jndi/dns/DnsUrl.java
trunk/core/src/openjdk/com/com/sun/jndi/dns/Header.java
trunk/core/src/openjdk/com/com/sun/jndi/dns/NameNode.java
trunk/core/src/openjdk/com/com/sun/jndi/dns/Resolver.java
trunk/core/src/openjdk/com/com/sun/jndi/dns/ResourceRecord.java
trunk/core/src/openjdk/com/com/sun/jndi/dns/ResourceRecords.java
trunk/core/src/openjdk/com/com/sun/jndi/dns/ZoneNode.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/
trunk/core/src/openjdk/com/com/sun/jndi/ldap/BasicControl.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/Ber.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/BerDecoder.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/BerEncoder.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/BindingWithControls.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/ClientId.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/Connection.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/DefaultResponseControlFactory.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/DigestClientId.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/EntryChangeResponseControl.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/EventQueue.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/EventSupport.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/Filter.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/LdapAttribute.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/LdapBindingEnumeration.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/LdapClient.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/LdapClientFactory.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/LdapCtx.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/LdapCtxFactory.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/LdapEntry.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/LdapName.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/LdapNameParser.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/LdapNamingEnumeration.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/LdapPoolManager.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/LdapReferralContext.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/LdapReferralException.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/LdapRequest.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/LdapResult.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/LdapSchemaCtx.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/LdapSchemaParser.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/LdapSearchEnumeration.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/LdapURL.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/ManageReferralControl.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/NameClassPairWithControls.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/NamingEventNotifier.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/NotifierArgs.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/Obj.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/PersistentSearchControl.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/ReferralEnumeration.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/SearchResultWithControls.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/ServiceLocator.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/SimpleClientId.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/UnsolicitedResponseImpl.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/VersionHelper.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/VersionHelper12.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/ext/
trunk/core/src/openjdk/com/com/sun/jndi/ldap/ext/StartTlsResponseImpl.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/jndiprovider.properties
trunk/core/src/openjdk/com/com/sun/jndi/ldap/pool/
trunk/core/src/openjdk/com/com/sun/jndi/ldap/pool/ConnectionDesc.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/pool/Connections.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/pool/ConnectionsRef.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/pool/ConnectionsWeakRef.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/pool/Pool.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/pool/PoolCallback.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/pool/PoolCleaner.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/pool/PooledConnection.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/pool/PooledConnectionFactory.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/sasl/
trunk/core/src/openjdk/com/com/sun/jndi/ldap/sasl/DefaultCallbackHandler.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/sasl/LdapSasl.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/sasl/SaslInputStream.java
trunk/core/src/openjdk/com/com/sun/jndi/ldap/sasl/SaslOutputStream.java
trunk/core/src/openjdk/com/com/sun/jndi/rmi/
trunk/core/src/openjdk/com/com/sun/jndi/rmi/registry/
trunk/core/src/openjdk/com/com/sun/jndi/rmi/registry/ReferenceWrapper.java
trunk/core/src/openjdk/com/com/sun/jndi/rmi/registry/RegistryContext.java
trunk/core/src/openjdk/com/com/sun/jndi/rmi/registry/RegistryContextFactory.java
trunk/core/src/openjdk/com/com/sun/jndi/rmi/registry/RemoteReference.java
trunk/core/src/openjdk/com/com/sun/jndi/toolkit/
trunk/core/src/openjdk/com/com/sun/jndi/toolkit/corba/
trunk/core/src/openjdk/com/com/sun/jndi/toolkit/corba/CorbaUtils.java
trunk/core/src/openjdk/com/com/sun/jndi/toolkit/ctx/
trunk/core/src/openjdk/com/com/sun/jndi/toolkit/ctx/AtomicContext.java
trunk/core/src/openjdk/com/com/sun/jndi/toolkit/ctx/AtomicDirContext.java
trunk/core/src/openjdk/com/com/sun/jndi/toolkit/ctx/ComponentContext.java
trunk/core/src/openjdk/com/com/sun/jndi/toolkit/ctx/ComponentDirContext.java
trunk/core/src/openjdk/com/com/sun/jndi/toolkit/ctx/Continuation.java
trunk/core/src/openjdk/com/com/sun/jndi/toolkit/ctx/HeadTail.java
trunk/core/src/openjdk/com/com/sun/jndi/toolkit/ctx/PartialCompositeContext.java
trunk/core/src/openjdk/com/com/sun/jndi/toolkit/ctx/PartialCompositeDirContext.java
trunk/core/src/openjdk/com/com/sun/jndi/toolkit/ctx/StringHeadTail.java
trunk/core/src/openjdk/com/com/sun/jndi/toolkit/dir/
trunk/core/src/openjdk/com/com/sun/jndi/toolkit/dir/AttrFilter.java
trunk/core/src/openjdk/com/com/sun/jndi/toolkit/dir/ContainmentFilter.java
trunk/core/src/openjdk/com/com/sun/jndi/toolkit/dir/ContextEnumerator.java
trunk/core/src/openjdk/com/com/sun/jndi/toolkit/dir/DirSearch.java
trunk/core/src/openjdk/com/com/sun/jndi/toolkit/dir/HierMemDirCtx.java
trunk/core/src/openjdk/com/com/sun/jndi/toolkit/dir/LazySearchEnumerationImpl.java
trunk/core/src/openjdk/com/com/sun/jndi/toolkit/dir/SearchFilter.java
trunk/core/src/openjdk/com/com/sun/jndi/toolkit/url/
trunk/core/src/openjdk/com/com/sun/jndi/toolkit/url/GenericURLContext.java
trunk/core/src/openjdk/com/com/sun/jndi/toolkit/url/GenericURLDirContext.java
trunk/core/src/openjdk/com/com/sun/jndi/toolkit/url/Uri.java
trunk/core/src/openjdk/com/com/sun/jndi/toolkit/url/UrlUtil.java
trunk/core/src/openjdk/com/com/sun/jndi/url/
trunk/core/src/openjdk/com/com/sun/jndi/url/corbaname/
trunk/core/src/openjdk/com/com/sun/jndi/url/corbaname/corbanameURLContextFactory.java
trunk/core/src/openjdk/com/com/sun/jndi/url/dns/
trunk/core/src/openjdk/com/com/sun/jndi/url/dns/dnsURLContext.java
trunk/core/src/openjdk/com/com/sun/jndi/url/dns/dnsURLContextFactory.java
trunk/core/src/openjdk/com/com/sun/jndi/url/iiop/
trunk/core/src/openjdk/com/com/sun/jndi/url/iiop/iiopURLContext.java
trunk/core/src/openjdk/com/com/sun/jndi/url/iiop/iiopURLContextFactory.java
trunk/core/src/openjdk/com/com/sun/jndi/url/iiopname/
trunk/core/src/openjdk/com/com/sun/jndi/url/iiopname/iiopnameURLContextFactory.java
trunk/core/src/openjdk/com/com/sun/jndi/url/ldap/
trunk/core/src/openjdk/com/com/sun/jndi/url/ldap/ldapURLContext.java
trunk/core/src/openjdk/com/com/sun/jndi/url/ldap/ldapURLContextFactory.java
trunk/core/src/openjdk/com/com/sun/jndi/url/ldaps/
trunk/core/src/openjdk/com/com/sun/jndi/url/ldaps/ldapsURLContextFactory.java
trunk/core/src/openjdk/com/com/sun/jndi/url/rmi/
trunk/core/src/openjdk/com/com/sun/jndi/url/rmi/rmiURLContext.java
trunk/core/src/openjdk/com/com/sun/jndi/url/rmi/rmiURLContextFactory.java
trunk/core/src/openjdk/com/com/sun/naming/
trunk/core/src/openjdk/com/com/sun/naming/internal/
trunk/core/src/openjdk/com/com/sun/naming/internal/FactoryEnumeration.java
trunk/core/src/openjdk/com/com/sun/naming/internal/NamedWeakReference.java
trunk/core/src/openjdk/com/com/sun/naming/internal/ResourceManager.java
trunk/core/src/openjdk/com/com/sun/naming/internal/VersionHelper.java
trunk/core/src/openjdk/com/com/sun/naming/internal/VersionHelper12.java
Added: trunk/core/src/openjdk/com/com/sun/corba/se/impl/orbutil/GetPropertyAction.java
===================================================================
--- trunk/core/src/openjdk/com/com/sun/corba/se/impl/orbutil/GetPropertyAction.java (rev 0)
+++ trunk/core/src/openjdk/com/com/sun/corba/se/impl/orbutil/GetPropertyAction.java 2007-06-23 04:54:32 UTC (rev 3288)
@@ -0,0 +1,88 @@
+/*
+ * Copyright 2004 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package com.sun.corba.se.impl.orbutil ;
+
+/**
+ * A convenience class for retrieving the string value of a system
+ * property as a privileged action. This class is directly copied
+ * from sun.security.action.GetPropertyAction in order to avoid
+ * depending on the sun.security.action package.
+ *
+ * <p>An instance of this class can be used as the argument of
+ * <code>AccessController.doPrivileged</code>.
+ *
+ * <p>The following code retrieves the value of the system
+ * property named <code>"prop"</code> as a privileged action: <p>
+ *
+ * <pre>
+ * String s = (String) java.security.AccessController.doPrivileged(
+ * new GetPropertyAction("prop"));
+ * </pre>
+ *
+ * @author Roland Schemers
+ * @author Ken Cavanaugh
+ * @see java.security.PrivilegedAction
+ * @see java.security.AccessController
+ */
+
+public class GetPropertyAction implements java.security.PrivilegedAction {
+ private String theProp;
+ private String defaultVal;
+
+ /**
+ * Constructor that takes the name of the system property whose
+ * string value needs to be determined.
+ *
+ * @param theProp the name of the system property.
+ */
+ public GetPropertyAction(String theProp) {
+ this.theProp = theProp;
+ }
+
+ /**
+ * Constructor that takes the name of the system property and the default
+ * value of that property.
+ *
+ * @param theProp the name of the system property.
+ * @param defaulVal the default value.
+ */
+ public GetPropertyAction(String theProp, String defaultVal) {
+ this.theProp = theProp;
+ this.defaultVal = defaultVal;
+ }
+
+ /**
+ * Determines the string value of the system property whose
+ * name was specified in the constructor.
+ *
+ * @return the string value of the system property,
+ * or the default value if there is no property with that key.
+ */
+ public Object run() {
+ String value = System.getProperty(theProp);
+ return (value == null) ? defaultVal : value;
+ }
+}
Added: trunk/core/src/openjdk/com/com/sun/jndi/cosnaming/CNBindingEnumeration.java
===================================================================
--- trunk/core/src/openjdk/com/com/sun/jndi/cosnaming/CNBindingEnumeration.java (rev 0)
+++ trunk/core/src/openjdk/com/com/sun/jndi/cosnaming/CNBindingEnumeration.java 2007-06-23 04:54:32 UTC (rev 3288)
@@ -0,0 +1,237 @@
+/*
+ * Copyright 1999-2005 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package com.sun.jndi.cosnaming;
+
+import javax.naming.*;
+import javax.naming.spi.NamingManager;
+
+import java.util.NoSuchElementException;
+import java.util.Hashtable;
+
+import org.omg.CosNaming.*;
+import org.omg.CosNaming.NamingContextPackage.*;
+import org.omg.CORBA.*;
+
+/**
+ * Implements the JNDI NamingEnumeration interface for COS
+ * Naming. Gets hold of a list of bindings from the COS Naming Server
+ * and allows the client to iterate through them.
+ *
+ * @author Raj Krishnamurthy
+ * @author Rosanna Lee
+ * @version 1.17 07/05/05
+ */
+
+final class CNBindingEnumeration implements NamingEnumeration {
+
+ private static final int DEFAULT_BATCHSIZE = 100;
+ private BindingListHolder _bindingList; // list of bindings
+ private BindingIterator _bindingIter; // iterator for getting list of bindings
+ private int counter; // pointer in _bindingList
+ private int batchsize = DEFAULT_BATCHSIZE; // how many to ask for each time
+ private CNCtx _ctx; // ctx to list
+ private Hashtable _env; // environment for getObjectInstance
+ private boolean more = false; // iterator done?
+ private boolean isLookedUpCtx = false; // iterating on a context beneath this context ?
+
+ /**
+ * Creates a CNBindingEnumeration object.
+ * @param ctx Context to enumerate
+ */
+ CNBindingEnumeration(CNCtx ctx, boolean isLookedUpCtx, Hashtable env) {
+ // Get batch size to use
+ String batch = (env != null ?
+ (String)env.get(javax.naming.Context.BATCHSIZE) : null);
+ if (batch != null) {
+ try {
+ batchsize = Integer.parseInt(batch);
+ } catch (NumberFormatException e) {
+ throw new IllegalArgumentException("Batch size not numeric: " + batch);
+ }
+ }
+ _ctx = ctx;
+ _ctx.incEnumCount();
+ this.isLookedUpCtx = isLookedUpCtx;
+ _env = env;
+ _bindingList = new BindingListHolder();
+ BindingIteratorHolder _bindingIterH = new BindingIteratorHolder();
+
+ // Perform listing and request that bindings be returned in _bindingIter
+ // Upon return,_bindingList returns a zero length list
+ _ctx._nc.list(0, _bindingList, _bindingIterH);
+
+ _bindingIter = _bindingIterH.value;
+
+ // Get first batch using _bindingIter
+ if (_bindingIter != null) {
+ more = _bindingIter.next_n(batchsize, _bindingList);
+ } else {
+ more = false;
+ }
+ counter = 0;
+ }
+
+ /**
+ * Returns the next binding in the list.
+ * @exception NamingException any naming exception.
+ */
+
+ public java.lang.Object next() throws NamingException {
+ if (more && counter >= _bindingList.value.length) {
+ getMore();
+ }
+ if (more && counter < _bindingList.value.length) {
+ org.omg.CosNaming.Binding bndg = _bindingList.value[counter];
+ counter++;
+ return mapBinding(bndg);
+ } else {
+ throw new NoSuchElementException();
+ }
+ }
+
+
+ /**
+ * Returns true or false depending on whether there are more bindings.
+ * @return boolean value
+ */
+
+ public boolean hasMore() throws NamingException {
+ // If there's more, check whether current bindingList has been exhausted,
+ // and if so, try to get more.
+ // If no more, just say so.
+ return more ? (counter < _bindingList.value.length || getMore()) : false;
+ }
+
+ /**
+ * Returns true or false depending on whether there are more bindings.
+ * Need to define this to satisfy the Enumeration api requirement.
+ * @return boolean value
+ */
+
+ public boolean hasMoreElements() {
+ try {
+ return hasMore();
+ } catch (NamingException e) {
+ return false;
+ }
+ }
+
+ /**
+ * Returns the next binding in the list.
+ * @exception NoSuchElementException Thrown when the end of the
+ * list is reached.
+ */
+
+ public java.lang.Object nextElement() {
+ try {
+ return next();
+ } catch (NamingException ne) {
+ throw new NoSuchElementException();
+ }
+ }
+
+ public void close() throws NamingException {
+ more = false;
+ if (_bindingIter != null) {
+ _bindingIter.destroy();
+ _bindingIter = null;
+ }
+ if (_ctx != null) {
+ _ctx.decEnumCount();
+
+ /**
+ * context was obtained by CNCtx, the user doesn't have a handle to
+ * it, close it as we are done enumerating through the context
+ */
+ if (isLookedUpCtx) {
+ _ctx.close();
+ }
+ _ctx = null;
+ }
+ }
+
+ protected void finalize() {
+ try {
+ close();
+ } catch (NamingException e) {
+ // ignore failures
+ }
+ }
+
+ /**
+ * Get the next batch using _bindingIter. Update the 'more' field.
+ */
+ private boolean getMore() throws NamingException {
+ try {
+ more = _bindingIter.next_n(batchsize, _bindingList);
+ counter = 0; // reset
+ } catch (Exception e) {
+ more = false;
+ NamingException ne = new NamingException(
+ "Problem getting binding list");
+ ne.setRootCause(e);
+ throw ne;
+ }
+ return more;
+ }
+
+ /**
+ * Constructs a JNDI Binding object from the COS Naming binding
+ * object.
+ * @exception NameNotFound No objects under the name.
+ * @exception CannotProceed Unable to obtain a continuation context
+ * @exception InvalidName Name not understood.
+ * @exception NamingException One of the above.
+ */
+
+ private javax.naming.Binding mapBinding(org.omg.CosNaming.Binding bndg)
+ throws NamingException {
+ java.lang.Object obj = _ctx.callResolve(bndg.binding_name);
+
+ Name cname = CNNameParser.cosNameToName(bndg.binding_name);
+
+ try {
+ obj = NamingManager.getObjectInstance(obj, cname, _ctx, _env);
+ } catch (NamingException e) {
+ throw e;
+ } catch (Exception e) {
+ NamingException ne = new NamingException(
+ "problem generating object using object factory");
+ ne.setRootCause(e);
+ throw ne;
+ }
+
+ // Use cname.toString() instead of bindingName because the name
+ // in the binding should be a composite name
+ String cnameStr = cname.toString();
+ javax.naming.Binding jbndg = new javax.naming.Binding(cnameStr, obj);
+
+ NameComponent[] comps = _ctx.makeFullName(bndg.binding_name);
+ String fullName = CNNameParser.cosNameToInsString(comps);
+ jbndg.setNameInNamespace(fullName);
+ return jbndg;
+ }
+}
Added: trunk/core/src/openjdk/com/com/sun/jndi/cosnaming/CNCtx.java
===================================================================
--- trunk/core/src/openjdk/com/com/sun/jndi/cosnaming/CNCtx.java (rev 0)
+++ trunk/core/src/openjdk/com/com/sun/jndi/cosnaming/CNCtx.java 2007-06-23 04:54:32 UTC (rev 3288)
@@ -0,0 +1,1161 @@
+/*
+ * Copyright 1999-2005 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package com.sun.jndi.cosnaming;
+
+import javax.naming.*;
+import javax.naming.spi.NamingManager;
+import javax.naming.spi.ResolveResult;
+
+import java.util.Hashtable;
+import java.util.Vector;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.BufferedReader;
+import java.io.IOException;
+
+import org.omg.CosNaming.*;
+import org.omg.CosNaming.NamingContextPackage.*;
+import org.omg.CORBA.*;
+
+import com.sun.jndi.toolkit.corba.CorbaUtils;
+
+// Needed for creating default ORB
+import java.applet.Applet;
+
+/**
+ * Provides a bridge to the CosNaming server provided by
+ * JavaIDL. This class provides the InitialContext from CosNaming.
+ *
+ * @author Raj Krishnamurthy
+ * @author Rosanna Lee
+ * @version 1.23 07/05/05
+ */
+
+public class CNCtx implements javax.naming.Context {
+
+ private final static boolean debug = false;
+
+ ORB _orb; // used by ExceptionMapper and RMI/IIOP factory
+ public NamingContext _nc; // public for accessing underlying NamingContext
+ private NameComponent[] _name = null;
+
+ Hashtable _env; // used by ExceptionMapper
+ static final CNNameParser parser = new CNNameParser();
+
+ private static final String FED_PROP = "com.sun.jndi.cosnaming.federation";
+ boolean federation = false;
+
+ // Reference counter for tracking _orb references
+ OrbReuseTracker orbTracker = null;
+ int enumCount;
+ boolean isCloseCalled = false;
+
+ /**
+ * Create a CNCtx object. Gets the initial naming
+ * reference for the COS Naming Service from the ORB.
+ * The ORB can be passed in via the java.naming.corba.orb property
+ * or be created using properties in the environment properties.
+ * @param env Environment properties for initializing name service.
+ * @exception NamingException Cannot initialize ORB or naming context.
+ */
+ CNCtx(Hashtable env) throws NamingException {
+ if (env != null) {
+ env = (Hashtable) env.clone();
+ }
+ _env = env;
+ federation = "true".equals(env != null ? env.get(FED_PROP) : null);
+ initOrbAndRootContext(env);
+ }
+
+ private CNCtx() {
+ }
+
+ /**
+ * This method is used by the iiop and iiopname URL Context factories.
+ */
+ public static ResolveResult createUsingURL(String url, Hashtable env)
+ throws NamingException {
+ CNCtx ctx = new CNCtx();
+ if (env != null) {
+ env = (Hashtable) env.clone();
+ }
+ ctx._env = env;
+ String rest = ctx.initUsingUrl(
+ env != null ?
+ (org.omg.CORBA.ORB) env.get("java.naming.corba.orb")
+ : null,
+ url, env);
+
+ // rest is the INS name
+ // Return the parsed form to prevent subsequent lookup
+ // from parsing the string as a composite name
+ // The caller should be aware that a toString() of the name
+ // will yield its INS syntax, rather than a composite syntax
+ return new ResolveResult(ctx, parser.parse(rest));
+ }
+
+ /**
+ * Creates a CNCtx object which supports the javax.naming
+ * apis given a COS Naming Context object.
+ * @param orb The ORB used by this context
+ * @param tracker The ORB reuse tracker for tracking references to the
+ * orb object
+ * @param nctx The COS NamingContext object associated with this context
+ * @param name The name of this context relative to the root
+ */
+
+ CNCtx(ORB orb, OrbReuseTracker tracker, NamingContext nctx, Hashtable env,
+ NameComponent[]name)
+ throws NamingException {
+ if (orb == null || nctx == null)
+ throw new ConfigurationException(
+ "Must supply ORB or NamingContext");
+ _orb = orb;
+ orbTracker = tracker;
+ if (orbTracker != null) {
+ orbTracker.incRefCount();
+ }
+ _nc = nctx;
+ _env = env;
+ _name = name;
+ federation = "true".equals(env != null ? env.get(FED_PROP) : null);
+ }
+
+ NameComponent[] makeFullName(NameComponent[] child) {
+ if (_name == null || _name.length == 0) {
+ return child;
+ }
+ NameComponent[] answer = new NameComponent[_name.length+child.length];
+
+ // parent
+ System.arraycopy(_name, 0, answer, 0, _name.length);
+
+ // child
+ System.arraycopy(child, 0, answer, _name.length, child.length);
+ return answer;
+ }
+
+
+ public String getNameInNamespace() throws NamingException {
+ if (_name == null || _name.length == 0) {
+ return "";
+ }
+ return CNNameParser.cosNameToInsString(_name);
+ }
+
+ /**
+ * These are the URL schemes that need to be processed.
+ * IOR and corbaloc URLs can be passed directly to ORB.string_to_object()
+ */
+ private static boolean isCorbaUrl(String url) {
+ return url.startsWith("iiop://")
+ || url.startsWith("iiopname://")
+ || url.startsWith("corbaname:")
+ ;
+ }
+
+ /**
+ * Initializes the COS Naming Service.
+ * This method initializes the three instance fields:
+ * _nc : The root naming context.
+ * _orb: The ORB to use for connecting RMI/IIOP stubs and for
+ * getting the naming context (_nc) if one was not specified
+ * explicitly via PROVIDER_URL.
+ * _name: The name of the root naming context.
+ *<p>
+ * _orb is obtained from java.naming.corba.orb if it has been set.
+ * Otherwise, _orb is created using the host/port from PROVIDER_URL
+ * (if it contains an "iiop" or "iiopname" URL), or from initialization
+ * properties specified in env.
+ *<p>
+ * _nc is obtained from the IOR stored in PROVIDER_URL if it has been
+ * set and does not contain an "iiop" or "iiopname" URL. It can be
+ * a stringified IOR, "corbaloc" URL, "corbaname" URL,
+ * or a URL (such as file/http/ftp) to a location
+ * containing a stringified IOR. If PROVIDER_URL has not been
+ * set in this way, it is obtained from the result of
+ * ORB.resolve_initial_reference("NameService");
+ *<p>
+ * _name is obtained from the "iiop", "iiopname", or "corbaname" URL.
+ * It is the empty name by default.
+ *
+ * @param env Environment The possibly null environment.
+ * @exception NamingException When an error occurs while initializing the
+ * ORB or the naming context.
+ */
+ private void initOrbAndRootContext(Hashtable env) throws NamingException {
+ org.omg.CORBA.ORB inOrb =...
[truncated message content] |
|
From: <ls...@us...> - 2007-06-25 07:21:17
|
Revision: 3297
http://jnode.svn.sourceforge.net/jnode/?rev=3297&view=rev
Author: lsantha
Date: 2007-06-25 00:21:13 -0700 (Mon, 25 Jun 2007)
Log Message:
-----------
Openjdk integration.
Added Paths:
-----------
trunk/core/src/openjdk/com/com/sun/accessibility/
trunk/core/src/openjdk/com/com/sun/accessibility/internal/
trunk/core/src/openjdk/com/com/sun/accessibility/internal/resources/
trunk/core/src/openjdk/com/com/sun/accessibility/internal/resources/accessibility.properties
trunk/core/src/openjdk/com/com/sun/accessibility/internal/resources/accessibility_de.properties
trunk/core/src/openjdk/com/com/sun/accessibility/internal/resources/accessibility_en.properties
trunk/core/src/openjdk/com/com/sun/accessibility/internal/resources/accessibility_es.properties
trunk/core/src/openjdk/com/com/sun/accessibility/internal/resources/accessibility_fr.properties
trunk/core/src/openjdk/com/com/sun/accessibility/internal/resources/accessibility_it.properties
trunk/core/src/openjdk/com/com/sun/accessibility/internal/resources/accessibility_ja.properties
trunk/core/src/openjdk/com/com/sun/accessibility/internal/resources/accessibility_ko.properties
trunk/core/src/openjdk/com/com/sun/accessibility/internal/resources/accessibility_sv.properties
trunk/core/src/openjdk/com/com/sun/accessibility/internal/resources/accessibility_zh_CN.properties
trunk/core/src/openjdk/com/com/sun/accessibility/internal/resources/accessibility_zh_TW.properties
Added: trunk/core/src/openjdk/com/com/sun/accessibility/internal/resources/accessibility.properties
===================================================================
--- trunk/core/src/openjdk/com/com/sun/accessibility/internal/resources/accessibility.properties (rev 0)
+++ trunk/core/src/openjdk/com/com/sun/accessibility/internal/resources/accessibility.properties 2007-06-25 07:21:13 UTC (rev 3297)
@@ -0,0 +1,148 @@
+# @(#)accessibility.properties 1.6 05/11/15
+#
+# This properties file is used to create a PropertyResourceBundle
+# It contains Locale specific strings used be the Accessibility package.
+#
+# When this file is read in, the strings are put into the
+# defaults table. This is an implementation detail of the current
+# workings of Accessibility. DO NOT DEPEND ON THIS.
+# This may change in future versions of Accessibility as we improve
+# localization support.
+#
+# @version 1.6 11/15/05
+# @author Lynn Monsanto
+
+#
+# accessible roles
+#
+alert=alert
+awtcomponent=AWT component
+checkbox=check box
+colorchooser=color chooser
+columnheader=column header
+combobox=combo box
+canvas=canvas
+desktopicon=desktop icon
+desktoppane=desktop pane
+dialog=dialog
+directorypane=directory pane
+glasspane=glass pane
+filechooser=file chooser
+filler=filler
+frame=frame
+internalframe=internal frame
+label=label
+layeredpane=layered pane
+list=list
+listitem=list item
+menubar=menu bar
+menu=menu
+menuitem=menu item
+optionpane=option pane
+pagetab=page tab
+pagetablist=page tab list
+panel=panel
+passwordtext=password text
+popupmenu=popup menu
+progressbar=progress bar
+pushbutton=push button
+radiobutton=radio button
+rootpane=root pane
+rowheader=row header
+scrollbar=scroll bar
+scrollpane=scroll pane
+separator=separator
+slider=slider
+splitpane=split pane
+swingcomponent=swing component
+table=table
+text=text
+tree=tree
+togglebutton=toggle button
+toolbar=tool bar
+tooltip=tool tip
+unknown=unknown
+viewport=viewport
+window=window
+#
+# accessible relations
+#
+labelFor=label for
+labeledBy=labeled by
+memberOf=member of
+controlledBy=controlledBy
+controllerFor=controllerFor
+#
+# accessible states
+#
+active=active
+armed=armed
+busy=busy
+checked=checked
+collapsed=collapsed
+editable=editable
+expandable=expandable
+expanded=expanded
+enabled=enabled
+focusable=focusable
+focused=focused
+iconified=iconified
+modal=modal
+multiline=multiple line
+multiselectable=multiselectable
+opaque=opaque
+pressed=pressed
+resizable=resizable
+selectable=selectable
+selected=selected
+showing=showing
+singleline=single line
+transient=transient
+visible=visible
+vertical=vertical
+horizontal=horizontal
+#
+# accessible actions
+#
+toggle expand=toggle expand
+
+# new relations, roles and states for J2SE 1.5.0
+
+#
+# accessible relations
+#
+flowsTo=flows to
+flowsFrom=flows from
+subwindowOf=subwindow of
+parentWindowOf=parent window of
+embeds=embeds
+embeddedBy=embedded by
+childNodeOf=child node of
+
+#
+# accessible roles
+#
+header=header
+footer=footer
+paragraph=paragraph
+ruler=ruler
+editbar=editbar
+progressMonitor=progress monitor
+
+#
+# accessible states
+#
+managesDescendants=manages descendants
+indeterminate=indeterminate
+truncated=truncated
+
+# new for J2SE 1.6.0
+
+#
+# accessible roles
+#
+htmlcontainer=HTML container
+
+#
+# END OF MATERIAL TO LOCALIZE
+#
Added: trunk/core/src/openjdk/com/com/sun/accessibility/internal/resources/accessibility_de.properties
===================================================================
--- trunk/core/src/openjdk/com/com/sun/accessibility/internal/resources/accessibility_de.properties (rev 0)
+++ trunk/core/src/openjdk/com/com/sun/accessibility/internal/resources/accessibility_de.properties 2007-06-25 07:21:13 UTC (rev 3297)
@@ -0,0 +1,148 @@
+# @(#)accessibility_de.properties 1.10 06/04/18
+#
+# This properties file is used to create a PropertyResourceBundle
+# It contains Locale specific strings used be the Accessibility package.
+#
+# When this file is read in, the strings are put into the
+# defaults table. This is an implementation detail of the current
+# workings of Accessibility. DO NOT DEPEND ON THIS.
+# This may change in future versions of Accessibility as we improve
+# localization support.
+#
+# @version 1.10 04/18/06
+# @author Lynn Monsanto
+
+#
+# accessible roles
+#
+alert=Warnmeldung
+awtcomponent=AWT-Komponente
+checkbox=Kontrollk\u00e4stchen
+colorchooser=Farbauswahl
+columnheader=Spaltenkopf
+combobox=Kombinationsfeld
+canvas=Leinwand
+desktopicon=Desktop-Symbol
+desktoppane=Desktop-Bereich
+dialog=Dialogfeld
+directorypane=Verzeichnisbereich
+glasspane=Glasbereich
+filechooser=Dateiauswahl
+filler=F\u00fcllbereich
+frame=Rahmen
+internalframe=Innerer Rahmen
+label=Beschriftung
+layeredpane=\u00dcberlagertes Teilfenster
+list=Liste
+listitem=Listenelement
+menubar=Men\u00fcleiste
+menu=Men\u00fc
+menuitem=Men\u00fceintrag
+optionpane=Optionsbereich
+pagetab=Registerkarte
+pagetablist=Register
+panel=Steuerbereich
+passwordtext=Passworttext
+popupmenu=Popup-Men\u00fc
+progressbar=Fortschrittsanzeige
+pushbutton=Schaltfl\u00e4che
+radiobutton=Optionsfeld
+rootpane=Root-Bereich
+rowheader=Zeilenkopf
+scrollbar=Bildlaufleiste
+scrollpane=Bildlaufbereich
+separator=Trennzeichen
+slider=Schieberegler
+splitpane=Geteilter Anzeigebereich
+swingcomponent=Swing-Komponente
+table=Tabelle
+text=Text
+tree=Baumstruktur
+togglebutton=Umschaltfl\u00e4che
+toolbar=Symbolleiste
+tooltip=QuickInfo
+unknown=Unbekannt
+viewport=Anzeigeschnittstelle
+window=Fenster
+#
+# accessible relations
+#
+labelFor=Beschriftung f\u00fcr
+labeledBy=beschriftet von
+memberOf=Mitglied von
+controlledBy=Gesteuert von
+controllerFor=Steuerung f\u00fcr
+#
+# accessible states
+#
+active=aktiv
+armed=aktiviert
+busy=belegt
+checked=markiert
+collapsed=ausgeblendet
+editable=editierbar
+expandable=erweiterbar
+expanded=eingeblendet
+enabled=aktiviert
+focusable=fokussierbar
+focused=fokussiert
+iconified=minimiert
+modal=modal
+multiline=mehrzeilig
+multiselectable=mehrfach ausw\u00e4hlbar
+opaque=verdeckt
+pressed=gedr\u00fcckt
+resizable=skalierbar
+selectable=w\u00e4hlbar
+selected=ausgew\u00e4hlt
+showing=angezeigt
+singleline=einzeilig
+transient=tempor\u00e4r
+visible=sichtbar
+vertical=vertikal
+horizontal=horizontal
+#
+# accessible actions
+#
+toggle expand=ein-/ausblenden
+
+# new relations, roles and states for J2SE 1.5.0
+
+#
+# accessible relations
+#
+flowsTo=flie\u00dft zu
+flowsFrom=flie\u00dft von
+subwindowOf=Unterfenster von
+parentWindowOf=\u00fcbergeordnetes Fenster von
+embeds=bettet ein
+embeddedBy=eingebettet in
+childNodeOf=untergeordneter Knoten von
+
+#
+# accessible roles
+#
+header=Kopfzeile
+footer=Fu\u00dfzeile
+paragraph=Absatz
+ruler=Lineal
+editbar=Bearbeitungsleiste
+progressMonitor=Fortschrittsmonitor
+
+#
+# accessible states
+#
+managesDescendants=verwaltet abgeleitete Objekte
+indeterminate=unbestimmt
+truncated=gek\u00fcrzt
+
+# new for J2SE 1.6.0
+
+#
+# accessible roles
+#
+htmlcontainer=HTML-Container
+
+#
+# END OF MATERIAL TO LOCALIZE
+#
Added: trunk/core/src/openjdk/com/com/sun/accessibility/internal/resources/accessibility_en.properties
===================================================================
--- trunk/core/src/openjdk/com/com/sun/accessibility/internal/resources/accessibility_en.properties (rev 0)
+++ trunk/core/src/openjdk/com/com/sun/accessibility/internal/resources/accessibility_en.properties 2007-06-25 07:21:13 UTC (rev 3297)
@@ -0,0 +1,144 @@
+# @(#)accessibility_en.properties 1.5 05/11/15
+#
+# This properties file is used to create a PropertyResourceBundle
+# It contains Locale specific strings used be the Accessibility package.
+#
+# When this file is read in, the strings are put into the
+# defaults table. This is an implementation detail of the current
+# workings of Accessibility. DO NOT DEPEND ON THIS.
+# This may change in future versions of Accessibility as we improve
+# localization support.
+#
+# @version 1.5 11/15/05
+# @author Lynn Monsanto
+
+#
+# accessible roles
+#
+alert=alert
+awtcomponent=AWT component
+checkbox=check box
+colorchooser=color chooser
+columnheader=column header
+combobox=combo box
+canvas=canvas
+desktopicon=desktop icon
+desktoppane=desktop pane
+dialog=dialog
+directorypane=directory pane
+glasspane=glass pane
+filechooser=file chooser
+filler=filler
+frame=frame
+internalframe=internal frame
+label=label
+layeredpane=layered pane
+list=list
+listitem=list item
+menubar=menu bar
+menu=menu
+menuitem=menu item
+optionpane=option pane
+pagetab=page tab
+pagetablist=page tab list
+panel=panel
+passwordtext=password text
+popupmenu=popup menu
+progressbar=progress bar
+pushbutton=push button
+radiobutton=radio button
+rootpane=root pane
+rowheader=row header
+scrollbar=scroll bar
+scrollpane=scroll pane
+separator=separator
+slider=slider
+splitpane=split pane
+swingcomponent=swing component
+table=table
+text=text
+tree=tree
+togglebutton=toggle button
+toolbar=tool bar
+tooltip=tool tip
+unknown=unknown
+viewport=viewport
+window=window
+#
+# accessible relations
+#
+labelFor=label for
+labeledBy=labeled by
+memberOf=member of
+controlledBy=controlledBy
+controllerFor=controllerFor
+#
+# accessible states
+#
+active=active
+armed=armed
+busy=busy
+checked=checked
+collapsed=collapsed
+editable=editable
+expandable=expandable
+expanded=expanded
+enabled=enabled
+focusable=focusable
+focused=focused
+iconified=iconified
+modal=modal
+multiline=multiple line
+multiselectable=multiselectable
+opaque=opaque
+pressed=pressed
+resizable=resizable
+selectable=selectable
+selected=selected
+showing=showing
+singleline=single line
+transient=transient
+visible=visible
+vertical=vertical
+horizontal=horizontal
+
+# new relations, roles and states for J2SE 1.5.0
+
+#
+# accessible relations
+#
+flowsTo=flows to
+flowsFrom=flows from
+subwindowOf=subwindow of
+parentWindowOf=parent window of
+embeds=embeds
+embeddedBy=embedded by
+childNodeOf=child node of
+
+#
+# accessible roles
+#
+header=header
+footer=footer
+paragraph=paragraph
+ruler=ruler
+editbar=editbar
+progressMonitor=progress monitor
+
+#
+# accessible states
+#
+managesDescendants=manages descendants
+indeterminate=indeterminate
+truncated=truncated
+
+# new for J2SE 1.6.0
+
+#
+# accessible roles
+#
+htmlcontainer=HTML container
+
+#
+# END OF MATERIAL TO LOCALIZE
+#
Added: trunk/core/src/openjdk/com/com/sun/accessibility/internal/resources/accessibility_es.properties
===================================================================
--- trunk/core/src/openjdk/com/com/sun/accessibility/internal/resources/accessibility_es.properties (rev 0)
+++ trunk/core/src/openjdk/com/com/sun/accessibility/internal/resources/accessibility_es.properties 2007-06-25 07:21:13 UTC (rev 3297)
@@ -0,0 +1,148 @@
+# @(#)accessibility_es.properties 1.11 06/04/18
+#
+# This properties file is used to create a PropertyResourceBundle
+# It contains Locale specific strings used be the Accessibility package.
+#
+# When this file is read in, the strings are put into the
+# defaults table. This is an implementation detail of the current
+# workings of Accessibility. DO NOT DEPEND ON THIS.
+# This may change in future versions of Accessibility as we improve
+# localization support.
+#
+# @version 1.11 04/18/06
+# @author Lynn Monsanto
+
+#
+# accessible roles
+#
+alert=alerta
+awtcomponent=Componente AWT
+checkbox=casilla de verificaci\u00f3n
+colorchooser=selector de color
+columnheader=cabecera de columna
+combobox=cuadro combinado
+canvas=superficie
+desktopicon=icono de escritorio
+desktoppane=tablero de escritorio
+dialog=cuadro de di\u00e1logo
+directorypane=tablero de directorio
+glasspane=tablero de cristal
+filechooser=selector de archivos
+filler=rellenador
+frame=marco
+internalframe=marco interno
+label=etiqueta
+layeredpane=tablero en capas
+list=lista
+listitem=elemento de lista
+menubar=barra de men\u00fas
+menu=men\u00fa
+menuitem=elemento de men\u00fa
+optionpane=tablero de opciones
+pagetab=pesta\u00f1a de p\u00e1gina
+pagetablist=lista de pesta\u00f1as de p\u00e1gina
+panel=panel
+passwordtext=texto de contrase\u00f1a
+popupmenu=men\u00fa emergente
+progressbar=barra de progreso
+pushbutton=bot\u00f3n de acci\u00f3n
+radiobutton=bot\u00f3n de radio
+rootpane=tablero ra\u00edz
+rowheader=cabecera de filas
+scrollbar=barra de desplazamiento
+scrollpane=tablero de desplazamiento
+separator=separador
+slider=deslizador
+splitpane=tablero de divisi\u00f3n
+swingcomponent=componente swing
+table=tabla
+text=texto
+tree=\u00e1rbol
+togglebutton=bot\u00f3n conmutador
+toolbar=barra de herramientas
+tooltip=consejo de herramienta
+unknown=desconocido
+viewport=puerto de vista
+window=ventana
+#
+# accessible relations
+#
+labelFor=etiqueta para
+labeledBy=etiquetado por
+memberOf=miembro de
+controlledBy=controlado por
+controllerFor=controlador de
+#
+# accessible states
+#
+active=activo
+armed=armado
+busy=ocupado
+checked=marcado
+collapsed=contra\u00eddo
+editable=editable
+expandable=ampliable
+expanded=ampliado
+enabled=habilitado
+focusable=enfocable
+focused=enfocado
+iconified=convertido en icono
+modal=modal
+multiline=l\u00ednea m\u00faltiple
+multiselectable=multiseleccionable
+opaque=opaco
+pressed=pulsado
+resizable=redimensionable
+selectable=seleccionable
+selected=seleccionado
+showing=mostrando
+singleline=l\u00ednea \u00fanica
+transient=temporal
+visible=visible
+vertical=vertical
+horizontal=horizontal
+#
+# accessible actions
+#
+toggle expand=activar/desactivar ampliaci\u00f3n
+
+# new relations, roles and states for J2SE 1.5.0
+
+#
+# accessible relations
+#
+flowsTo=llega a
+flowsFrom=procede de
+subwindowOf=ventana subordinada de
+parentWindowOf=ventana superior de
+embeds=incluye
+embeddedBy=se incluye en
+childNodeOf=nodo secundario de
+
+#
+# accessible roles
+#
+header=cabecera
+footer=pie
+paragraph=p\u00e1rrafo
+ruler=regla
+editbar=barra de edici\u00f3n
+progressMonitor=monitor de progresi\u00f3n
+
+#
+# accessible states
+#
+managesDescendants=gestiona objetos subordinados
+indeterminate=indeterminado
+truncated=truncado
+
+# new for J2SE 1.6.0
+
+#
+# accessible roles
+#
+htmlcontainer=Contenedor HTML
+
+#
+# END OF MATERIAL TO LOCALIZE
+#
Added: trunk/core/src/openjdk/com/com/sun/accessibility/internal/resources/accessibility_fr.properties
===================================================================
--- trunk/core/src/openjdk/com/com/sun/accessibility/internal/resources/accessibility_fr.properties (rev 0)
+++ trunk/core/src/openjdk/com/com/sun/accessibility/internal/resources/accessibility_fr.properties 2007-06-25 07:21:13 UTC (rev 3297)
@@ -0,0 +1,148 @@
+# @(#)accessibility_fr.properties 1.10 06/04/18
+#
+# This properties file is used to create a PropertyResourceBundle
+# It contains Locale specific strings used be the Accessibility package.
+#
+# When this file is read in, the strings are put into the
+# defaults table. This is an implementation detail of the current
+# workings of Accessibility. DO NOT DEPEND ON THIS.
+# This may change in future versions of Accessibility as we improve
+# localization support.
+#
+# @version 1.10 04/18/06
+# @author Lynn Monsanto
+
+#
+# accessible roles
+#
+alert=alerte
+awtcomponent=Composant AWT
+checkbox=case \u00e0 cocher
+colorchooser=s\u00e9lecteur de couleurs
+columnheader=en-t\u00eate de colonne
+combobox=bo\u00eete de dialogue mixte
+canvas=canevas
+desktopicon=ic\u00f4ne de bureau
+desktoppane=sous-fen\u00eatre de bureau
+dialog=bo\u00eete de dialogue
+directorypane=sous-fen\u00eatre de r\u00e9pertoires
+glasspane=sous-fen\u00eatre de grossissement
+filechooser=s\u00e9lecteur de fichiers
+filler=\u00e9l\u00e9ment de remplissage
+frame=cadre
+internalframe=cadre interne
+label=\u00e9tiquette
+layeredpane=sous-fen\u00eatre superpos\u00e9e
+list=liste
+listitem=\u00e9l\u00e9ment de liste
+menubar=barre de menus
+menu=menu
+menuitem=option de menu
+optionpane=sous-fen\u00eatre d''options
+pagetab=onglet de page
+pagetablist=liste d''onglets de page
+panel=panneau
+passwordtext=texte de mot de passe
+popupmenu=menu contextuel
+progressbar=barre de progression
+pushbutton=bouton poussoir
+radiobutton=bouton radio
+rootpane=sous-fen\u00eatre racine
+rowheader=en-t\u00eate de ligne
+scrollbar=barre de d\u00e9filement
+scrollpane=sous-fen\u00eatre de d\u00e9filement
+separator=s\u00e9parateur
+slider=curseur
+splitpane=sous-fen\u00eatre divis\u00e9e
+swingcomponent=composant de bascule
+table=tableau
+text=texte
+tree=arbre
+togglebutton=bouton de basculement
+toolbar=barre d''outils
+tooltip=info-bulle
+unknown=inconnu
+viewport=cl\u00f4ture
+window=fen\u00eatre
+#
+# accessible relations
+#
+labelFor=\u00e9tiquette de
+labeledBy=libell\u00e9(e) par
+memberOf=membre de
+controlledBy=contr\u00f4l\u00e9 par
+controllerFor=contr\u00f4leur pour
+#
+# accessible states
+#
+active=actif(ve)
+armed=arm\u00e9(e)
+busy=occup\u00e9(e)
+checked=coch\u00e9e
+collapsed=r\u00e9duit(e)
+editable=modifiable
+expandable=extensible
+expanded=d\u00e9velopp\u00e9(e)
+enabled=activ\u00e9(e)
+focusable=zone d''entr\u00e9e possible
+focused=avec zone d''entr\u00e9e
+iconified=r\u00e9duit(e) \u00e0 une ic\u00f4ne
+modal=modal(e)
+multiline=ligne multiple
+multiselectable=multis\u00e9lectionnable
+opaque=opaque
+pressed=enfonc\u00e9
+resizable=redimensionnable
+selectable=s\u00e9lectionnable
+selected=s\u00e9lectionn\u00e9(e)
+showing=montrant
+singleline=ligne unique
+transient=transitoire
+visible=visible
+vertical=vertical(e)
+horizontal=horizontal(e)
+#
+# accessible actions
+#
+toggle expand=basculer le d\u00e9veloppement
+
+# new relations, roles and states for J2SE 1.5.0
+
+#
+# accessible relations
+#
+flowsTo=flux vers
+flowsFrom=flux depuis
+subwindowOf=sous-fen\u00eatre de
+parentWindowOf=fen\u00eatre parente de
+embeds=incorpore
+embeddedBy=incorpor\u00e9 par
+childNodeOf=n\u0153ud enfant de
+
+#
+# accessible roles
+#
+header=en-t\u00eate
+footer=pied de page
+paragraph=paragraphe
+ruler=r\u00e8gle
+editbar=barre d'\u00e9dition
+progressMonitor=contr\u00f4le de la progression
+
+#
+# accessible states
+#
+managesDescendants=g\u00e8re les descendants
+indeterminate=ind\u00e9termin\u00e9
+truncated=tronqu\u00e9
+
+# new for J2SE 1.6.0
+
+#
+# accessible roles
+#
+htmlcontainer=Conteneur HTML
+
+#
+# END OF MATERIAL TO LOCALIZE
+#
Added: trunk/core/src/openjdk/com/com/sun/accessibility/internal/resources/accessibility_it.properties
===================================================================
--- trunk/core/src/openjdk/com/com/sun/accessibility/internal/resources/accessibility_it.properties (rev 0)
+++ trunk/core/src/openjdk/com/com/sun/accessibility/internal/resources/accessibility_it.properties 2007-06-25 07:21:13 UTC (rev 3297)
@@ -0,0 +1,148 @@
+# @(#)accessibility_it.properties 1.10 06/04/18
+#
+# This properties file is used to create a PropertyResourceBundle
+# It contains Locale specific strings used be the Accessibility package.
+#
+# When this file is read in, the strings are put into the
+# defaults table. This is an implementation detail of the current
+# workings of Accessibility. DO NOT DEPEND ON THIS.
+# This may change in future versions of Accessibility as we improve
+# localization support.
+#
+# @version 1.10 04/18/06
+# @author Lynn Monsanto
+
+#
+# accessible roles
+#
+alert=allarme
+awtcomponent=componente AWT
+checkbox=casella di controllo
+colorchooser=selezione colori
+columnheader=intestazione colonna
+combobox=casella
+canvas=area di disegno
+desktopicon=icona del desktop
+desktoppane=sottofinestra del desktop
+dialog=finestra di dialogo
+directorypane=sottofinestra della directory
+glasspane=sottofinestra trasparente
+filechooser=selezione file
+filler=utilit\u00e0 riempimento
+frame=cornice
+internalframe=cornice interna
+label=etichetta
+layeredpane=sottofinestra a livelli
+list=elenco
+listitem=voce di elenco
+menubar=barra dei menu
+menu=menu
+menuitem=voce di menu
+optionpane=sottofinestra delle opzioni
+pagetab=scheda pagina
+pagetablist=elenco schede pagina
+panel=pannello
+passwordtext=testo della password
+popupmenu=menu a comparsa
+progressbar=barra di avanzamento
+pushbutton=pulsante
+radiobutton=pulsante di scelta
+rootpane=sottofinestra root
+rowheader=intestazione di riga
+scrollbar=barra di scorrimento
+scrollpane=scorri sottofinestra
+separator=separatore
+slider=cursore
+splitpane=sottofinestra doppia
+swingcomponent=componente swing
+table=tabella
+text=testo
+tree=albero
+togglebutton=interruttore
+toolbar=barra degli strumenti
+tooltip=descrizione comandi
+unknown=sconosciuto
+viewport=viewport
+window=finestra
+#
+# accessible relations
+#
+labelFor=etichetta per
+labeledBy=etichetta di
+memberOf=membro di
+controlledBy=controllato da
+controllerFor=controllore per
+#
+# accessible states
+#
+active=attivo
+armed=abilitato
+busy=occupato
+checked=verificato
+collapsed=ingrandito
+editable=modificabile
+expandable=espandibile
+expanded=espanso
+enabled=attivato
+focusable=attivabile in primo piano
+focused=in primo piano
+iconified=ridotto a icona
+modal=modale
+multiline=a righe multiple
+multiselectable=multi-selezionabile
+opaque=nascosto
+pressed=premuto
+resizable=ridimensionabile
+selectable=selezionabile
+selected=selezionato
+showing=visualizzato
+singleline=a riga singola
+transient=transitorio
+visible=visibile
+vertical=verticale
+horizontal=orizzontale
+#
+# accessible actions
+#
+toggle expand=abilita/disabilita espansione
+
+# new relations, roles and states for J2SE 1.5.0
+
+#
+# accessible relations
+#
+flowsTo=va verso
+flowsFrom=proviene da
+subwindowOf=sottofinestra di
+parentWindowOf=finestra di livello superiore di
+embeds=incorpora
+embeddedBy=incorporato da
+childNodeOf=nodo figlio di
+
+#
+# accessible roles
+#
+header=intestazione
+footer=pi\u00e8 di pagina
+paragraph=paragrafo
+ruler=righello
+editbar=barra di modifica
+progressMonitor=stato avanzamento
+
+#
+# accessible states
+#
+managesDescendants=gestisce i discendenti
+indeterminate=indeterminato
+truncated=troncato
+
+# new for J2SE 1.6.0
+
+#
+# accessible roles
+#
+htmlcontainer=Contenitore HTML
+
+#
+# END OF MATERIAL TO LOCALIZE
+#
Added: trunk/core/src/openjdk/com/com/sun/accessibility/internal/resources/accessibility_ja.properties
===================================================================
--- trunk/core/src/openjdk/com/com/sun/accessibility/internal/resources/accessibility_ja.properties (rev 0)
+++ trunk/core/src/openjdk/com/com/sun/accessibility/internal/resources/accessibility_ja.properties 2007-06-25 07:21:13 UTC (rev 3297)
@@ -0,0 +1,148 @@
+# @(#)accessibility_ja.properties 1.8 06/04/10
+#
+# This properties file is used to create a PropertyResourceBundle
+# It contains Locale specific strings used be the Accessibility package.
+#
+# When this file is read in, the strings are put into the
+# defaults table. This is an implementation detail of the current
+# workings of Accessibility. DO NOT DEPEND ON THIS.
+# This may change in future versions of Accessibility as we improve
+# localization support.
+#
+# @version 1.8 04/10/06
+# @author Lynn Monsanto
+
+#
+# accessible roles
+#
+alert=\u8b66\u544a
+awtcomponent=AWT \u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8
+checkbox=\u30c1\u30a7\u30c3\u30af\u30dc\u30c3\u30af\u30b9
+colorchooser=\u30ab\u30e9\u30fc\u30c1\u30e5\u30fc\u30b6
+columnheader=\u5217\u30d8\u30c3\u30c0
+combobox=\u30b3\u30f3\u30dc\u30dc\u30c3\u30af\u30b9
+canvas=\u30ad\u30e3\u30f3\u30d0\u30b9
+desktopicon=\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u30a2\u30a4\u30b3\u30f3
+desktoppane=\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u533a\u753b
+dialog=\u30c0\u30a4\u30a2\u30ed\u30b0
+directorypane=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u533a\u753b
+glasspane=\u30ac\u30e9\u30b9\u533a\u753b
+filechooser=\u30d5\u30a1\u30a4\u30eb\u30c1\u30e5\u30fc\u30b6
+filler=\u30d5\u30a3\u30e9\u30fc
+frame=\u30d5\u30ec\u30fc\u30e0
+internalframe=\u5185\u90e8\u30d5\u30ec\u30fc\u30e0
+label=\u30e9\u30d9\u30eb
+layeredpane=\u968e\u5c64\u5316\u3055\u308c\u305f\u533a\u753b
+list=\u30ea\u30b9\u30c8
+listitem=\u30ea\u30b9\u30c8\u9805\u76ee
+menubar=\u30e1\u30cb\u30e5\u30fc\u30d0\u30fc
+menu=\u30e1\u30cb\u30e5\u30fc
+menuitem=\u30e1\u30cb\u30e5\u30fc\u9805\u76ee
+optionpane=\u30aa\u30d7\u30b7\u30e7\u30f3\u533a\u753b
+pagetab=\u30da\u30fc\u30b8\u30bf\u30d6
+pagetablist=\u30da\u30fc\u30b8\u30bf\u30d6\u30ea\u30b9\u30c8
+panel=\u30d1\u30cd\u30eb
+passwordtext=\u30d1\u30b9\u30ef\u30fc\u30c9\u30c6\u30ad\u30b9\u30c8
+popupmenu=\u30dd\u30c3\u30d7\u30a2\u30c3\u30d7\u30e1\u30cb\u30e5\u30fc
+progressbar=\u9032\u6357\u30d0\u30fc
+pushbutton=\u30d7\u30c3\u30b7\u30e5\u30dc\u30bf\u30f3
+radiobutton=\u30e9\u30b8\u30aa\u30dc\u30bf\u30f3
+rootpane=\u30eb\u30fc\u30c8\u533a\u753b
+rowheader=\u884c\u30d8\u30c3\u30c0
+scrollbar=\u30b9\u30af\u30ed\u30fc\u30eb\u30d0\u30fc
+scrollpane=\u30b9\u30af\u30ed\u30fc\u30eb\u533a\u753b
+separator=\u30bb\u30d1\u30ec\u30fc\u30bf
+slider=\u30b9\u30e9\u30a4\u30c0
+splitpane=\u5206\u5272\u533a\u753b
+swingcomponent=Swing \u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8
+table=\u30c6\u30fc\u30d6\u30eb
+text=\u30c6\u30ad\u30b9\u30c8
+tree=\u30c4\u30ea\u30fc
+togglebutton=\u30c8\u30b0\u30eb\u30dc\u30bf\u30f3
+toolbar=\u30c4\u30fc\u30eb\u30d0\u30fc
+tooltip=\u30c4\u30fc\u30eb\u30d2\u30f3\u30c8
+unknown=\u672a\u77e5
+viewport=\u30d3\u30e5\u30fc\u30dd\u30fc\u30c8
+window=\u30a6\u30a3\u30f3\u30c9\u30a6
+#
+# accessible relations
+#
+labelFor=\u30e9\u30d9\u30eb\u5143
+labeledBy=\u30e9\u30d9\u30eb\u5148
+memberOf=\u6240\u5c5e\u30e1\u30f3\u30d0
+controlledBy=\u5236\u5fa1\u5bfe\u8c61
+controllerFor=\u5236\u5fa1\u5143
+#
+# accessible states
+#
+active=\u30a2\u30af\u30c6\u30a3\u30d6
+armed=\u4f5c\u52d5\u6e96\u5099\u5b8c\u4e86
+busy=\u30d3\u30b8\u30fc
+checked=\u30c1\u30a7\u30c3\u30af
+collapsed=\u77ed\u7e2e
+editable=\u7de8\u96c6\u53ef\u80fd
+expandable=\u5c55\u958b\u53ef\u80fd
+expanded=\u5c55\u958b
+enabled=\u6709\u52b9
+focusable=\u30d5\u30a9\u30fc\u30ab\u30b9\u53ef\u80fd
+focused=\u30d5\u30a9\u30fc\u30ab\u30b9
+iconified=\u30a2\u30a4\u30b3\u30f3\u5316
+modal=\u30e2\u30fc\u30c0\u30eb
+multiline=\u8907\u6570\u884c
+multiselectable=\u8907\u6570\u9078\u629e\u53ef\u80fd
+opaque=\u4e0d\u900f\u660e
+pressed=\u62bc\u4e0b
+resizable=\u30b5\u30a4\u30ba\u5909\u66f4\u53ef\u80fd
+selectable=\u9078\u629e\u53ef\u80fd
+selected=\u9078\u629e
+showing=\u8868\u793a
+singleline=\u5358\u4e00\u884c
+transient=\u4e00\u6642
+visible=\u53ef\u8996
+vertical=\u5782\u76f4
+horizontal=\u6c34\u5e73
+#
+# accessible actions
+#
+toggle expand=\u30c8\u30b0\u30eb\u5c55\u958b
+
+# new relations, roles and states for J2SE 1.5.0
+
+#
+# accessible relations
+#
+flowsTo=\u30d5\u30ed\u30fc\u5148
+flowsFrom=\u30d5\u30ed\u30fc\u5143
+subwindowOf=\u30b5\u30d6\u30a6\u30a3\u30f3\u30c9\u30a6
+parentWindowOf=\u89aa\u30a6\u30a3\u30f3\u30c9\u30a6
+embeds=\u57cb\u3081\u8fbc\u307f
+embeddedBy=\u57cb\u3081\u8fbc\u307f\u5143
+childNodeOf=\u5b50\u30ce\u30fc\u30c9
+
+#
+# accessible roles
+#
+header=\u30d8\u30c3\u30c0
+footer=\u30d5\u30c3\u30bf
+paragraph=\u30d1\u30e9\u30b0\u30e9\u30d5
+ruler=\u30eb\u30fc\u30e9
+editbar=\u7de8\u96c6\u30d0\u30fc
+progressMonitor=\u9032\u6357\u30e2\u30cb\u30bf
+
+#
+# accessible states
+#
+managesDescendants=\u5b50\u5b6b\u3092\u7ba1\u7406
+indeterminate=\u4e0d\u78ba\u5b9a
+truncated=\u4e0d\u5b8c\u5168
+
+# new for J2SE 1.6.0
+
+#
+# accessible roles
+#
+htmlcontainer=HTML \u30b3\u30f3\u30c6\u30ca
+
+#
+# END OF MATERIAL TO LOCALIZE
+#
Added: trunk/core/src/openjdk/com/com/sun/accessibility/internal/resources/accessibility_ko.properties
===================================================================
--- trunk/core/src/openjdk/com/com/sun/accessibility/internal/resources/accessibility_ko.properties (rev 0)
+++ trunk/core/src/openjdk/com/com/sun/accessibility/internal/resources/accessibility_ko.properties 2007-06-25 07:21:13 UTC (rev 3297)
@@ -0,0 +1,148 @@
+# @(#)accessibility_ko.properties 1.8 06/04/10
+#
+# This properties file is used to create a PropertyResourceBundle
+# It contains Locale specific strings used be the Accessibility package.
+#
+# When this file is read in, the strings are put into the
+# defaults table. This is an implementation detail of the current
+# workings of Accessibility. DO NOT DEPEND ON THIS.
+# This may change in future versions of Accessibility as we improve
+# localization support.
+#
+# @version 1.8 04/10/06
+# @author Lynn Monsanto
+
+#
+# accessible roles
+#
+alert=\uacbd\uace0
+awtcomponent=AWT \uad6c\uc131\uc694\uc18c
+checkbox=\ud655\uc778\ub780
+colorchooser=\uc0c9\uc0c1 \uc120\ud0dd\uae30
+columnheader=\uc5f4 \uba38\ub9ac\uae00
+combobox=\ucf...
[truncated message content] |
|
From: <ls...@us...> - 2007-06-25 07:22:34
|
Revision: 3298
http://jnode.svn.sourceforge.net/jnode/?rev=3298&view=rev
Author: lsantha
Date: 2007-06-25 00:22:33 -0700 (Mon, 25 Jun 2007)
Log Message:
-----------
Openjdk integration.
Added Paths:
-----------
trunk/core/src/openjdk/com/com/sun/beans/
trunk/core/src/openjdk/com/com/sun/beans/ObjectHandler.java
trunk/core/src/openjdk/com/com/sun/beans/finder/
trunk/core/src/openjdk/com/com/sun/beans/finder/ClassFinder.java
trunk/core/src/openjdk/com/com/sun/beans/finder/PrimitiveTypeMap.java
Added: trunk/core/src/openjdk/com/com/sun/beans/ObjectHandler.java
===================================================================
--- trunk/core/src/openjdk/com/com/sun/beans/ObjectHandler.java (rev 0)
+++ trunk/core/src/openjdk/com/com/sun/beans/ObjectHandler.java 2007-06-25 07:22:33 UTC (rev 3298)
@@ -0,0 +1,480 @@
+/*
+ * Copyright 2003-2006 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package com.sun.beans;
+
+import com.sun.beans.finder.ClassFinder;
+
+import java.beans.*;
+import java.util.*;
+
+import org.xml.sax.*;
+
+import static java.util.Locale.ENGLISH;
+
+/**
+ * <b>WARNING</b>: This class is an implementation detail and only meant
+ * for use within the core platform. You should NOT depend upon it! This
+ * API may change drastically between dot dot release, and it may even be
+ * removed.
+ *
+ * @see java.beans.XMLEncoder
+ * @see java.io.ObjectInputStream
+ *
+ * @since 1.4
+ *
+ * @version 1.5 11/20/00
+ * @author Philip Milne
+ */
+public class ObjectHandler extends HandlerBase {
+
+ public static Class typeNameToClass(String typeName) {
+ typeName = typeName.intern();
+ if (typeName == "boolean") return Boolean.class;
+ if (typeName == "byte") return Byte.class;
+ if (typeName == "char") return Character.class;
+ if (typeName == "short") return Short.class;
+ if (typeName == "int") return Integer.class;
+ if (typeName == "long") return Long.class;
+ if (typeName == "float") return Float.class;
+ if (typeName == "double") return Double.class;
+ if (typeName == "void") return Void.class;
+ return null;
+ }
+
+ public static Class typeNameToPrimitiveClass(String typeName) {
+ typeName = typeName.intern();
+ if (typeName == "boolean") return boolean.class;
+ if (typeName == "byte") return byte.class;
+ if (typeName == "char") return char.class;
+ if (typeName == "short") return short.class;
+ if (typeName == "int") return int.class;
+ if (typeName == "long") return long.class;
+ if (typeName == "float") return float.class;
+ if (typeName == "double") return double.class;
+ if (typeName == "void") return void.class;
+ return null;
+ }
+
+ /**
+ * Returns the <code>Class</code> object associated with
+ * the class or interface with the given string name,
+ * using the default class loader.
+ *
+ * @param name fully qualified name of the desired class
+ * @param cl class loader from which the class must be loaded
+ * @return class object representing the desired class
+ *
+ * @exception ClassNotFoundException if the class cannot be located
+ * by the specified class loader
+ *
+ * @deprecated As of JDK version 7, replaced by
+ * {@link ClassFinder#resolveClass(String)}.
+ */
+ @Deprecated
+ public static Class classForName(String name) throws ClassNotFoundException {
+ return ClassFinder.resolveClass(name);
+ }
+
+ /**
+ * Returns the <code>Class</code> object associated with
+ * the class or interface with the given string name,
+ * using the given class loader.
+ *
+ * @param name fully qualified name of the desired class
+ * @param cl class loader from which the class must be loaded
+ * @return class object representing the desired class
+ *
+ * @exception ClassNotFoundException if the class cannot be located
+ * by the specified class loader
+ *
+ * @deprecated As of JDK version 7, replaced by
+ * {@link ClassFinder#resolveClass(String,ClassLoader)}.
+ */
+ @Deprecated
+ public static Class classForName(String name, ClassLoader cl)
+ throws ClassNotFoundException {
+ return ClassFinder.resolveClass(name, cl);
+ }
+
+ private Hashtable environment;
+ private Vector expStack;
+ private StringBuffer chars;
+ private XMLDecoder is;
+ private ClassLoader ldr;
+ private int itemsRead = 0;
+ private boolean isString;
+
+ public ObjectHandler() {
+ environment = new Hashtable();
+ expStack = new Vector();
+ chars = new StringBuffer();
+ }
+
+ public ObjectHandler(XMLDecoder is) {
+ this();
+ this.is = is;
+ }
+
+ /* loader can be null */
+ public ObjectHandler(XMLDecoder is, ClassLoader loader) {
+ this(is);
+ this.ldr = loader;
+ }
+
+
+ public void reset() {
+ expStack.clear();
+ chars.setLength(0);
+ MutableExpression e = new MutableExpression();
+ e.setTarget(classForName2("java.lang.Object"));
+ e.setMethodName("null");
+ expStack.add(e);
+ }
+
+ private Object getValue(Expression exp) {
+ try {
+ return exp.getValue();
+ }
+ catch (Exception e) {
+ if (is != null) {
+ is.getExceptionListener().exceptionThrown(e);
+ }
+ return null;
+ }
+ }
+
+ private void addArg(Object arg) {
+ lastExp().addArg(arg);
+ }
+
+ private Object pop(Vector v) {
+ int last = v.size()-1;
+ Object result = v.get(last);
+ v.remove(last);
+ return result;
+ }
+
+ private Object eval() {
+ return getValue(lastExp());
+ }
+
+ private MutableExpression lastExp() {
+ return (MutableExpression)expStack.lastElement();
+ }
+
+ public Object dequeueResult() {
+ Object[] results = lastExp().getArguments();
+ return results[itemsRead++];
+ }
+
+ private boolean isPrimitive(String name) {
+ return name != "void" && typeNameToClass(name) != null;
+ }
+
+ private void simulateException(String message) {
+ Exception e = new Exception(message);
+ e.fillInStackTrace();
+ if (is != null) {
+ is.getExceptionListener().exceptionThrown(e);
+ }
+ }
+
+ private Class classForName2(String name) {
+ try {
+ return ClassFinder.findClass(name, this.ldr);
+ }
+ catch (ClassNotFoundException e) {
+ if (is != null) {
+ is.getExceptionListener().exceptionThrown(e);
+ }
+ }
+ return null;
+ }
+
+ private HashMap getAttributes(AttributeList attrs) {
+ HashMap attributes = new HashMap();
+ if (attrs != null && attrs.getLength() > 0) {
+ for(int i = 0; i < attrs.getLength(); i++) {
+ attributes.put(attrs.getName(i), attrs.getValue(i));
+ }
+ }
+ return attributes;
+ }
+
+ public void startElement(String name, AttributeList attrs) throws SAXException {
+ name = name.intern(); // Xerces parser does not supply unique tag names.
+ if (this.isString) {
+ parseCharCode(name, getAttributes(attrs));
+ return;
+ }
+ chars.setLength(0);
+
+ HashMap attributes = getAttributes(attrs);
+ MutableExpression e = new MutableExpression();
+
+ // Target
+ String className = (String)attributes.get("class");
+ if (className != null) {
+ e.setTarget(classForName2(className));
+ }
+
+ // Property
+ Object property = attributes.get("property");
+ String index = (String)attributes.get("index");
+ if (index != null) {
+ property = new Integer(index);
+ e.addArg(property);
+ }
+ e.setProperty(property);
+
+ // Method
+ String methodName = (String)attributes.get("method");
+ if (methodName == null && property == null) {
+ methodName = "new";
+ }
+ e.setMethodName(methodName);
+
+ // Tags
+ if (name == "string") {
+ e.setTarget(String.class);
+ e.setMethodName("new");
+ this.isString = true;
+ }
+ else if (isPrimitive(name)){
+ Class wrapper = typeNameToClass(name);
+ e.setTarget(wrapper);
+ e.setMethodName("new");
+ parseCharCode(name, attributes);
+ }
+ else if (name == "class") {
+ e.setTarget(Class.class);
+ e.setMethodName("forName");
+ }
+ else if (name == "null") {
+ // Create an arbitrary expression that has a value of null - for
+ // consistency.
+ e.setTarget(Object.class);
+ e.setMethodName("getSuperclass");
+ e.setValue(null);
+ }
+ else if (name == "void") {
+ if (e.getTarget() == null) { // this check is for "void class="foo" method= ..."
+ e.setTarget(eval());
+ }
+ }
+ else if (name == "array") {
+ // The class attribute means sub-type for arrays.
+ String subtypeName = (String)attributes.get("class");
+ Class subtype = (subtypeName == null) ? Object.class : classForName2(subtypeName);
+ String length = (String)attributes.get("length");
+ if (length != null) {
+ e.setTarget(java.lang.reflect.Array.class);
+ e.addArg(subtype);
+ e.addArg(new Integer(length));
+ }
+ else {
+ Class arrayClass = java.lang.reflect.Array.newInstance(subtype, 0).getClass();
+ e.setTarget(arrayClass);
+ }
+ }
+ else if (name == "java") {
+ e.setValue(is); // The outermost scope is the stream itself.
+ }
+ else if (name == "object") {
+ }
+ else {
+ simulateException("Unrecognized opening tag: " + name + " " + attrsToString(attrs));
+ return;
+ }
+
+ // ids
+ String idName = (String)attributes.get("id");
+ if (idName != null) {
+ environment.put(idName, e);
+ }
+
+ // idrefs
+ String idrefName = (String)attributes.get("idref");
+ if (idrefName != null) {
+ e.setValue(lookup(idrefName));
+ }
+
+ // fields
+ String fieldName = (String)attributes.get("field");
+ if (fieldName != null) {
+ e.setValue(getFieldValue(e.getTarget(), fieldName));
+ }
+ expStack.add(e);
+ }
+
+ private Object getFieldValue(Object target, String fieldName) {
+ try {
+ Class type = target.getClass();
+ if (type == Class.class) {
+ type = (Class)target;
+ }
+ java.lang.reflect.Field f = sun.reflect.misc.FieldUtil.getField(type, fieldName);
+ return f.get(target);
+ }
+ catch (Exception e) {
+ if (is != null) {
+ is.getExceptionListener().exceptionThrown(e);
+ }
+ return null;
+ }
+ }
+
+ private String attrsToString(AttributeList attrs) {
+ StringBuffer b = new StringBuffer();
+ for (int i = 0; i < attrs.getLength (); i++) {
+ b.append(attrs.getName(i)+"=\""+attrs.getValue(i)+"\" ");
+ }
+ return b.toString();
+ }
+
+ public void characters(char buf [], int offset, int len) throws SAXException {
+ chars.append(new String(buf, offset, len));
+ }
+
+ private void parseCharCode(String name, Map map) {
+ if (name == "char") {
+ String value = (String) map.get("code");
+ if (value != null) {
+ int code = Integer.decode(value);
+ for (char ch : Character.toChars(code)) {
+ this.chars.append(ch);
+ }
+ }
+ }
+ }
+
+ public Object lookup(String s) {
+ Expression e = (Expression)environment.get(s);
+ if (e == null) {
+ simulateException("Unbound variable: " + s);
+ }
+ return getValue(e);
+ }
+
+ public void register(String id, Object value) {
+ Expression e = new MutableExpression();
+ e.setValue(value);
+ environment.put(id, e);
+ }
+
+ public void endElement(String name) throws SAXException {
+ name = name.intern(); // Xerces parser does not supply unique tag names.
+ if (name == "string") {
+ this.isString = false;
+ } else if (this.isString) {
+ return;
+ }
+ if (name == "java") {
+ return;
+ }
+ if (isPrimitive(name) || name == "string" || name == "class") {
+ addArg(chars.toString());
+ }
+ if (name == "object" || name == "array" || name == "void" ||
+ isPrimitive(name) || name == "string" || name == "class" ||
+ name == "null") {
+ Expression e = (Expression)pop(expStack);
+ Object value = getValue(e);
+ if (name != "void") {
+ addArg(value);
+ }
+ }
+ else {
+ simulateException("Unrecognized closing tag: " + name);
+ }
+ }
+}
+
+
+class MutableExpression extends Expression {
+ private Object target;
+ private String methodName;
+
+ private Object property;
+ private Vector argV = new Vector();
+
+ private String capitalize(String propertyName) {
+ if (propertyName.length() == 0) {
+ return propertyName;
+ }
+ return propertyName.substring(0, 1).toUpperCase(ENGLISH) + propertyName.substring(1);
+ }
+
+ public MutableExpression() {
+ super(null, null, null);
+ }
+
+ public Object[] getArguments() {
+ return argV.toArray();
+ }
+
+ public String getMethodName() {
+ if (property == null) {
+ return methodName;
+ }
+ int setterArgs = (property instanceof String) ? 1 : 2;
+ String methodName = (argV.size() == setterArgs) ? "set" : "get";
+ if (property instanceof String) {
+ return methodName + capitalize((String)property);
+ }
+ else {
+ return methodName;
+ }
+ }
+
+ public void addArg(Object arg) {
+ argV.add(arg);
+ }
+
+ public void setTarget(Object target) {
+ this.target = target;
+ }
+
+ public Object getTarget() {
+ return target;
+ }
+
+ public void setMethodName(String methodName) {
+ this.methodName = methodName;
+ }
+
+ public void setProperty(Object property) {
+ this.property = property;
+ }
+
+ public void setValue(Object value) {
+ super.setValue(value);
+ }
+
+ public Object getValue() throws Exception {
+ return super.getValue();
+ }
+}
Added: trunk/core/src/openjdk/com/com/sun/beans/finder/ClassFinder.java
===================================================================
--- trunk/core/src/openjdk/com/com/sun/beans/finder/ClassFinder.java (rev 0)
+++ trunk/core/src/openjdk/com/com/sun/beans/finder/ClassFinder.java 2007-06-25 07:22:33 UTC (rev 3298)
@@ -0,0 +1,176 @@
+/*
+ * Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+package com.sun.beans.finder;
+
+/**
+ * This is utility class that provides <code>static</code> methods
+ * to find a class with the specified name using the specified class loader.
+ *
+ * @since 1.7
+ *
+ * @version 1.8 05/05/07
+ * @author Sergey A. Malenkov
+ */
+public final class ClassFinder {
+ /**
+ * Returns the <code>Class</code> object associated
+ * with the class or interface with the given string name,
+ * using the default class loader.
+ * <p>
+ * The <code>name</code> can denote an array class
+ * (see {@link Class#getName} for details).
+ *
+ * @param name fully qualified name of the desired class
+ * @return class object representing the desired class
+ *
+ * @exception ClassNotFoundException if the class cannot be located
+ * by the specified class loader
+ *
+ * @see Class#forName(String)
+ * @see Class#forName(String,boolean,ClassLoader)
+ * @see ClassLoader#getSystemClassLoader()
+ * @see Thread#getContextClassLoader()
+ */
+ public static Class findClass( String name ) throws ClassNotFoundException {
+ try {
+ ClassLoader loader = Thread.currentThread().getContextClassLoader();
+ if ( loader == null ) {
+ // can be null in IE (see 6204697)
+ loader = ClassLoader.getSystemClassLoader();
+ }
+ if ( loader != null ) {
+ return Class.forName( name, false, loader );
+ }
+
+ } catch ( ClassNotFoundException exception ) {
+ // use current class loader instead
+ } catch ( SecurityException exception ) {
+ // use current class loader instead
+ }
+ return Class.forName( name );
+ }
+
+ /**
+ * Returns the <code>Class</code> object associated with
+ * the class or interface with the given string name,
+ * using the given class loader.
+ * <p>
+ * The <code>name</code> can denote an array class
+ * (see {@link Class#getName} for details).
+ * <p>
+ * If the parameter <code>loader</code> is null,
+ * the class is loaded through the default class loader.
+ *
+ * @param name fully qualified name of the desired class
+ * @param loader class loader from which the class must be loaded
+ * @return class object representing the desired class
+ *
+ * @exception ClassNotFoundException if the class cannot be located
+ * by the specified class loader
+ *
+ * @see #findClass(String,ClassLoader)
+ * @see Class#forName(String,boolean,ClassLoader)
+ */
+ public static Class findClass( String name, ClassLoader loader ) throws ClassNotFoundException {
+ if ( loader != null ) {
+ try {
+ return Class.forName( name, false, loader );
+ } catch ( ClassNotFoundException exception ) {
+ // use default class loader instead
+ } catch ( SecurityException exception ) {
+ // use default class loader instead
+ }
+ }
+ return findClass( name );
+ }
+
+ /**
+ * Returns the <code>Class</code> object associated
+ * with the class or interface with the given string name,
+ * using the default class loader.
+ * <p>
+ * The <code>name</code> can denote an array class
+ * (see {@link Class#getName} for details).
+ * <p>
+ * This method can be used to obtain
+ * any of the <code>Class</code> objects
+ * representing <code>void</code> or primitive Java types:
+ * <code>char</code>, <code>byte</code>, <code>short</code>,
+ * <code>int</code>, <code>long</code>, <code>float</code>,
+ * <code>double</code> and <code>boolean</code>.
+ *
+ * @param name fully qualified name of the desired class
+ * @return class object representing the desired class
+ *
+ * @exception ClassNotFoundException if the class cannot be located
+ * by the specified class loader
+ *
+ * @see #resolveClass(String,ClassLoader)
+ */
+ public static Class resolveClass( String name ) throws ClassNotFoundException {
+ return resolveClass( name, null );
+ }
+
+ /**
+ * Returns the <code>Class</code> object associated with
+ * the class or interface with the given string name,
+ * using the given class loader.
+ * <p>
+ * The <code>name</code> can denote an array class
+ * (see {@link Class#getName} for details).
+ * <p>
+ * If the parameter <code>loader</code> is null,
+ * the class is loaded through the default class loader.
+ * <p>
+ * This method can be used to obtain
+ * any of the <code>Class</code> objects
+ * representing <code>void</code> or primitive Java types:
+ * <code>char</code>, <code>byte</code>, <code>short</code>,
+ * <code>int</code>, <code>long</code>, <code>float</code>,
+ * <code>double</code> and <code>boolean</code>.
+ *
+ * @param name fully qualified name of the desired class
+ * @param loader class loader from which the class must be loaded
+ * @return class object representing the desired class
+ *
+ * @exception ClassNotFoundException if the class cannot be located
+ * by the specified class loader
+ *
+ * @see #findClass(String,ClassLoader)
+ * @see PrimitiveTypeMap#getType(String)
+ */
+ public static Class resolveClass( String name, ClassLoader loader ) throws ClassNotFoundException {
+ Class type = PrimitiveTypeMap.getType( name );
+ return ( type == null )
+ ? findClass( name, loader )
+ : type;
+ }
+
+ /**
+ * Disable instantiation.
+ */
+ private ClassFinder() {
+ }
+}
Added: trunk/core/src/openjdk/com/com/sun/beans/finder/PrimitiveTypeMap.java
===================================================================
--- trunk/core/src/openjdk/com/com/sun/beans/finder/PrimitiveTypeMap.java (rev 0)
+++ trunk/core/src/openjdk/com/com/sun/beans/finder/PrimitiveTypeMap.java 2007-06-25 07:22:33 UTC (rev 3298)
@@ -0,0 +1,70 @@
+/*
+ * Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+package com.sun.beans.finder;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * This utility class associates
+ * name of primitive type with appropriate class.
+ *
+ * @since 1.7
+ *
+ * @version 1.7 05/05/07
+ * @author Sergey A. Malenkov
+ */
+final class PrimitiveTypeMap {
+ /**
+ * Returns primitive type class by its name.
+ *
+ * @param name the name of primitive type
+ * @return found primitive type class,
+ * or <code>null</code> if not found
+ */
+ static Class getType( String name ) {
+ return map.get( name );
+ }
+
+ private static final Map<String, Class> map = new HashMap<String, Class>( 9 );
+
+ static {
+ map.put( boolean.class.getName(), boolean.class );
+ map.put( char.class.getName(), char.class );
+ map.put( byte.class.getName(), byte.class );
+ map.put( short.class.getName(), short.class );
+ map.put( int.class.getName(), int.class );
+ map.put( long.class.getName(), long.class );
+ map.put( float.class.getName(), float.class );
+ map.put( double.class.getName(), double.class );
+ map.put( void.class.getName(), void.class );
+ }
+
+ /**
+ * Disable instantiation.
+ */
+ private PrimitiveTypeMap() {
+ }
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ls...@us...> - 2007-06-25 07:24:47
|
Revision: 3299
http://jnode.svn.sourceforge.net/jnode/?rev=3299&view=rev
Author: lsantha
Date: 2007-06-25 00:24:46 -0700 (Mon, 25 Jun 2007)
Log Message:
-----------
Openjdk integration.
Added Paths:
-----------
trunk/core/src/openjdk/com/com/sun/codemodel/
trunk/core/src/openjdk/com/com/sun/codemodel/internal/
trunk/core/src/openjdk/com/com/sun/codemodel/internal/ClassType.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/CodeWriter.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JAnnotatable.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JAnnotationArrayMember.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JAnnotationStringValue.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JAnnotationUse.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JAnnotationValue.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JAnnotationWriter.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JAnonymousClass.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JArray.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JArrayClass.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JArrayCompRef.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JAssignment.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JAssignmentTarget.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JAtom.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JBlock.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JBreak.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JCase.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JCast.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JCatchBlock.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JClass.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JClassAlreadyExistsException.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JClassContainer.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JCodeModel.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JCommentPart.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JConditional.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JContinue.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JDeclaration.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JDefinedClass.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JDirectClass.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JDoLoop.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JDocComment.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JEnumConstant.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JExpr.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JExpression.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JExpressionImpl.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JFieldRef.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JFieldVar.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JForEach.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JForLoop.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JFormatter.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JGenerable.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JGenerifiable.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JGenerifiableImpl.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JInvocation.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JJavaName.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JLabel.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JMethod.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JMod.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JMods.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JNarrowedClass.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JNullType.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JOp.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JPackage.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JPrimitiveType.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JResourceFile.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JReturn.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JStatement.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JStringLiteral.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JSwitch.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JThrow.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JTryBlock.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JType.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JTypeVar.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JTypeWildcard.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JVar.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/JWhileLoop.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/TypedAnnotationWriter.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/fmt/
trunk/core/src/openjdk/com/com/sun/codemodel/internal/fmt/JBinaryFile.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/fmt/JPropertyFile.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/fmt/JSerializedObject.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/fmt/JStaticFile.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/fmt/JStaticJavaFile.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/fmt/JTextFile.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/fmt/package.html
trunk/core/src/openjdk/com/com/sun/codemodel/internal/package-info.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/util/
trunk/core/src/openjdk/com/com/sun/codemodel/internal/util/ClassNameComparator.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/util/EncoderFactory.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/util/JavadocEscapeWriter.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/util/MS1252Encoder.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/util/SingleByteEncoder.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/util/Surrogate.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/util/UnicodeEscapeWriter.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/writer/
trunk/core/src/openjdk/com/com/sun/codemodel/internal/writer/FileCodeWriter.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/writer/FilterCodeWriter.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/writer/ProgressCodeWriter.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/writer/PrologCodeWriter.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/writer/SingleStreamCodeWriter.java
trunk/core/src/openjdk/com/com/sun/codemodel/internal/writer/ZipCodeWriter.java
Added: trunk/core/src/openjdk/com/com/sun/codemodel/internal/ClassType.java
===================================================================
--- trunk/core/src/openjdk/com/com/sun/codemodel/internal/ClassType.java (rev 0)
+++ trunk/core/src/openjdk/com/com/sun/codemodel/internal/ClassType.java 2007-06-25 07:24:46 UTC (rev 3299)
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package com.sun.codemodel.internal;
+/**
+ * This helps enable whether the JDefinedClass is a Class or Interface or
+ * AnnotationTypeDeclaration or Enum
+ *
+ * @author
+ * Bhakti Mehta (bha...@su...)
+ */
+public final class ClassType {
+
+ /**
+ * The keyword used to declare this type.
+ */
+ final String declarationToken;
+
+ private ClassType(String token) {
+ this.declarationToken = token;
+ }
+
+ public static final ClassType CLASS = new ClassType("class");
+ public static final ClassType INTERFACE = new ClassType("interface");
+ public static final ClassType ANNOTATION_TYPE_DECL = new ClassType("@interface");
+ public static final ClassType ENUM = new ClassType("enum");
+}
Added: trunk/core/src/openjdk/com/com/sun/codemodel/internal/CodeWriter.java
===================================================================
--- trunk/core/src/openjdk/com/com/sun/codemodel/internal/CodeWriter.java (rev 0)
+++ trunk/core/src/openjdk/com/com/sun/codemodel/internal/CodeWriter.java 2007-06-25 07:24:46 UTC (rev 3299)
@@ -0,0 +1,104 @@
+/*
+ * Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package com.sun.codemodel.internal;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.io.Writer;
+import java.nio.charset.CharsetEncoder;
+
+import com.sun.codemodel.internal.util.EncoderFactory;
+import com.sun.codemodel.internal.util.UnicodeEscapeWriter;
+
+/**
+ * Receives generated code and writes to the appropriate storage.
+ *
+ * @author
+ * Kohsuke Kawaguchi (koh...@su...)
+ */
+public abstract class CodeWriter {
+
+ /**
+ * Called by CodeModel to store the specified file.
+ * The callee must allocate a storage to store the specified file.
+ *
+ * <p>
+ * The returned stream will be closed before the next file is
+ * stored. So the callee can assume that only one OutputStream
+ * is active at any given time.
+ *
+ * @param pkg
+ * The package of the file to be written.
+ * @param fileName
+ * File name without the path. Something like
+ * "Foo.java" or "Bar.properties"
+ */
+ public abstract OutputStream openBinary( JPackage pkg, String fileName ) throws IOException;
+
+ /**
+ * Called by CodeModel to store the specified file.
+ * The callee must allocate a storage to store the specified file.
+ *
+ * <p>
+ * The returned stream will be closed before the next file is
+ * stored. So the callee can assume that only one OutputStream
+ * is active at any given time.
+ *
+ * @param pkg
+ * The package of the file to be written.
+ * @param fileName
+ * File name without the path. Something like
+ * "Foo.java" or "Bar.properties"
+ */
+ public Writer openSource( JPackage pkg, String fileName ) throws IOException {
+ final OutputStreamWriter bw = new OutputStreamWriter(openBinary(pkg,fileName));
+
+ // create writer
+ try {
+ return new UnicodeEscapeWriter(bw) {
+ // can't change this signature to Encoder because
+ // we can't have Encoder in method signature
+ private final CharsetEncoder encoder = EncoderFactory.createEncoder(bw.getEncoding());
+ protected boolean requireEscaping(int ch) {
+ // control characters
+ if( ch<0x20 && " \t\r\n".indexOf(ch)==-1 ) return true;
+ // check ASCII chars, for better performance
+ if( ch<0x80 ) return false;
+
+ return !encoder.canEncode((char)ch);
+ }
+ };
+ } catch( Throwable t ) {
+ return new UnicodeEscapeWriter(bw);
+ }
+ }
+
+ /**
+ * Called by CodeModel at the end of the process.
+ */
+ public abstract void close() throws IOException;
+}
Added: trunk/core/src/openjdk/com/com/sun/codemodel/internal/JAnnotatable.java
===================================================================
--- trunk/core/src/openjdk/com/com/sun/codemodel/internal/JAnnotatable.java (rev 0)
+++ trunk/core/src/openjdk/com/com/sun/codemodel/internal/JAnnotatable.java 2007-06-25 07:24:46 UTC (rev 3299)
@@ -0,0 +1,56 @@
+/*
+ * Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package com.sun.codemodel.internal;
+
+import java.lang.annotation.Annotation;
+
+/**
+ * Annotatable program elements.
+ *
+ * @author Kohsuke Kawaguchi
+ */
+public interface JAnnotatable {
+ /**
+ * Adds an annotation to this program element.
+ * @param clazz
+ * The annotation class to annotate the program element with
+ */
+ JAnnotationUse annotate(JClass clazz);
+
+ /**
+ * Adds an annotation to this program element.
+ *
+ * @param clazz
+ * The annotation class to annotate the program element with
+ */
+ JAnnotationUse annotate(Class <? extends Annotation> clazz);
+
+ /**
+ * Adds an annotation to this program element
+ * and returns a type-safe writer to fill in the values of such annotations.
+ */
+ <W extends JAnnotationWriter> W annotate2(Class<W> clazz);
+}
Added: trunk/core/src/openjdk/com/com/sun/codemodel/internal/JAnnotationArrayMember.java
===================================================================
--- trunk/core/src/openjdk/com/com/sun/codemodel/internal/JAnnotationArrayMember.java (rev 0)
+++ trunk/core/src/openjdk/com/com/sun/codemodel/internal/JAnnotationArrayMember.java 2007-06-25 07:24:46 UTC (rev 3299)
@@ -0,0 +1,159 @@
+/*
+ * Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package com.sun.codemodel.internal;
+
+
+import java.lang.annotation.Annotation;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Represents an arrays as annotation members
+ *
+ * <p>
+ * This class implements {@link JAnnotatable} to allow
+ * new annotations to be added as a member of the array.
+ *
+ * @author
+ * Bhakti Mehta (bha...@su...)
+ */
+public final class JAnnotationArrayMember extends JAnnotationValue implements JAnnotatable {
+ private final List<JAnnotationValue> values = new ArrayList<JAnnotationValue>();
+ private final JCodeModel owner;
+
+ JAnnotationArrayMember(JCodeModel owner) {
+ this.owner = owner;
+ }
+
+ /**
+ * Adds an array member to this annotation
+ *
+ * @param value Adds a string value to the array member
+ * @return The JAnnotationArrayMember. More elements can be added by calling
+ * the same method multiple times
+ */
+ public JAnnotationArrayMember param(String value) {
+ JAnnotationValue annotationValue = new JAnnotationStringValue(JExpr.lit(value));
+ values.add(annotationValue);
+ return this;
+ }
+
+ public JAnnotationArrayMember param(boolean value) {
+ JAnnotationValue annotationValue = new JAnnotationStringValue(JExpr.lit(value));
+ values.add(annotationValue);
+ return this;
+ }
+
+ /**
+ * Adds an array member to this annotation
+ *
+ * @param value Adds an int value to the array member
+ * @return The JAnnotationArrayMember. More elements can be added by calling
+ * the same method multiple times
+ */
+ public JAnnotationArrayMember param(int value) {
+ JAnnotationValue annotationValue = new JAnnotationStringValue(JExpr.lit(value));
+ values.add(annotationValue);
+ return this;
+ }
+
+ /**
+ * Adds an array member to this annotation
+ *
+ * @param value Adds a float value to the array member
+ * @return The JAnnotationArrayMember. More elements can be added by calling
+ * the same method multiple times
+ */
+ public JAnnotationArrayMember param(float value) {
+ JAnnotationValue annotationValue = new JAnnotationStringValue(JExpr.lit(value));
+ values.add(annotationValue);
+ return this;
+ }
+
+ public JAnnotationArrayMember param(Class value){
+ JAnnotationValue annotationValue = new JAnnotationStringValue(JExpr.lit(value.getName()));
+ values.add(annotationValue);
+ return this;
+ }
+
+ public JAnnotationArrayMember param(JType type){
+ JClass clazz = type.boxify();
+ JAnnotationValue annotationValue = new JAnnotationStringValue ( clazz.dotclass() );
+ values.add(annotationValue);
+ return this;
+ }
+
+ /**
+ * Adds a new annotation to the array.
+ */
+ public JAnnotationUse annotate(Class<? extends Annotation> clazz){
+ return annotate(owner.ref(clazz));
+ }
+
+ /**
+ * Adds a new annotation to the array.
+ */
+ public JAnnotationUse annotate(JClass clazz){
+ JAnnotationUse a = new JAnnotationUse(clazz);
+ values.add(a);
+ return a;
+ }
+
+ public <W extends JAnnotationWriter> W annotate2(Class<W> clazz) {
+ return TypedAnnotationWriter.create(clazz,this);
+ }
+
+ /**
+ * Adds an annotation member to this annotation array
+ * This can be used for e.g @XmlCollection(values= @XmlCollectionItem(type=Foo.class))
+ * @param value
+ * Adds a annotation to the array member
+ * @return
+ * The JAnnotationArrayMember. More elements can be added by calling
+ * the same method multiple times
+ *
+ * @deprecated
+ * use {@link #annotate}
+ */
+ public JAnnotationArrayMember param (JAnnotationUse value ){
+ values.add(value);
+ return this;
+ }
+
+ public void generate(JFormatter f) {
+ f.p('{').nl().i();
+
+ boolean first = true;
+ for (JAnnotationValue aValue : values) {
+ if (!first)
+ f.p(',').nl();
+ f.g(aValue);
+ first = false;
+ }
+ f.nl().o().p('}');
+ }
+}
+
Added: trunk/core/src/openjdk/com/com/sun/codemodel/internal/JAnnotationStringValue.java
===================================================================
--- trunk/core/src/openjdk/com/com/sun/codemodel/internal/JAnnotationStringValue.java (rev 0)
+++ trunk/core/src/openjdk/com/com/sun/codemodel/internal/JAnnotationStringValue.java 2007-06-25 07:24:46 UTC (rev 3299)
@@ -0,0 +1,50 @@
+/*
+ * Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package com.sun.codemodel.internal;
+
+
+
+/**
+ * Captures the value of the annotation.
+ *
+ * @author
+ * Bhakti Mehta (bha...@su...)
+ */
+final class JAnnotationStringValue extends JAnnotationValue {
+
+ /**
+ * The value of the Annotation member
+ */
+ private final JExpression value;
+
+ JAnnotationStringValue(JExpression value) {
+ this.value = value;
+ }
+
+ public void generate(JFormatter f) {
+ f.g(value);
+ }
+}
Added: trunk/core/src/openjdk/com/com/sun/codemodel/internal/JAnnotationUse.java
===================================================================
--- trunk/core/src/openjdk/com/com/sun/codemodel/internal/JAnnotationUse.java (rev 0)
+++ trunk/core/src/openjdk/com/com/sun/codemodel/internal/JAnnotationUse.java 2007-06-25 07:24:46 UTC (rev 3299)
@@ -0,0 +1,293 @@
+/*
+ * Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package com.sun.codemodel.internal;
+
+
+import java.lang.annotation.Annotation;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+/**
+ * Represents an annotation on a program element.
+ *
+ * TODO
+ * How to add enums to the annotations
+ * @author
+ * Bhakti Mehta (bha...@su...)
+ */
+public final class JAnnotationUse extends JAnnotationValue {
+
+ /**
+ * The {@link Annotation} class
+ */
+ private final JClass clazz;
+
+ /**
+ * Map of member values.
+ */
+ private Map<String,JAnnotationValue> memberValues;
+
+ JAnnotationUse(JClass clazz){
+ this.clazz = clazz;
+ }
+
+ private JCodeModel owner() {
+ return clazz.owner();
+ }
+
+ private void addValue(String name, JAnnotationValue annotationValue) {
+ // Use ordered map to keep the code generation the same on any JVM.
+ // Lazily created.
+ if(memberValues==null)
+ memberValues = new LinkedHashMap<String, JAnnotationValue>();
+ memberValues.put(name,annotationValue);
+ }
+
+ /**
+ * Adds a member value pair to this annotation
+ *
+ * @param name
+ * The simple name for this annotation
+ *
+ * @param value
+ * The boolean value for this annotation
+ * @return
+ * The JAnnotationUse. More member value pairs can
+ * be added to it using the same or the overloaded methods.
+ *
+ */
+ public JAnnotationUse param(String name, boolean value){
+ addValue(name, new JAnnotationStringValue(JExpr.lit(value)));
+ return this;
+ }
+
+ /**
+ * Adds a member value pair to this annotation
+ * @param name
+ * The simple name for this annotation
+ *
+ * @param value
+ * The int member value for this annotation
+ * @return
+ * The JAnnotationUse. More member value pairs can
+ * be added to it using the same or the overloaded methods.
+ *
+ */
+ public JAnnotationUse param(String name, int value){
+ addValue(name, new JAnnotationStringValue(JExpr.lit(value)));
+ return this;
+ }
+
+ /**
+ * Adds a member value pair to this annotation
+ * @param name
+ * The simple name for this annotation
+ *
+ * @param value
+ * The String member value for this annotation
+ * @return
+ * The JAnnotationUse. More member value pairs can
+ * be added to it using the same or the overloaded methods.
+ *
+ */
+ public JAnnotationUse param(String name, String value){
+ //Escape string values with quotes so that they can
+ //be generated accordingly
+ addValue(name, new JAnnotationStringValue(JExpr.lit(value)));
+ return this;
+ }
+
+ /**
+ * Adds a member value pair to this annotation
+ * For adding class values as param
+ * @see #param(String, Class)
+ * @param name
+ * The simple name for this annotation
+ *
+ * @param value
+ * The annotation class which is member value for this annotation
+ * @return
+ * The JAnnotationUse. More member value pairs can
+ * be added to it using the same or the overloaded methods.
+ *
+ */
+ public JAnnotationUse annotationParam(String name, Class<? extends Annotation> value) {
+ JAnnotationUse annotationUse = new JAnnotationUse(owner().ref(value));
+ addValue(name, annotationUse);
+ return annotationUse;
+ }
+
+ /**
+ * Adds a member value pair to this annotation
+ * @param name
+ * The simple name for this annotation
+ *
+ * @param value
+ * The enum class which is member value for this annotation
+ * @return
+ * The JAnnotationUse. More member value pairs can
+ * be added to it using the same or the overloaded methods.
+ *
+ */
+ public JAnnotationUse param(String name, final Enum value) {
+ addValue(name, new JAnnotationValue() {
+ public vo...
[truncated message content] |
|
From: <ls...@us...> - 2007-06-25 07:44:51
|
Revision: 3301
http://jnode.svn.sourceforge.net/jnode/?rev=3301&view=rev
Author: lsantha
Date: 2007-06-25 00:44:50 -0700 (Mon, 25 Jun 2007)
Log Message:
-----------
Openjdk integration.
Added Paths:
-----------
trunk/core/src/openjdk/com/com/sun/imageio/
trunk/core/src/openjdk/com/com/sun/imageio/metadata/
trunk/core/src/openjdk/com/com/sun/imageio/metadata/XmlChars.java
trunk/core/src/openjdk/com/com/sun/imageio/metadata/XmlNames.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/
trunk/core/src/openjdk/com/com/sun/imageio/plugins/bmp/
trunk/core/src/openjdk/com/com/sun/imageio/plugins/bmp/BMPConstants.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/bmp/BMPImageReader.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/bmp/BMPImageReaderSpi.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/bmp/BMPImageWriter.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/bmp/BMPImageWriterSpi.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/bmp/BMPMetadata.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/bmp/BMPMetadataFormat.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/bmp/BMPMetadataFormatResources.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/common/
trunk/core/src/openjdk/com/com/sun/imageio/plugins/common/BitFile.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/common/BogusColorSpace.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/common/I18N.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/common/I18NImpl.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/common/ImageUtil.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/common/InputStreamAdapter.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/common/LZWCompressor.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/common/LZWStringTable.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/common/PaletteBuilder.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/common/ReaderUtil.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/common/StandardMetadataFormat.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/common/StandardMetadataFormatResources.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/common/SubImageInputStream.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/common/iio-plugin.properties
trunk/core/src/openjdk/com/com/sun/imageio/plugins/gif/
trunk/core/src/openjdk/com/com/sun/imageio/plugins/gif/GIFImageMetadata.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/gif/GIFImageMetadataFormat.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/gif/GIFImageMetadataFormatResources.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/gif/GIFImageReader.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/gif/GIFImageReaderSpi.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/gif/GIFImageWriter.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/gif/GIFImageWriterSpi.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/gif/GIFMetadata.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/gif/GIFStreamMetadata.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/gif/GIFStreamMetadataFormat.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/gif/GIFStreamMetadataFormatResources.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/gif/GIFWritableImageMetadata.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/gif/GIFWritableStreamMetadata.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/png/
trunk/core/src/openjdk/com/com/sun/imageio/plugins/png/PNGImageReader.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/png/PNGImageReaderSpi.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/png/PNGImageWriter.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/png/PNGImageWriterSpi.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/png/PNGMetadata.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/png/PNGMetadataFormat.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/png/PNGMetadataFormatResources.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/png/RowFilter.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/wbmp/
trunk/core/src/openjdk/com/com/sun/imageio/plugins/wbmp/WBMPImageReader.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/wbmp/WBMPImageReaderSpi.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/wbmp/WBMPImageWriter.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/wbmp/WBMPImageWriterSpi.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/wbmp/WBMPMetadata.java
trunk/core/src/openjdk/com/com/sun/imageio/plugins/wbmp/WBMPMetadataFormat.java
trunk/core/src/openjdk/com/com/sun/imageio/spi/
trunk/core/src/openjdk/com/com/sun/imageio/spi/FileImageInputStreamSpi.java
trunk/core/src/openjdk/com/com/sun/imageio/spi/FileImageOutputStreamSpi.java
trunk/core/src/openjdk/com/com/sun/imageio/spi/InputStreamImageInputStreamSpi.java
trunk/core/src/openjdk/com/com/sun/imageio/spi/OutputStreamImageOutputStreamSpi.java
trunk/core/src/openjdk/com/com/sun/imageio/spi/RAFImageInputStreamSpi.java
trunk/core/src/openjdk/com/com/sun/imageio/spi/RAFImageOutputStreamSpi.java
Added: trunk/core/src/openjdk/com/com/sun/imageio/metadata/XmlChars.java
===================================================================
--- trunk/core/src/openjdk/com/com/sun/imageio/metadata/XmlChars.java (rev 0)
+++ trunk/core/src/openjdk/com/com/sun/imageio/metadata/XmlChars.java 2007-06-25 07:44:50 UTC (rev 3301)
@@ -0,0 +1,431 @@
+/*
+ * reserved comment block
+ * DO NOT REMOVE OR ALTER!
+ */
+/*
+ * $Id: XmlChars.java,v 1.1.1.1 2000/11/23 01:53:35 edwingo Exp $
+ *
+ * The Apache Software License, Version 1.1
+ *
+ *
+ * Copyright (c) 2000 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ * if any, must include the following acknowledgment:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowledgment may appear in the software itself,
+ * if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Crimson" and "Apache Software Foundation" must
+ * not be used to endorse or promote products derived from this
+ * software without prior written permission. For written
+ * permission, please contact ap...@ap....
+ *
+ * 5. Products derived from this software may not be called "Apache",
+ * nor may "Apache" appear in their name, without prior written
+ * permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * 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, Sun Microsystems, Inc.,
+ * http://www.sun.com. For more information on the Apache Software
+ * Foundation, please see <http://www.apache.org/>.
+ */
+
+package com.sun.imageio.metadata;
+
+
+/**
+ * Methods in this class are used to determine whether characters may
+ * appear in certain roles in XML documents. Such methods are used
+ * both to parse and to create such documents.
+ *
+ * @version 1.8
+ * @author David Brownell
+ */
+public class XmlChars
+{
+ // can't construct instances
+ private XmlChars () { }
+
+ /**
+ * Returns true if the argument, a UCS-4 character code, is valid in
+ * XML documents. Unicode characters fit into the low sixteen
+ * bits of a UCS-4 character, and pairs of Unicode <em>surrogate
+ * characters</em> can be combined to encode UCS-4 characters in
+ * documents containing only Unicode. (The <code>char</code> datatype
+ * in the Java Programming Language represents Unicode characters,
+ * including unpaired surrogates.)
+ *
+ * <P> In XML, UCS-4 characters can also be encoded by the use of
+ * <em>character references</em> such as <b>&#x12345678;</b>, which
+ * happens to refer to a character that is disallowed in XML documents.
+ * UCS-4 characters allowed in XML documents can be expressed with
+ * one or two Unicode characters.
+ *
+ * @param ucs4char The 32-bit UCS-4 character being tested.
+ */
+ static public boolean isChar (int ucs4char)
+ {
+ // [2] Char ::= #x0009 | #x000A | #x000D
+ // | [#x0020-#xD7FF]
+ // ... surrogates excluded!
+ // | [#xE000-#xFFFD]
+ // | [#x10000-#x10ffff]
+ return ((ucs4char >= 0x0020 && ucs4char <= 0xD7FF)
+ || ucs4char == 0x000A || ucs4char == 0x0009
+ || ucs4char == 0x000D
+ || (ucs4char >= 0xE000 && ucs4char <= 0xFFFD)
+ || (ucs4char >= 0x10000 && ucs4char <= 0x10ffff));
+ }
+
+ /**
+ * Returns true if the character is allowed to be a non-initial
+ * character in names according to the XML recommendation.
+ * @see #isNCNameChar
+ * @see #isLetter
+ */
+ public static boolean isNameChar (char c)
+ {
+ // [4] NameChar ::= Letter | Digit | '.' | '_' | ':'
+ // | CombiningChar | Extender
+
+ if (isLetter2 (c))
+ return true;
+ else if (c == '>')
+ return false;
+ else if (c == '.' || c == '-' || c == '_' || c == ':'
+ || isExtender (c))
+ return true;
+ else
+ return false;
+ }
+
+ /**
+ * Returns true if the character is allowed to be a non-initial
+ * character in unscoped names according to the rules of the XML
+ * Namespaces proposed recommendation. Except for precluding
+ * the colon (used to separate names from their scopes) these
+ * characters are just as allowed by the XML recommendation.
+ * @see #isNameChar
+ * @see #isLetter
+ */
+ public static boolean isNCNameChar (char c)
+ {
+ // [NC 5] NCNameChar ::= Letter | Digit | '.' | '_'
+ // | CombiningChar | Extender
+ return c != ':' && isNameChar (c);
+ }
+
+ /**
+ * Returns true if the character is allowed where XML supports
+ * whitespace characters, false otherwise.
+ */
+ public static boolean isSpace (char c)
+ {
+ return c == ' ' || c == '\t' || c == '\n' || c == '\r';
+ }
+
+
+ /*
+ * NOTE: java.lang.Character.getType() values are:
+ *
+ * UNASSIGNED = 0,
+ *
+ * UPPERCASE_LETTER = 1, // Lu
+ * LOWERCASE_LETTER = 2, // Ll
+ * TITLECASE_LETTER = 3, // Lt
+ * MODIFIER_LETTER = 4, // Lm
+ * OTHER_LETTER = 5, // Lo
+ * NON_SPACING_MARK = 6, // Mn
+ * ENCLOSING_MARK = 7, // Me
+ * COMBINING_SPACING_MARK = 8, // Mc
+ * DECIMAL_DIGIT_NUMBER = 9, // Nd
+ * LETTER_NUMBER = 10, // Nl
+ * OTHER_NUMBER = 11, // No
+ * SPACE_SEPARATOR = 12, // Zs
+ * LINE_SEPARATOR = 13, // Zl
+ * PARAGRAPH_SEPARATOR = 14, // Zp
+ * CONTROL = 15, // Cc
+ * FORMAT = 16, // Cf
+ * // 17 reserved for proposed Ci category
+ * PRIVATE_USE = 18, // Co
+ * SURROGATE = 19, // Cs
+ * DASH_PUNCTUATION = 20, // Pd
+ * START_PUNCTUATION = 21, // Ps
+ * END_PUNCTUATION = 22, // Pe
+ * CONNECTOR_PUNCTUATION = 23, // Pc
+ * OTHER_PUNCTUATION = 24, // Po
+ * MATH_SYMBOL = 25, // Sm
+ * CURRENCY_SYMBOL = 26, // Sc
+ * MODIFIER_SYMBOL = 27, // Sk
+ * OTHER_SYMBOL = 28; // So
+ */
+
+ /**
+ * Returns true if the character is an XML "letter". XML Names must
+ * start with Letters or a few other characters, but other characters
+ * in names must only satisfy the <em>isNameChar</em> predicate.
+ *
+ * @see #isNameChar
+ * @see #isNCNameChar
+ */
+ public static boolean isLetter (char c)
+ {
+ // [84] Letter ::= BaseChar | Ideographic
+ // [85] BaseChar ::= ... too much to repeat
+ // [86] Ideographic ::= ... too much to repeat
+
+ //
+ // Optimize the typical case.
+ //
+ if (c >= 'a' && c <= 'z')
+ return true;
+ if (c == '/')
+ return false;
+ if (c >= 'A' && c <= 'Z')
+ return true;
+
+ //
+ // Since the tables are too ridiculous to use in code,
+ // we're using the footnotes here to drive this test.
+ //
+ switch (Character.getType (c)) {
+ // app. B footnote says these are 'name start'
+ // chars' ...
+ case Character.LOWERCASE_LETTER: // Ll
+ case Character.UPPERCASE_LETTER: // Lu
+ case Character.OTHER_LETTER: // Lo
+ case Character.TITLECASE_LETTER: // Lt
+ case Character.LETTER_NUMBER: // Nl
+
+ // OK, here we just have some exceptions to check...
+ return !isCompatibilityChar (c)
+ // per "5.14 of Unicode", rule out some combiners
+ && !(c >= 0x20dd && c <= 0x20e0);
+
+ default:
+ // check for some exceptions: these are "alphabetic"
+ return ((c >= 0x02bb && c <= 0x02c1)
+ || c == 0x0559 || c == 0x06e5 || c == 0x06e6);
+ }
+ }
+
+ //
+ // XML 1.0 discourages "compatibility" characters in names; these
+ // were defined to permit passing through some information stored in
+ // older non-Unicode character sets. These always have alternative
+ // representations in Unicode, e.g. using combining chars.
+ //
+ private static boolean isCompatibilityChar (char c)
+ {
+ // the numerous comparisions here seem unavoidable,
+ // but the switch can reduce the number which must
+ // actually be executed.
+
+ switch ((c >> 8) & 0x0ff) {
+ case 0x00:
+ // ISO Latin/1 has a few compatibility characters
+ return c == 0x00aa || c == 0x00b5 || c == 0x00ba;
+
+ case 0x01:
+ // as do Latin Extended A and (parts of) B
+ return (c >= 0x0132 && c <= 0x0133)
+ || (c >= 0x013f && c <= 0x0140)
+ || c == 0x0149
+ || c == 0x017f
+ || (c >= 0x01c4 && c <= 0x01cc)
+ || (c >= 0x01f1 && c <= 0x01f3) ;
+
+ case 0x02:
+ // some spacing modifiers
+ return (c >= 0x02b0 && c <= 0x02b8)
+ || (c >= 0x02e0 && c <= 0x02e4);
+
+ case 0x03:
+ return c == 0x037a; // Greek
+
+ case 0x05:
+ return c == 0x0587; // Armenian
+
+ case 0x0e:
+ return c >= 0x0edc && c <= 0x0edd; // Laotian
+
+ case 0x11:
+ // big chunks of Hangul Jamo are all "compatibility"
+ return c == 0x1101
+ || c == 0x1104
+ || c == 0x1108
+ || c == 0x110a
+ || c == 0x110d
+ || (c >= 0x1113 && c <= 0x113b)
+ || c == 0x113d
+ || c == 0x113f
+ || (c >= 0x1141 && c <= 0x114b)
+ || c == 0x114d
+ || c == 0x114f
+ || (c >= 0x1151 && c <= 0x1153)
+ || (c >= 0x1156 && c <= 0x1158)
+ || c == 0x1162
+ || c == 0x1164
+ || c == 0x1166
+ || c == 0x1168
+ || (c >= 0x116a && c <= 0x116c)
+ || (c >= 0x116f && c <= 0x1171)
+ || c == 0x1174
+ || (c >= 0x1176 && c <= 0x119d)
+ || (c >= 0x119f && c <= 0x11a2)
+ || (c >= 0x11a9 && c <= 0x11aa)
+ || (c >= 0x11ac && c <= 0x11ad)
+ || (c >= 0x11b0 && c <= 0x11b6)
+ || c == 0x11b9
+ || c == 0x11bb
+ || (c >= 0x11c3 && c <= 0x11ea)
+ || (c >= 0x11ec && c <= 0x11ef)
+ || (c >= 0x11f1 && c <= 0x11f8)
+ ;
+
+ case 0x20:
+ return c == 0x207f; // superscript
+
+ case 0x21:
+ return
+ // various letterlike symbols
+ c == 0x2102
+ || c == 0x2107
+ || (c >= 0x210a && c <= 0x2113)
+ || c == 0x2115
+ || (c >= 0x2118 && c <= 0x211d)
+ || c == 0x2124
+ || c == 0x2128
+ || (c >= 0x212c && c <= 0x212d)
+ || (c >= 0x212f && c <= 0x2138)
+
+ // most Roman numerals (less 1K, 5K, 10K)
+ || (c >= 0x2160 && c <= 0x217f)
+ ;
+
+ case 0x30:
+ // some Hiragana
+ return c >= 0x309b && c <= 0x309c;
+
+ case 0x31:
+ // all Hangul Compatibility Jamo
+ return c >= 0x3131 && c <= 0x318e;
+
+ case 0xf9:
+ case 0xfa:
+ case 0xfb:
+ case 0xfc:
+ case 0xfd:
+ case 0xfe:
+ case 0xff:
+ // the whole "compatibility" area is for that purpose!
+ return true;
+
+ default:
+ // most of Unicode isn't flagged as being for compatibility
+ return false;
+ }
+ }
+
+ // guts of isNameChar/isNCNameChar
+ private static boolean isLetter2 (char c)
+ {
+ // [84] Letter ::= BaseChar | Ideographic
+ // [85] BaseChar ::= ... too much to repeat
+ // [86] Ideographic ::= ... too much to repeat
+ // [87] CombiningChar ::= ... too much to repeat
+
+ //
+ // Optimize the typical case.
+ //
+ if (c >= 'a' && c <= 'z')
+ return true;
+ if (c == '>')
+ return false;
+ if (c >= 'A' && c <= 'Z')
+ return true;
+
+ //
+ // Since the tables are too ridiculous to use in code,
+ // we're using the footnotes here to drive this test.
+ //
+ switch (Character.getType (c)) {
+ // app. B footnote says these are 'name start'
+ // chars' ...
+ case Character.LOWERCASE_LETTER: // Ll
+ case Character.UPPERCASE_LETTER: // Lu
+ case Character.OTHER_LETTER: // Lo
+ case Character.TITLECASE_LETTER: // Lt
+ case Character.LETTER_NUMBER: // Nl
+ // ... and these are name characters 'other
+ // than name start characters'
+ case Character.COMBINING_SPACING_MARK: // Mc
+ case Character.ENCLOSING_MARK: // Me
+ case Character.NON_SPACING_MARK: // Mn
+ case Character.MODIFIER_LETTER: // Lm
+ case Character.DECIMAL_DIGIT_NUMBER: // Nd
+
+ // OK, here we just have some exceptions to check...
+ return !isCompatibilityChar (c)
+ // per "5.14 of Unicode", rule out some combiners
+ && !(c >= 0x20dd && c <= 0x20e0);
+
+ default:
+ // added a character ...
+ return c == 0x0387;
+ }
+ }
+
+ private static boolean isDigit (char c)
+ {
+ // [88] Digit ::= ...
+
+ //
+ // java.lang.Character.isDigit is correct from the XML point
+ // of view except that it allows "fullwidth" digits.
+ //
+ return Character.isDigit (c)
+ && ! ( (c >= 0xff10) && (c <= 0xff19));
+ }
+
+ private static boolean isExtender (char c)
+ {
+ // [89] Extender ::= ...
+ return c == 0x00b7 || c == 0x02d0 || c == 0x02d1 || c == 0x0387
+ || c == 0x0640 || c == 0x0e46 || c == 0x0ec6
+ || c == 0x3005 || (c >= 0x3031 && c <= 0x3035)
+ || (c >= 0x309d && c <= 0x309e)
+ || (c >= 0x30fc && c <= 0x30fe)
+ ;
+ }
+}
Added: trunk/core/src/openjdk/com/com/sun/imageio/metadata/XmlNames.java
===================================================================
--- trunk/core/src/openjdk/com/com/sun/imageio/metadata/XmlNames.java (rev 0)
+++ trunk/core/src/openjdk/com/com/sun/imageio/metadata/XmlNames.java 2007-06-25 07:44:50 UTC (rev 3301)
@@ -0,0 +1,234 @@
+/*
+ * reserved comment block
+ * DO NOT REMOVE OR ALTER!
+ */
+/*
+ * $Id: XmlNames.java,v 1.3 2001/03/16 04:01:34 edwingo Exp $
+ *
+ * The Apache Software License, Version 1.1
+ *
+ *
+ * Copyright (c) 2000 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution,
+ * if any, must include the following acknowledgment:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowledgment may appear in the software itself,
+ * if and wherever such third-party acknowledgments normally appear.
+ *
+ * 4. The names "Crimson" and "Apache Software Foundation" must
+ * not be used to endorse or promote products derived from this
+ * software without prior written permission. For written
+ * permission, please contact ap...@ap....
+ *
+ * 5. Products derived from this software may not be called "Apache",
+ * nor may "Apache" appear in their name, without prior written
+ * permission of the Apache Software Foundation.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * 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, Sun Microsystems, Inc.,
+ * http://www.sun.com. For more information on the Apache Software
+ * Foundation, please see <http://www.apache.org/>.
+ */
+
+package com.sun.imageio.metadata;
+
+/**
+ * This class contains static methods used to determine whether identifiers
+ * may appear in certain roles in XML documents. Such methods are used
+ * both to parse and to create such documents.
+ *
+ * @version 1.4
+ * @author David Brownell
+ */
+public class XmlNames
+{
+ /**
+ * Useful strings from the DOM Level 2 Spec
+ */
+ public static final String
+ SPEC_XML_URI = "http://www.w3.org/XML/1998/namespace";
+ public static final String
+ SPEC_XMLNS_URI = "http://www.w3.org/2000/xmlns/";
+
+ private XmlNames () { }
+
+
+ /**
+ * Returns true if the value is a legal XML name.
+ *
+ * @param value the string being tested
+ */
+ public static boolean isName (String value)
+ {
+ if (value == null || "".equals(value))
+ return false;
+
+ char c = value.charAt (0);
+ if (!XmlChars.isLetter (c) && c != '_' && c != ':')
+ return false;
+ for (int i = 1; i < value.length (); i++)
+ if (!XmlChars.isNameChar (value.charAt (i)))
+ return false;
+ return true;
+ }
+
+ /**
+ * Returns true if the value is a legal "unqualified" XML name, as
+ * defined in the XML Namespaces proposed recommendation.
+ * These are normal XML names, except that they may not contain
+ * a "colon" character.
+ *
+ * @param value the string being tested
+ */
+ public static boolean isUnqualifiedName (String value)
+ {
+ if (value == null || value.length() == 0)
+ return false;
+
+ char c = value.charAt (0);
+ if (!XmlChars.isLetter (c) && c != '_')
+ return false;
+ for (int i = 1; i < value.length (); i++)
+ if (!XmlChars.isNCNameChar (value.charAt (i)))
+ return false;
+ return true;
+ }
+
+ /**
+ * Returns true if the value is a legal "qualified" XML name, as defined
+ * in the XML Namespaces proposed recommendation. Qualified names are
+ * composed of an optional prefix (an unqualified name), followed by a
+ * colon, and a required "local part" (an unqualified name). Prefixes are
+ * declared, and correspond to particular URIs which scope the "local
+ * part" of the name. (This method cannot check whether the prefix of a
+ * name has been declared.)
+ *
+ * @param value the string being tested
+ */
+ public static boolean isQualifiedName (String value)
+ {
+ if (value == null)
+ return false;
+
+ // [6] QName ::= (Prefix ':')? LocalPart
+ // [7] Prefix ::= NCName
+ // [8] LocalPart ::= NCName
+
+ int first = value.indexOf (':');
+
+ // no Prefix, only check LocalPart
+ if (first <= 0)
+ return isUnqualifiedName (value);
+
+ // Prefix exists, check everything
+
+ int last = value.lastIndexOf (':');
+ if (last != first)
+ return false;
+
+ return isUnqualifiedName (value.substring (0, first))
+ && isUnqualifiedName (value.substring (first + 1));
+ }
+
+ /**
+ * This method returns true if the identifier is a "name token"
+ * as defined in the XML specification. Like names, these
+ * may only contain "name characters"; however, they do not need
+ * to have letters as their initial characters. Attribute values
+ * defined to be of type NMTOKEN(S) must satisfy this predicate.
+ *
+ * @param token the string being tested
+ */
+ public static boolean isNmtoken (String token)
+ {
+ int length = token.length ();
+
+ for (int i = 0; i < length; i++)
+ if (!XmlChars.isNameChar (token.charAt (i)))
+ return false;
+ return true;
+ }
+
+
+ /**
+ * This method returns true if the identifier is a "name token" as
+ * defined by the XML Namespaces proposed recommendation.
+ * These are like XML "name tokens" but they may not contain the
+ * "colon" character.
+ *
+ * @see #isNmtoken
+ *
+ * @param token the string being tested
+ */
+ public static boolean isNCNmtoken (String token)
+ {
+ return isNmtoken (token) && token.indexOf (':') < 0;
+ }
+
+ /**
+ * Return the Prefix of qualifiedName. Does not check that Prefix is a
+ * valid NCName.
+ *
+ * @param qualifiedName name to find the Prefix of
+ * @return prefix or null if it has none
+ */
+ public static String getPrefix(String qualifiedName) {
+ // [6] QName ::= (Prefix ':')? LocalPart
+ // [7] Prefix ::= NCName
+ int index = qualifiedName.indexOf(':');
+ return index <= 0 ? null : qualifiedName.substring(0, index);
+ }
+
+ /**
+ * Return the LocalPart of qualifiedName. Does not check that Prefix is a
+ * valid NCName.
+ *
+ * @param qualifiedName name to find the LocalPart of
+ * @return LocalPart or null if it has none
+ */
+ public static String getLocalPart(String qualifiedName) {
+ // [6] QName ::= (Prefix ':')? LocalPart
+ // [8] LocalPart ::= NCName
+ int index = qualifiedName.indexOf(':');
+ if (index < 0) {
+ return qualifiedName;
+ }
+
+ // ':' at end of qualifiedName
+ if (index == qualifiedName.length() - 1) {
+ return null;
+ }
+
+ return qualifiedName.substring(index + 1);
+ }
+}
Added: trunk/core/src/openjdk/com/com/sun/imageio/plugins/bmp/BMPConstants.java
===================================================================
--- trunk/core/src/openjdk/com/com/sun/imageio/plugins/bmp/BMPConstants.java (rev 0)
+++ trunk/core/src/openjdk/com/com/sun/imageio/plugins/bmp/BMPConstants.java 2007-06-25 07:44:50 UTC (rev 3301)
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2003 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package com.sun.imageio.plugins.bmp;
+
+public interface BMPConstants {
+ // bmp versions
+ static final String VERSION_2 = "BMP v. 2.x";
+ static final String VERSION_3 = "BMP v. 3.x";
+ static final String VERSION_3_NT = "BMP v. 3.x NT";
+ static final String VERSION_4 = "BMP v. 4.x";
+ stati...
[truncated message content] |
|
From: <ls...@us...> - 2007-06-25 08:10:00
|
Revision: 3302
http://jnode.svn.sourceforge.net/jnode/?rev=3302&view=rev
Author: lsantha
Date: 2007-06-25 01:09:55 -0700 (Mon, 25 Jun 2007)
Log Message:
-----------
Openjdk integration.
Added Paths:
-----------
trunk/core/src/openjdk/com/com/sun/inputmethods/
trunk/core/src/openjdk/com/com/sun/inputmethods/internal/
trunk/core/src/openjdk/com/com/sun/inputmethods/internal/indicim/
trunk/core/src/openjdk/com/com/sun/inputmethods/internal/indicim/DevanagariInputMethodDescriptor.java
trunk/core/src/openjdk/com/com/sun/inputmethods/internal/indicim/DevanagariTables.java
trunk/core/src/openjdk/com/com/sun/inputmethods/internal/indicim/IndicInputMethod.java
trunk/core/src/openjdk/com/com/sun/inputmethods/internal/indicim/IndicInputMethodImpl.java
trunk/core/src/openjdk/com/com/sun/inputmethods/internal/indicim/java.awt.im.spi.InputMethodDescriptor
trunk/core/src/openjdk/com/com/sun/inputmethods/internal/indicim/resources/
trunk/core/src/openjdk/com/com/sun/inputmethods/internal/indicim/resources/DisplayNames.properties
trunk/core/src/openjdk/com/com/sun/inputmethods/internal/indicim/resources/DisplayNames_de.properties
trunk/core/src/openjdk/com/com/sun/inputmethods/internal/indicim/resources/DisplayNames_es.properties
trunk/core/src/openjdk/com/com/sun/inputmethods/internal/indicim/resources/DisplayNames_fr.properties
trunk/core/src/openjdk/com/com/sun/inputmethods/internal/indicim/resources/DisplayNames_it.properties
trunk/core/src/openjdk/com/com/sun/inputmethods/internal/indicim/resources/DisplayNames_ja.properties
trunk/core/src/openjdk/com/com/sun/inputmethods/internal/indicim/resources/DisplayNames_ko.properties
trunk/core/src/openjdk/com/com/sun/inputmethods/internal/indicim/resources/DisplayNames_sv.properties
trunk/core/src/openjdk/com/com/sun/inputmethods/internal/indicim/resources/DisplayNames_zh_CN.properties
trunk/core/src/openjdk/com/com/sun/inputmethods/internal/indicim/resources/DisplayNames_zh_TW.properties
trunk/core/src/openjdk/com/com/sun/inputmethods/internal/thaiim/
trunk/core/src/openjdk/com/com/sun/inputmethods/internal/thaiim/ThaiInputMethod.java
trunk/core/src/openjdk/com/com/sun/inputmethods/internal/thaiim/ThaiInputMethodDescriptor.java
trunk/core/src/openjdk/com/com/sun/inputmethods/internal/thaiim/ThaiInputMethodImpl.java
trunk/core/src/openjdk/com/com/sun/inputmethods/internal/thaiim/ThaiRules.java
trunk/core/src/openjdk/com/com/sun/inputmethods/internal/thaiim/java.awt.im.spi.InputMethodDescriptor
trunk/core/src/openjdk/com/com/sun/inputmethods/internal/thaiim/resources/
trunk/core/src/openjdk/com/com/sun/inputmethods/internal/thaiim/resources/DisplayNames.properties
trunk/core/src/openjdk/com/com/sun/istack/
trunk/core/src/openjdk/com/com/sun/istack/internal/
trunk/core/src/openjdk/com/com/sun/istack/internal/ByteArrayDataSource.java
trunk/core/src/openjdk/com/com/sun/istack/internal/FinalArrayList.java
trunk/core/src/openjdk/com/com/sun/istack/internal/FragmentContentHandler.java
trunk/core/src/openjdk/com/com/sun/istack/internal/Interned.java
trunk/core/src/openjdk/com/com/sun/istack/internal/NotNull.java
trunk/core/src/openjdk/com/com/sun/istack/internal/Nullable.java
trunk/core/src/openjdk/com/com/sun/istack/internal/Pool.java
trunk/core/src/openjdk/com/com/sun/istack/internal/SAXException2.java
trunk/core/src/openjdk/com/com/sun/istack/internal/SAXParseException2.java
trunk/core/src/openjdk/com/com/sun/istack/internal/package-info.java
trunk/core/src/openjdk/com/com/sun/istack/internal/tools/
trunk/core/src/openjdk/com/com/sun/istack/internal/tools/APTTypeVisitor.java
trunk/core/src/openjdk/com/com/sun/istack/internal/tools/package-info.java
trunk/core/src/openjdk/com/com/sun/istack/internal/ws/
trunk/core/src/openjdk/com/com/sun/istack/internal/ws/AnnotationProcessorFactoryImpl.java
trunk/core/src/openjdk/com/com/sun/istack/internal/ws/package-info.java
trunk/core/src/openjdk/com/com/sun/jarsigner/
trunk/core/src/openjdk/com/com/sun/jarsigner/ContentSigner.java
trunk/core/src/openjdk/com/com/sun/jarsigner/ContentSignerParameters.java
trunk/core/src/openjdk/com/com/sun/jarsigner/package.html
trunk/core/src/openjdk/com/com/sun/java_cup/
trunk/core/src/openjdk/com/com/sun/java_cup/internal/
trunk/core/src/openjdk/com/com/sun/java_cup/internal/runtime/
trunk/core/src/openjdk/com/com/sun/java_cup/internal/runtime/Scanner.java
trunk/core/src/openjdk/com/com/sun/java_cup/internal/runtime/Symbol.java
trunk/core/src/openjdk/com/com/sun/java_cup/internal/runtime/lr_parser.java
trunk/core/src/openjdk/com/com/sun/java_cup/internal/runtime/virtual_parse_stack.java
trunk/core/src/openjdk/com/com/sun/javadoc/
trunk/core/src/openjdk/com/com/sun/javadoc/AnnotationDesc.java
trunk/core/src/openjdk/com/com/sun/javadoc/AnnotationTypeDoc.java
trunk/core/src/openjdk/com/com/sun/javadoc/AnnotationTypeElementDoc.java
trunk/core/src/openjdk/com/com/sun/javadoc/AnnotationValue.java
trunk/core/src/openjdk/com/com/sun/javadoc/ClassDoc.java
trunk/core/src/openjdk/com/com/sun/javadoc/ConstructorDoc.java
trunk/core/src/openjdk/com/com/sun/javadoc/Doc.java
trunk/core/src/openjdk/com/com/sun/javadoc/DocErrorReporter.java
trunk/core/src/openjdk/com/com/sun/javadoc/Doclet.java
trunk/core/src/openjdk/com/com/sun/javadoc/ExecutableMemberDoc.java
trunk/core/src/openjdk/com/com/sun/javadoc/FieldDoc.java
trunk/core/src/openjdk/com/com/sun/javadoc/LanguageVersion.java
trunk/core/src/openjdk/com/com/sun/javadoc/MemberDoc.java
trunk/core/src/openjdk/com/com/sun/javadoc/MethodDoc.java
trunk/core/src/openjdk/com/com/sun/javadoc/PackageDoc.java
trunk/core/src/openjdk/com/com/sun/javadoc/ParamTag.java
trunk/core/src/openjdk/com/com/sun/javadoc/Parameter.java
trunk/core/src/openjdk/com/com/sun/javadoc/ParameterizedType.java
trunk/core/src/openjdk/com/com/sun/javadoc/ProgramElementDoc.java
trunk/core/src/openjdk/com/com/sun/javadoc/RootDoc.java
trunk/core/src/openjdk/com/com/sun/javadoc/SeeTag.java
trunk/core/src/openjdk/com/com/sun/javadoc/SerialFieldTag.java
trunk/core/src/openjdk/com/com/sun/javadoc/SourcePosition.java
trunk/core/src/openjdk/com/com/sun/javadoc/Tag.java
trunk/core/src/openjdk/com/com/sun/javadoc/ThrowsTag.java
trunk/core/src/openjdk/com/com/sun/javadoc/Type.java
trunk/core/src/openjdk/com/com/sun/javadoc/TypeVariable.java
trunk/core/src/openjdk/com/com/sun/javadoc/WildcardType.java
trunk/core/src/openjdk/com/com/sun/javadoc/package.html
trunk/core/src/openjdk/com/com/sun/pept/
trunk/core/src/openjdk/com/com/sun/pept/Delegate.java
trunk/core/src/openjdk/com/com/sun/pept/encoding/
trunk/core/src/openjdk/com/com/sun/pept/encoding/Decoder.java
trunk/core/src/openjdk/com/com/sun/pept/encoding/Encoder.java
trunk/core/src/openjdk/com/com/sun/pept/ept/
trunk/core/src/openjdk/com/com/sun/pept/ept/Acceptor.java
trunk/core/src/openjdk/com/com/sun/pept/ept/ContactInfo.java
trunk/core/src/openjdk/com/com/sun/pept/ept/ContactInfoList.java
trunk/core/src/openjdk/com/com/sun/pept/ept/ContactInfoListIterator.java
trunk/core/src/openjdk/com/com/sun/pept/ept/EPTFactory.java
trunk/core/src/openjdk/com/com/sun/pept/ept/MessageInfo.java
trunk/core/src/openjdk/com/com/sun/pept/presentation/
trunk/core/src/openjdk/com/com/sun/pept/presentation/MessageStruct.java
trunk/core/src/openjdk/com/com/sun/pept/presentation/Stub.java
trunk/core/src/openjdk/com/com/sun/pept/presentation/TargetFinder.java
trunk/core/src/openjdk/com/com/sun/pept/presentation/Tie.java
trunk/core/src/openjdk/com/com/sun/pept/protocol/
trunk/core/src/openjdk/com/com/sun/pept/protocol/Interceptors.java
trunk/core/src/openjdk/com/com/sun/pept/protocol/MessageDispatcher.java
trunk/core/src/openjdk/com/com/sun/pept/transport/
trunk/core/src/openjdk/com/com/sun/pept/transport/Connection.java
trunk/core/src/openjdk/com/com/sun/rmi/
trunk/core/src/openjdk/com/com/sun/rmi/rmid/
trunk/core/src/openjdk/com/com/sun/rmi/rmid/ExecOptionPermission.java
trunk/core/src/openjdk/com/com/sun/rmi/rmid/ExecPermission.java
trunk/core/src/openjdk/com/com/sun/security/
trunk/core/src/openjdk/com/com/sun/security/auth/
trunk/core/src/openjdk/com/com/sun/security/auth/LdapPrincipal.java
trunk/core/src/openjdk/com/com/sun/security/auth/NTDomainPrincipal.java
trunk/core/src/openjdk/com/com/sun/security/auth/NTNumericCredential.java
trunk/core/src/openjdk/com/com/sun/security/auth/NTSid.java
trunk/core/src/openjdk/com/com/sun/security/auth/NTSidDomainPrincipal.java
trunk/core/src/openjdk/com/com/sun/security/auth/NTSidGroupPrincipal.java
trunk/core/src/openjdk/com/com/sun/security/auth/NTSidPrimaryGroupPrincipal.java
trunk/core/src/openjdk/com/com/sun/security/auth/NTSidUserPrincipal.java
trunk/core/src/openjdk/com/com/sun/security/auth/NTUserPrincipal.java
trunk/core/src/openjdk/com/com/sun/security/auth/PolicyFile.java
trunk/core/src/openjdk/com/com/sun/security/auth/PolicyParser.java
trunk/core/src/openjdk/com/com/sun/security/auth/PrincipalComparator.java
trunk/core/src/openjdk/com/com/sun/security/auth/SolarisNumericGroupPrincipal.java
trunk/core/src/openjdk/com/com/sun/security/auth/SolarisNumericUserPrincipal.java
trunk/core/src/openjdk/com/com/sun/security/auth/SolarisPrincipal.java
trunk/core/src/openjdk/com/com/sun/security/auth/SubjectCodeSource.java
trunk/core/src/openjdk/com/com/sun/security/auth/UnixNumericGroupPrincipal.java
trunk/core/src/openjdk/com/com/sun/security/auth/UnixNumericUserPrincipal.java
trunk/core/src/openjdk/com/com/sun/security/auth/UnixPrincipal.java
trunk/core/src/openjdk/com/com/sun/security/auth/UserPrincipal.java
trunk/core/src/openjdk/com/com/sun/security/auth/X500Principal.java
trunk/core/src/openjdk/com/com/sun/security/auth/callback/
trunk/core/src/openjdk/com/com/sun/security/auth/callback/DialogCallbackHandler.java
trunk/core/src/openjdk/com/com/sun/security/auth/callback/TextCallbackHandler.java
trunk/core/src/openjdk/com/com/sun/security/auth/jaas-overview.html
trunk/core/src/openjdk/com/com/sun/security/auth/login/
trunk/core/src/openjdk/com/com/sun/security/auth/login/ConfigFile.java
trunk/core/src/openjdk/com/com/sun/security/auth/module/
trunk/core/src/openjdk/com/com/sun/security/auth/module/Crypt.java
trunk/core/src/openjdk/com/com/sun/security/auth/module/JndiLoginModule.java
trunk/core/src/openjdk/com/com/sun/security/auth/module/KeyStoreLoginModule.java
trunk/core/src/openjdk/com/com/sun/security/auth/module/Krb5LoginModule.java
trunk/core/src/openjdk/com/com/sun/security/auth/module/LdapLoginModule.java
trunk/core/src/openjdk/com/com/sun/security/auth/module/NTLoginModule.java
trunk/core/src/openjdk/com/com/sun/security/auth/module/NTSystem.java
trunk/core/src/openjdk/com/com/sun/security/auth/module/SolarisLoginModule.java
trunk/core/src/openjdk/com/com/sun/security/auth/module/SolarisSystem.java
trunk/core/src/openjdk/com/com/sun/security/auth/module/UnixLoginModule.java
trunk/core/src/openjdk/com/com/sun/security/auth/module/UnixSystem.java
trunk/core/src/openjdk/com/com/sun/security/cert/
trunk/core/src/openjdk/com/com/sun/security/cert/internal/
trunk/core/src/openjdk/com/com/sun/security/cert/internal/x509/
trunk/core/src/openjdk/com/com/sun/security/cert/internal/x509/X509V1CertImpl.java
trunk/core/src/openjdk/com/com/sun/security/jgss/
trunk/core/src/openjdk/com/com/sun/security/jgss/GSSUtil.java
trunk/core/src/openjdk/com/com/sun/security/jgss/jgss-overview.html
trunk/core/src/openjdk/com/com/sun/security/sasl/
trunk/core/src/openjdk/com/com/sun/security/sasl/ClientFactoryImpl.java
trunk/core/src/openjdk/com/com/sun/security/sasl/CramMD5Base.java
trunk/core/src/openjdk/com/com/sun/security/sasl/CramMD5Client.java
trunk/core/src/openjdk/com/com/sun/security/sasl/CramMD5Server.java
trunk/core/src/openjdk/com/com/sun/security/sasl/ExternalClient.java
trunk/core/src/openjdk/com/com/sun/security/sasl/PlainClient.java
trunk/core/src/openjdk/com/com/sun/security/sasl/Provider.java
trunk/core/src/openjdk/com/com/sun/security/sasl/ServerFactoryImpl.java
trunk/core/src/openjdk/com/com/sun/security/sasl/digest/
trunk/core/src/openjdk/com/com/sun/security/sasl/digest/DigestMD5Base.java
trunk/core/src/openjdk/com/com/sun/security/sasl/digest/DigestMD5Client.java
trunk/core/src/openjdk/com/com/sun/security/sasl/digest/DigestMD5Server.java
trunk/core/src/openjdk/com/com/sun/security/sasl/digest/FactoryImpl.java
trunk/core/src/openjdk/com/com/sun/security/sasl/digest/SecurityCtx.java
trunk/core/src/openjdk/com/com/sun/security/sasl/gsskerb/
trunk/core/src/openjdk/com/com/sun/security/sasl/gsskerb/FactoryImpl.java
trunk/core/src/openjdk/com/com/sun/security/sasl/gsskerb/GssKrb5Base.java
trunk/core/src/openjdk/com/com/sun/security/sasl/gsskerb/GssKrb5Client.java
trunk/core/src/openjdk/com/com/sun/security/sasl/gsskerb/GssKrb5Server.java
trunk/core/src/openjdk/com/com/sun/security/sasl/util/
trunk/core/src/openjdk/com/com/sun/security/sasl/util/AbstractSaslImpl.java
trunk/core/src/openjdk/com/com/sun/security/sasl/util/PolicyUtils.java
trunk/core/src/openjdk/com/com/sun/xml/
trunk/core/src/openjdk/com/com/sun/xml/internal/
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/DatatypeConverterImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/IDResolver.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/Locatable.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/Util.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/ValidationEventLocatorEx.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/WhiteSpaceProcessor.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/annotation/
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/annotation/XmlIsSet.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/annotation/XmlLocation.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/api/
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/api/AccessorException.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/api/Bridge.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/api/BridgeContext.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/api/CompositeStructure.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/api/JAXBRIContext.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/api/RawAccessor.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/api/TypeReference.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/api/impl/
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/api/impl/NameConverter.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/api/impl/NameUtil.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/api/package-info.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/marshaller/
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/marshaller/CharacterEscapeHandler.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/marshaller/DataWriter.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/marshaller/DumbEscapeHandler.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/marshaller/Messages.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/marshaller/Messages.properties
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/marshaller/MinimumEscapeHandler.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/marshaller/NamespacePrefixMapper.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/marshaller/NioEscapeHandler.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/marshaller/SAX2DOMEx.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/marshaller/XMLWriter.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/unmarshaller/
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/unmarshaller/DOMScanner.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/unmarshaller/InfosetScanner.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/unmarshaller/Messages.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/unmarshaller/Messages.properties
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/unmarshaller/Patcher.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/util/
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/util/AttributesImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/util/ValidationEventLocatorExImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/util/Which.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/ClassFactory.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/ContextFactory.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/Messages.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/Messages.properties
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/TODO.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/WellKnownNamespace.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/bytecode/
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/bytecode/ClassTailor.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/bytecode/package.html
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/doc-files/
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/doc-files/packages.png
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/doc-files/packages.vsd
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/doc-files/readme.txt
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/annotation/
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/annotation/AbstractInlineAnnotationReaderImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/annotation/AnnotationReader.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/annotation/AnnotationSource.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/annotation/ClassLocatable.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/annotation/FieldLocatable.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/annotation/Init.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/annotation/Locatable.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/annotation/LocatableAnnotation.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/annotation/Messages.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/annotation/Messages.properties
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/annotation/MethodLocatable.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/annotation/Quick.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/annotation/RuntimeAnnotationReader.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/annotation/RuntimeInlineAnnotationReader.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/annotation/XmlAttributeQuick.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/annotation/XmlElementDeclQuick.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/annotation/XmlElementQuick.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/annotation/XmlElementRefQuick.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/annotation/XmlElementRefsQuick.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/annotation/XmlEnumQuick.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/annotation/XmlRootElementQuick.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/annotation/XmlSchemaQuick.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/annotation/XmlTransientQuick.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/annotation/XmlTypeQuick.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/annotation/XmlValueQuick.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/annotation/package.html
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/core/
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/core/Adapter.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/core/ArrayInfo.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/core/AttributePropertyInfo.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/core/BuiltinLeafInfo.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/core/ClassInfo.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/core/Element.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/core/ElementInfo.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/core/ElementPropertyInfo.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/core/EnumConstant.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/core/EnumLeafInfo.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/core/ErrorHandler.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/core/ID.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/core/LeafInfo.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/core/MapPropertyInfo.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/core/MaybeElement.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/core/NonElement.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/core/NonElementRef.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/core/PropertyInfo.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/core/PropertyKind.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/core/Ref.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/core/ReferencePropertyInfo.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/core/RegistryInfo.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/core/TypeInfo.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/core/TypeInfoSet.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/core/TypeRef.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/core/ValuePropertyInfo.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/core/WildcardMode.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/core/WildcardTypeInfo.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/core/package-info.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/AnyTypeImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/ArrayInfoImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/AttributePropertyInfoImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/BuiltinLeafInfoImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/ClassInfoImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/ERPropertyInfoImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/ElementInfoImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/ElementPropertyInfoImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/EnumConstantImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/EnumLeafInfoImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/FieldPropertySeed.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/GetterSetterPropertySeed.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/LeafInfoImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/MapPropertyInfoImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/Messages.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/Messages.properties
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/ModelBuilder.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/PropertyInfoImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/PropertySeed.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/ReferencePropertyInfoImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/RegistryInfoImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/RuntimeAnyTypeImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/RuntimeArrayInfoImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/RuntimeAttributePropertyInfoImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/RuntimeBuiltinLeafInfoImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/RuntimeClassInfoImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/RuntimeElementInfoImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/RuntimeElementPropertyInfoImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/RuntimeEnumConstantImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/RuntimeEnumLeafInfoImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/RuntimeMapPropertyInfoImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/RuntimeModelBuilder.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/RuntimeReferencePropertyInfoImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/RuntimeTypeInfoSetImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/RuntimeTypeRefImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/RuntimeValuePropertyInfoImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/SingleTypePropertyInfoImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/TypeInfoImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/TypeInfoSetImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/TypeRefImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/Util.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/ValuePropertyInfoImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/impl/package.html
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/nav/
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/nav/GenericArrayTypeImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/nav/Navigator.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/nav/ParameterizedTypeImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/nav/ReflectionNavigator.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/nav/TypeVisitor.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/nav/WildcardTypeImpl.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/nav/package.html
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/runtime/
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/runtime/RuntimeArrayInfo.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/runtime/RuntimeAttributePropertyInfo.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/runtime/RuntimeBuiltinLeafInfo.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/runtime/RuntimeClassInfo.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/runtime/RuntimeElement.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/runtime/RuntimeElementInfo.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/runtime/RuntimeElementPropertyInfo.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/runtime/RuntimeEnumLeafInfo.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/runtime/RuntimeLeafInfo.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/runtime/RuntimeMapPropertyInfo.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/runtime/RuntimeNonElement.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/runtime/RuntimeNonElementRef.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/runtime/RuntimePropertyInfo.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/runtime/RuntimeReferencePropertyInfo.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/runtime/RuntimeTypeInfo.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/runtime/RuntimeTypeInfoSet.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/runtime/RuntimeTypeRef.java
trunk/core/src/openjdk/com/com/sun/xml/internal/bind/v2/model/runtime/RuntimeValuePropertyInfo.java
trunk/core/s...
[truncated message content] |
|
From: <ls...@us...> - 2007-06-25 08:14:02
|
Revision: 3303
http://jnode.svn.sourceforge.net/jnode/?rev=3303&view=rev
Author: lsantha
Date: 2007-06-25 01:14:00 -0700 (Mon, 25 Jun 2007)
Log Message:
-----------
Openjdk integration.
Added Paths:
-----------
trunk/core/src/openjdk/com/com/sun/net/
trunk/core/src/openjdk/com/com/sun/net/httpserver/
trunk/core/src/openjdk/com/com/sun/net/httpserver/Authenticator.java
trunk/core/src/openjdk/com/com/sun/net/httpserver/BasicAuthenticator.java
trunk/core/src/openjdk/com/com/sun/net/httpserver/Filter.java
trunk/core/src/openjdk/com/com/sun/net/httpserver/Headers.java
trunk/core/src/openjdk/com/com/sun/net/httpserver/HttpContext.java
trunk/core/src/openjdk/com/com/sun/net/httpserver/HttpExchange.java
trunk/core/src/openjdk/com/com/sun/net/httpserver/HttpHandler.java
trunk/core/src/openjdk/com/com/sun/net/httpserver/HttpPrincipal.java
trunk/core/src/openjdk/com/com/sun/net/httpserver/HttpServer.java
trunk/core/src/openjdk/com/com/sun/net/httpserver/HttpsConfigurator.java
trunk/core/src/openjdk/com/com/sun/net/httpserver/HttpsExchange.java
trunk/core/src/openjdk/com/com/sun/net/httpserver/HttpsParameters.java
trunk/core/src/openjdk/com/com/sun/net/httpserver/HttpsServer.java
trunk/core/src/openjdk/com/com/sun/net/httpserver/package-info.java
trunk/core/src/openjdk/com/com/sun/net/httpserver/spi/
trunk/core/src/openjdk/com/com/sun/net/httpserver/spi/HttpServerProvider.java
trunk/core/src/openjdk/com/com/sun/net/httpserver/spi/package-info.java
trunk/core/src/openjdk/com/com/sun/net/ssl/
trunk/core/src/openjdk/com/com/sun/net/ssl/HostnameVerifier.java
trunk/core/src/openjdk/com/com/sun/net/ssl/HttpsURLConnection.java
trunk/core/src/openjdk/com/com/sun/net/ssl/KeyManager.java
trunk/core/src/openjdk/com/com/sun/net/ssl/KeyManagerFactory.java
trunk/core/src/openjdk/com/com/sun/net/ssl/KeyManagerFactorySpi.java
trunk/core/src/openjdk/com/com/sun/net/ssl/SSLContextSpi.java
trunk/core/src/openjdk/com/com/sun/net/ssl/SSLPermission.java
trunk/core/src/openjdk/com/com/sun/net/ssl/SSLSecurity.java
trunk/core/src/openjdk/com/com/sun/net/ssl/TrustManager.java
trunk/core/src/openjdk/com/com/sun/net/ssl/TrustManagerFactory.java
trunk/core/src/openjdk/com/com/sun/net/ssl/TrustManagerFactorySpi.java
trunk/core/src/openjdk/com/com/sun/net/ssl/X509KeyManager.java
trunk/core/src/openjdk/com/com/sun/net/ssl/X509TrustManager.java
trunk/core/src/openjdk/com/com/sun/net/ssl/internal/
trunk/core/src/openjdk/com/com/sun/net/ssl/internal/ssl/
trunk/core/src/openjdk/com/com/sun/net/ssl/internal/ssl/X509ExtendedTrustManager.java
trunk/core/src/openjdk/com/com/sun/net/ssl/package.html
Added: trunk/core/src/openjdk/com/com/sun/net/httpserver/Authenticator.java
===================================================================
--- trunk/core/src/openjdk/com/com/sun/net/httpserver/Authenticator.java (rev 0)
+++ trunk/core/src/openjdk/com/com/sun/net/httpserver/Authenticator.java 2007-06-25 08:14:00 UTC (rev 3303)
@@ -0,0 +1,126 @@
+/*
+ * Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package com.sun.net.httpserver;
+import java.net.*;
+import java.io.*;
+import java.util.*;
+
+/**
+ * Authenticator represents an implementation of an HTTP authentication
+ * mechanism. Sub-classes provide implementations of specific mechanisms
+ * such as Digest or Basic auth. Instances are invoked to provide verification
+ * of the authentication information provided in all incoming requests.
+ * Note. This implies that any caching of credentials or other authentication
+ * information must be done outside of this class.
+ */
+public abstract class Authenticator {
+
+ /**
+ * Base class for return type from authenticate() method
+ */
+ public abstract static class Result {}
+
+ /**
+ * Indicates an authentication failure. The authentication
+ * attempt has completed.
+ */
+ public static class Failure extends Result {
+
+ private int responseCode;
+
+ public Failure (int responseCode) {
+ this.responseCode = responseCode;
+ }
+
+ /**
+ * returns the response code to send to the client
+ */
+ public int getResponseCode() {
+ return responseCode;
+ }
+ }
+
+ /**
+ * Indicates an authentication has succeeded and the
+ * authenticated user principal can be acquired by calling
+ * getPrincipal().
+ */
+ public static class Success extends Result {
+ private HttpPrincipal principal;
+
+ public Success (HttpPrincipal p) {
+ principal = p;
+ }
+ /**
+ * returns the authenticated user Principal
+ */
+ public HttpPrincipal getPrincipal() {
+ return principal;
+ }
+ }
+
+ /**
+ * Indicates an authentication must be retried. The
+ * response code to be sent back is as returned from
+ * getResponseCode(). The Authenticator must also have
+ * set any necessary response headers in the given HttpExchange
+ * before returning this Retry object.
+ */
+ public static class Retry extends Result {
+
+ private int responseCode;
+
+ public Retry (int responseCode) {
+ this.responseCode = responseCode;
+ }
+
+ /**
+ * returns the response code to send to the client
+ */
+ public int getResponseCode() {
+ return responseCode;
+ }
+ }
+
+ /**
+ * called to authenticate each incoming request. The implementation
+ * must return a Failure, Success or Retry object as appropriate :-
+ * <p>
+ * Failure means the authentication has completed, but has failed
+ * due to invalid credentials.
+ * <p>
+ * Sucess means that the authentication
+ * has succeeded, and a Principal object representing the user
+ * can be retrieved by calling Sucess.getPrincipal() .
+ * <p>
+ * Retry means that another HTTP exchange is required. Any response
+ * headers needing to be sent back to the client are set in the
+ * given HttpExchange. The response code to be returned must be provided
+ * in the Retry object. Retry may occur multiple times.
+ */
+ public abstract Result authenticate (HttpExchange exch);
+}
+
Added: trunk/core/src/openjdk/com/com/sun/net/httpserver/BasicAuthenticator.java
===================================================================
--- trunk/core/src/openjdk/com/com/sun/net/httpserver/BasicAuthenticator.java (rev 0)
+++ trunk/core/src/openjdk/com/com/sun/net/httpserver/BasicAuthenticator.java 2007-06-25 08:14:00 UTC (rev 3303)
@@ -0,0 +1,313 @@
+/*
+ * Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package com.sun.net.httpserver;
+import java.net.*;
+import java.io.*;
+import java.util.*;
+
+/**
+ * BasicAuthenticator provides an implementation of HTTP Basic
+ * authentication. It is an abstract class and must be extended
+ * to provide an implementation of {@link #checkCredentials(String,String)}
+ * which is called to verify each incoming request.
+ */
+public abstract class BasicAuthenticator extends Authenticator {
+
+ protected String realm;
+
+ /**
+ * Creates a BasicAuthenticator for the given HTTP realm
+ * @param realm The HTTP Basic authentication realm
+ * @throws NullPointerException if the realm is an empty string
+ */
+ public BasicAuthenticator (String realm) {
+ this.realm = realm;
+ }
+
+ /**
+ * returns the realm this BasicAuthenticator was created with
+ * @return the authenticator's realm string.
+ */
+ public String getRealm () {
+ return realm;
+ }
+
+ public Result authenticate (HttpExchange t)
+ {
+ HttpContext context = t.getHttpContext();
+ Headers rmap = (Headers) t.getRequestHeaders();
+ /*
+ * look for auth token
+ */
+ String auth = rmap.getFirst ("Authorization");
+ if (auth == null) {
+ Headers map = (Headers) t.getResponseHeaders();
+ map.set ("WWW-Authenticate", "Basic realm=" + "\""+realm+"\"");
+ return new Authenticator.Retry (401);
+ }
+ int sp = auth.indexOf (' ');
+ if (sp == -1 || !auth.substring(0, sp).equals ("Basic")) {
+ return new Authenticator.Failure (401);
+ }
+ byte[] b = Base64.base64ToByteArray (auth.substring(sp+1));
+ String userpass = new String (b);
+ int colon = userpass.indexOf (':');
+ String uname = userpass.substring (0, colon);
+ String pass = userpass.substring (colon+1);
+
+ if (checkCredentials (uname, pass)) {
+ return new Authenticator.Success (
+ new HttpPrincipal (
+ uname, realm
+ )
+ );
+ } else {
+ /* reject the request again with 401 */
+
+ Headers map = (Headers) t.getResponseHeaders();
+ map.set ("WWW-Authenticate", "Basic realm=" + "\""+realm+"\"");
+ return new Authenticator.Failure(401);
+ }
+ }
+
+ /**
+ * called for each incoming request to verify the
+ * given name and password in the context of this
+ * Authenticator's realm. Any caching of credentials
+ * must be done by the implementation of this method
+ * @param username the username from the request
+ * @param password the password from the request
+ * @return <code>true</code> if the credentials are valid,
+ * <code>false</code> otherwise.
+ */
+ public abstract boolean checkCredentials (String username, String password);
+}
+
+class Base64 {
+
+ /**
+ * Translates the specified byte array into a Base64 string as per
+ * Preferences.put(byte[]).
+ */
+ static String byteArrayToBase64(byte[] a) {
+ return byteArrayToBase64(a, false);
+ }
+
+ /**
+ * Translates the specified byte array into an "aternate representation"
+ * Base64 string. This non-standard variant uses an alphabet that does
+ * not contain the uppercase alphabetic characters, which makes it
+ * suitable for use in situations where case-folding occurs.
+ */
+ static String byteArrayToAltBase64(byte[] a) {
+ return byteArrayToBase64(a, true);
+ }
+
+ private static String byteArrayToBase64(byte[] a, boolean alternate) {
+ int aLen = a.length;
+ int numFullGroups = aLen/3;
+ int numBytesInPartialGroup = aLen - 3*numFullGroups;
+ int resultLen = 4*((aLen + 2)/3);
+ StringBuffer result = new StringBuffer(resultLen);
+ char[] intToAlpha = (alternate ? intToAltBase64 : intToBase64);
+
+ // Translate all full groups from byte array elements to Base64
+ int inCursor = 0;
+ for (int i=0; i<numFullGroups; i++) {
+ int byte0 = a[inCursor++] & 0xff;
+ int byte1 = a[inCursor++] & 0xff;
+ int byte2 = a[inCursor++] & 0xff;
+ result.append(intToAlpha[byte0 >> 2]);
+ result.append(intToAlpha[(byte0 << 4)&0x3f | (byte1 >> 4)]);
+ result.append(intToAlpha[(byte1 << 2)&0x3f | (byte2 >> 6)]);
+ result.append(intToAlpha[byte2 & 0x3f]);
+ }
+
+ // Translate partial group if present
+ if (numBytesInPartialGroup != 0) {
+ int byte0 = a[inCursor++] & 0xff;
+ result.append(intToAlpha[byte0 >> 2]);
+ if (numBytesInPartialGroup == 1) {
+ result.append(intToAlpha[(byte0 << 4) & 0x3f]);
+ result.append("==");
+ } else {
+ // assert numBytesInPartialGroup == 2;
+ int byte1 = a[inCursor++] & 0xff;
+ result.append(intToAlpha[(byte0 << 4)&0x3f | (byte1 >> 4)]);
+ result.append(intToAlpha[(byte1 << 2)&0x3f]);
+ result.append('=');
+ }
+ }
+ // assert inCursor == a.length;
+ // assert result.length() == resultLen;
+ return result.toString();
+ }
+
+ /**
+ * This array is a lookup table that translates 6-bit positive integer
+ * index values into their "Base64 Alphabet" equivalents as specified
+ * in Table 1 of RFC 2045.
+ */
+ private static final char intToBase64[] = {
+ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
+ 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
+ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
+ 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
+ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/'
+ };
+
+ /**
+ * This array is a lookup table that translates 6-bit positive integer
+ * index values into their "Alternate Base64 Alphabet" equivalents.
+ * This is NOT the real Base64 Alphabet as per in Table 1 of RFC 2045.
+ * This alternate alphabet does not use the capital letters. It is
+ * designed for use in environments where "case folding" occurs.
+ */
+ private static final char intToAltBase64[] = {
+ '!', '"', '#', '$', '%', '&', '\'', '(', ')', ',', '-', '.', ':',
+ ';', '<', '>', '@', '[', ']', '^', '`', '_', '{', '|', '}', '~',
+ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
+ 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
+ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '?'
+ };
+
+ /**
+ * Translates the specified Base64 string (as per Preferences.get(byte[]))
+ * into a byte array.
+ *
+ * @throw IllegalArgumentException if <tt>s</tt> is not a valid Base64
+ * string.
+ */
+ static byte[] base64ToByteArray(String s) {
+ return base64ToByteArray(s, false);
+ }
+
+ /**
+ * Translates the specified "aternate representation" Base64 string
+ * into a byte array.
+ *
+ * @throw IllegalArgumentException or ArrayOutOfBoundsException
+ * if <tt>s</tt> is not a valid alternate representation
+ * Base64 string.
+ */
+ static byte[] altBase64ToByteArray(String s) {
+ return base64ToByteArray(s, true);
+ }
+
+ private static byte[] base64ToByteArray(String s, boolean alternate) {
+ byte[] alphaToInt = (alternate ? altBase64ToInt : base64ToInt);
+ int sLen = s.length();
+ int numGroups = sLen/4;
+ if (4*numGroups != sLen)
+ throw new IllegalArgumentException(
+ "String length must be a multiple of four.");
+ int missingBytesInLastGroup = 0;
+ int numFullGroups = numGroups;
+ if (sLen != 0) {
+ if (s.charAt(sLen-1) == '=') {
+ missingBytesInLastGroup++;
+ numFullGroups--;
+ }
+ if (s.charAt(sLen-2) == '=')
+ missingBytesInLastGroup++;
+ }
+ byte[] result = new byte[3*numGroups - missingBytesInLastGroup];
+
+ // Translate all full groups from base64 to byte array elements
+ int inCursor = 0, outCursor = 0;
+ for (int i=0; i<numFullGroups; i++) {
+ int ch0 = base64toInt(s.charAt(inCursor++), alphaToInt);
+ int ch1 = base64toInt(s.charAt(inCursor++), alphaToInt);
+ int ch2 = base64toInt(s.charAt(inCursor++), alphaToInt);
+ int ch3 = base64toInt(s.charAt(inCursor++), alphaToInt);
+ result[outCursor++] = (byte) ((ch0 << 2) | (ch1 >> 4));
+ result[outCursor++] = (byte) ((ch1 << 4) | (ch2 >> 2));
+ result[outCursor++] = (byte) ((ch2 << 6) | ch3);
+ }
+
+ // Translate partial group, if present
+ if (missingBytesInLastGroup != 0) {
+ int ch0 = base64toInt(s.charAt(inCursor++), alphaToInt);
+ int ch1 = base64toInt(s.charAt(inCursor++), alphaToInt);
+ result[outCursor++] = (byte) ((ch0 << 2) | (ch1 >> 4));
+
+ if (missingBytesInLastGroup == 1) {
+ int ch2 = base64toInt(s.charAt(inCursor++), alphaToInt);
+ result[outCursor++] = (byte) ((ch1 << 4) | (ch2 >> 2));
+ }
+ }
+ // assert inCursor == s.length()-missingBytesInLastGroup;
+ // assert outCursor == result.length;
+ return result;
+ }
+
+ /**
+ * Translates the specified character, which is assumed to be in the
+ * "Base 64 Alphabet" into its equivalent 6-bit positive integer.
+ *
+ * @throw IllegalArgumentException or ArrayOutOfBoundsException if
+ * c is not in the Base64 Alphabet.
+ */
+ private static int base64toInt(char c, byte[] alphaToInt) {
+ int result = alphaToInt[c];
+ if (result < 0)
+ throw new IllegalArgumentException("Illegal character " + c);
+ return result;
+ }
+
+ /**
+ * This array is a lookup table that translates unicode characters
+ * drawn from the "Base64 Alphabet" (as specified in Table 1 of RFC 2045)
+ * into their 6-bit positive integer equivalents. Characters that
+ * are not in the Base64 alphabet but fall within the bounds of the
+ * array are translated to -1.
+ */
+ private static final byte base64ToInt[] = {
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, 52, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51
+ };
+
+ /**
+ * This array is the analogue of base64ToInt, but for the nonstandard
+ * variant that avoids the use of uppercase alphabetic characters.
+ */
+ private static final byte altBase64ToInt[] = {
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1,
+ 2, 3, 4, 5, 6, 7, 8, -1, 62, 9, 10, 11, -1 , 52, 53, 54, 55, 56, 57,
+ 58, 59, 60, 61, 12, 13, 14, -1, 15, 63, 16, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 17, -1, 18, 19, 21, 20, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
+ 51, 22, 23, 24, 25
+ };
+
+}
Added: trunk/core/src/openjdk/com/com/sun/net/httpserver/Filter.java
===================================================================
--- trunk/core/src/openjdk/com/com/sun/net/httpserver/Filter.java (rev 0)
+++ trunk/core/src/openjdk/com/com/sun/net/httpserver/Filter.java 2007-06-25 08:14:00 UTC (rev 3303)
@@ -0,0 +1,125 @@
+/*
+ * Copyright 2005-2006 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package com.sun.net.httpserver;
+
+import java.net.*;
+import java.io.*;
+import java.nio.*;
+import java.nio.channels.*;
+import sun.net.www.MessageHeader;
+import java.util.*;
+
+/**
+ * A filter used to pre- and post-process incoming requests. Pre-processing occurs
+ * before the application's exchange handler is invoked, and post-processing
+ * occurs after the exchange handler returns. Filters
+ * are organised in chains, and are associated with HttpContext instances.
+ * <p>
+ * Each Filter in the chain, invokes the next filter within its own
+ * doFilter() implementation. The final Filter in the chain invokes the applications
+ * exchange handler.
+ * @since 1.6
+ */
+public abstract class Filter {
+
+ protected Filter () {}
+
+ /**
+ * a chain of filters associated with a HttpServer.
+ * Each filter in the chain is given one of these
+ * so it can invoke the next filter in the chain
+ */
+ public static class Chain {
+ /* the last element in the chain must invoke the users
+ * handler
+ */
+ private List<Filter> filters;
+ private ListIterator<Filter> iter;
+ private HttpHandler handler;
+
+ public Chain (List<Filter> filters, HttpHandler handler) {
+ this.filters = filters;
+ iter = filters.listIterator();
+ this.handler = handler;
+ }
+
+ /**
+ * calls the next filter in the chain, or else
+ * the users exchange handler, if this is the
+ * final filter in the chain. The Filter may decide
+ * to terminate the chain, by not calling this method.
+ * In this case, the filter <b>must</b> send the
+ * response to the request, because the application's
+ * exchange handler will not be invoked.
+ * @param exchange the HttpExchange
+ * @throws IOException let exceptions pass up the stack
+ * @throws NullPointerException if exchange is <code>null</code>
+ */
+ public void doFilter (HttpExchange exchange) throws IOException {
+ if (!iter.hasNext()) {
+ handler.handle (exchange);
+ } else {
+ Filter f = iter.next();
+ f.doFilter (exchange, this);
+ }
+ }
+ }
+
+ /**
+ * Asks this filter to pre/post-process the given exchange. The filter
+ * can :-
+ * <ul><li>examine or modify the request headers</li>
+ * <li>filter the request body or the response body, by creating suitable
+ * filter streams and calling
+ * {@link HttpExchange#setStreams(InputStream,OutputStream)}</li>
+ * <li>set attribute Objects in the exchange, which other filters or the
+ * exchange handler can access.</li>
+ * <li>decide to either :-<ol>
+ * <li>invoke the next filter in the chain, by calling
+ * {@link Filter.Chain#doFilter(HttpExchange)}</li>
+ * <li>terminate the chain of invocation, by <b>not</b> calling
+ * {@link Filter.Chain#doFilter(HttpExchange)}</li></ol>
+ * <li>if option 1. above taken, then when doFilter() returns all subsequent
+ * filters in the Chain have been called, and the response headers can be
+ * examined or modified.</li>
+ * <li>if option 2. above taken, then this Filter must use the HttpExchange
+ * to send back an appropriate response</li></ul><p>
+ * @param exchange the <code>HttpExchange</code> to be filtered.
+ * @param chain the Chain which allows the next filter to be invoked.
+ * @throws IOException may be thrown by any filter module, and if
+ * caught, must be rethrown again.
+ * @throws NullPointerException if either exchange or chain are <code>null</code>
+ */
+ public abstract void doFilter (HttpExchange exchange, Chain chain)
+ throws IOException;
+
+ /**
+ * returns a short description of this Filter
+ * @return a string describing the Filter
+ */
+ public abstract String description ();
+
+}
Added: trunk/core/src/openjdk/com/com/sun/net/httpserver/Headers.java
===================================================================
--- trunk/core/src/openjdk/com/com/sun/net/httpserver/Headers.java (rev 0)
+++ trunk/core/src/openjdk/com/com/sun/net/httpserver/Headers.java 2007-06-25 08:14:00 UTC (rev 3303)
@@ -0,0 +1,187 @@
+/*
+ * Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package com.sun.net.httpserver;
+
+import java.util.*;
+import java.io.*;
+
+/**
+ * HTTP request and response headers are represented by this class which implements
+ * the interface {@link java.util.Map}<
+ * {@link java.lang.String},{@link java.util.List}<{@link java.lang.String}>>.
+ * The keys are case-insensitive Strings representing the header names and
+ * the value associated with each key is a {@link List}<{@link String}> with one
+ * element for each occurence of the header name in the request or response.
+ * <p>
+ * For example, if a response header instance contains one key "HeaderName" with two values "value1 and value2"
+ * then this object is output as two header lines:
+ * <blockquote><pre>
+ * HeaderName: value1
+ * HeaderName: value2
+ * </blockquote></pre>
+ * <p>
+ * All the normal {@link java.util.Map} methods are provided, but the following
+ * additional convenience methods are most likely to be used:
+ * <ul>
+ * <li>{@link #getFirst(String)} returns a single valued header or the first value of
+ * a multi-valued header.</li>
+ * <li>{@link #add(String,String)} adds the given header value to the list for the given key</li>
+ * <li>{@link #set(String,String)} sets the given header field to the single value given
+ * overwriting any existing values in the value list.
+ * </ul><p>
+ * All methods in this class accept <code>null</code> values for keys and values. However, null
+ * keys will never will be present in HTTP request headers, and will not be output/sent in response headers.
+ * Null values can be represented as either a null entry for the key (i.e. the list is null) or
+ * where the key has a list, but one (or more) of the list's values is null. Null values are output
+ * as a header line containing the key but no associated value.
+ * @since 1.6
+ */
+public class Headers implements Map<String,List<String>> {
+
+ HashMap<String,List<String>> map;
+
+ public Headers () {map = new HashMap<String,List<String>>(32);}
+
+ /* Normalize the key by converting to following form.
+ * First char upper case, rest lower case.
+ * key is presumed to be ASCII
+ */
+ private String normalize (String key) {
+ if (key == null) {
+ return null;
+ }
+ int len = key.length();
+ if (len == 0) {
+ return key;
+ }
+ char[] b = new char [len];
+ String s = null;
+ b = key.toCharArray();
+ if (b[0] >= 'a' && b[0] <= 'z') {
+ b[0] = (char)(b[0] - ('a' - 'A'));
+ }
+ for (int i=1; i<len; i++) {
+ if (b[i] >= 'A' && b[i] <= 'Z') {
+ b[i] = (char) (b[i] + ('a' - 'A'));
+ }
+ }
+ s = new ...
[truncated message content] |
|
From: <ls...@us...> - 2007-06-25 08:53:34
|
Revision: 3304
http://jnode.svn.sourceforge.net/jnode/?rev=3304&view=rev
Author: lsantha
Date: 2007-06-25 01:53:28 -0700 (Mon, 25 Jun 2007)
Log Message:
-----------
Openjdk integration.
Added Paths:
-----------
trunk/core/src/openjdk/com/com/sun/org/
trunk/core/src/openjdk/com/com/sun/org/apache/
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/Constants.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/ExceptionConstants.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/Repository.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/AccessFlags.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/Attribute.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/AttributeReader.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/ClassFormatException.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/ClassParser.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/Code.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/CodeException.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/Constant.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/ConstantCP.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/ConstantClass.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/ConstantDouble.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/ConstantFieldref.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/ConstantFloat.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/ConstantInteger.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/ConstantInterfaceMethodref.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/ConstantLong.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/ConstantMethodref.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/ConstantNameAndType.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/ConstantObject.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/ConstantPool.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/ConstantString.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/ConstantUtf8.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/ConstantValue.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/Deprecated.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/DescendingVisitor.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/EmptyVisitor.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/ExceptionTable.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/Field.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/FieldOrMethod.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/InnerClass.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/InnerClasses.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/JavaClass.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/LineNumber.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/LineNumberTable.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/LocalVariable.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/LocalVariableTable.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/Method.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/Node.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/PMGClass.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/Signature.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/SourceFile.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/StackMap.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/StackMapEntry.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/StackMapType.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/Synthetic.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/Unknown.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/Utility.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/Visitor.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/classfile/package.html
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/AALOAD.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/AASTORE.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/ACONST_NULL.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/ALOAD.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/ANEWARRAY.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/ARETURN.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/ARRAYLENGTH.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/ASTORE.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/ATHROW.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/AllocationInstruction.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/ArithmeticInstruction.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/ArrayInstruction.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/ArrayType.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/BALOAD.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/BASTORE.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/BIPUSH.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/BREAKPOINT.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/BasicType.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/BranchHandle.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/BranchInstruction.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/CALOAD.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/CASTORE.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/CHECKCAST.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/CPInstruction.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/ClassGen.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/ClassGenException.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/ClassObserver.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/CodeExceptionGen.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/CompoundInstruction.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/ConstantPoolGen.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/ConstantPushInstruction.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/ConversionInstruction.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/D2F.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/D2I.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/D2L.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/DADD.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/DALOAD.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/DASTORE.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/DCMPG.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/DCMPL.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/DCONST.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/DDIV.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/DLOAD.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/DMUL.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/DNEG.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/DREM.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/DRETURN.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/DSTORE.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/DSUB.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/DUP.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/DUP2.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/DUP2_X1.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/DUP2_X2.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/DUP_X1.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/DUP_X2.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/EmptyVisitor.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/ExceptionThrower.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/F2D.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/F2I.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/F2L.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/FADD.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/FALOAD.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/FASTORE.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/FCMPG.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/FCMPL.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/FCONST.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/FDIV.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/FLOAD.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/FMUL.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/FNEG.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/FREM.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/FRETURN.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/FSTORE.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/FSUB.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/FieldGen.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/FieldGenOrMethodGen.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/FieldInstruction.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/FieldObserver.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/FieldOrMethod.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/GETFIELD.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/GETSTATIC.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/GOTO.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/GOTO_W.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/GotoInstruction.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/I2B.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/I2C.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/I2D.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/I2F.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/I2L.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/I2S.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/IADD.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/IALOAD.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/IAND.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/IASTORE.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/ICONST.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/IDIV.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/IFEQ.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/IFGE.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/IFGT.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/IFLE.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/IFLT.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/IFNE.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/IFNONNULL.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/IFNULL.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/IF_ACMPEQ.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/IF_ACMPNE.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/IF_ICMPEQ.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/IF_ICMPGE.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/IF_ICMPGT.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/IF_ICMPLE.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/IF_ICMPLT.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/IF_ICMPNE.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/IINC.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/ILOAD.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/IMPDEP1.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/IMPDEP2.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/IMUL.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/INEG.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/INSTANCEOF.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/INVOKEINTERFACE.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/INVOKESPECIAL.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/INVOKESTATIC.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/INVOKEVIRTUAL.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/IOR.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/IREM.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/IRETURN.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/ISHL.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/ISHR.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/ISTORE.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/ISUB.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/IUSHR.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/IXOR.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/IfInstruction.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/IndexedInstruction.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/Instruction.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/InstructionComparator.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/InstructionConstants.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/InstructionFactory.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/InstructionHandle.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/InstructionList.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/InstructionListObserver.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/InstructionTargeter.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/InvokeInstruction.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/JSR.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/JSR_W.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/JsrInstruction.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/L2D.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/L2F.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/L2I.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/LADD.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/LALOAD.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/LAND.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/LASTORE.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/LCMP.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/LCONST.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/LDC.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/LDC2_W.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/LDC_W.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/LDIV.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/LLOAD.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/LMUL.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/LNEG.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/LOOKUPSWITCH.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/LOR.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/LREM.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/LRETURN.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/LSHL.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/LSHR.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/LSTORE.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/LSUB.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/LUSHR.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/LXOR.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/LineNumberGen.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/LoadClass.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/LoadInstruction.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/LocalVariableGen.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/LocalVariableInstruction.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/MONITORENTER.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/MONITOREXIT.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/MULTIANEWARRAY.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/MethodGen.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/MethodObserver.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/NEW.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/NEWARRAY.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/NOP.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/NamedAndTyped.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/ObjectType.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/POP.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/POP2.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/PUSH.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/PUTFIELD.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/PUTSTATIC.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/PopInstruction.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/PushInstruction.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/RET.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/RETURN.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/ReferenceType.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/ReturnInstruction.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/ReturnaddressType.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/SALOAD.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/SASTORE.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/SIPUSH.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/SWAP.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/SWITCH.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/Select.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/StackConsumer.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/StackInstruction.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/StackProducer.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/StoreInstruction.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/TABLESWITCH.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/TargetLostException.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/Type.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/TypedInstruction.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/UnconditionalBranch.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/VariableLengthInstruction.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/Visitor.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/generic/package.html
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/package.html
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/util/
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/util/AttributeHTML.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/util/BCELFactory.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/util/BCELifier.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/util/ByteSequence.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/util/Class2HTML.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/util/ClassLoader.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/util/ClassLoaderRepository.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/util/ClassPath.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/util/ClassQueue.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/util/ClassSet.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/util/ClassStack.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/util/ClassVector.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/util/CodeHTML.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/util/ConstantHTML.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/util/InstructionFinder.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/util/JavaWrapper.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/util/MethodHTML.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/util/Repository.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/util/SyntheticRepository.java
trunk/core/src/openjdk/com/com/sun/org/apache/bcel/internal/util/package.html
trunk/core/src/openjdk/com/com/sun/org/apache/regexp/
trunk/core/src/openjdk/com/com/sun/org/apache/regexp/internal/
trunk/core/src/openjdk/com/com/sun/org/apache/regexp/internal/CharacterArrayCharacterIterator.java
trunk/core/src/openjdk/com/com/sun/org/apache/regexp/internal/CharacterIterator.java
trunk/core/src/openjdk/com/com/sun/org/apache/regexp/internal/RE.java
trunk/core/src/openjdk/com/com/sun/org/apache/regexp/internal/RECompiler.java
trunk/core/src/openjdk/com/com/sun/org/apache/regexp/internal/REDebugCompiler.java
trunk/core/src/openjdk/com/com/sun/org/apache/regexp/internal/REDemo.java
trunk/core/src/openjdk/com/com/sun/org/apache/regexp/internal/REProgram.java
trunk/core/src/openjdk/com/com/sun/org/apache/regexp/internal/RESyntaxException.java
trunk/core/src/openjdk/com/com/sun/org/apache/regexp/internal/RETest.java
trunk/core/src/openjdk/com/com/sun/org/apache/regexp/internal/REUtil.java
trunk/core/src/openjdk/com/com/sun/org/apache/regexp/internal/ReaderCharacterIterator.java
trunk/core/src/openjdk/com/com/sun/org/apache/regexp/internal/StreamCharacterIterator.java
trunk/core/src/openjdk/com/com/sun/org/apache/regexp/internal/StringCharacterIterator.java
trunk/core/src/openjdk/com/com/sun/org/apache/regexp/internal/recompile.java
trunk/core/src/openjdk/com/com/sun/org/apache/xalan/
trunk/core/src/openjdk/com/com/sun/org/apache/xalan/META-INF/
trunk/core/src/openjdk/com/com/sun/org/apache/xalan/META-INF/services/
trunk/core/src/openjdk/com/com/sun/org/apache/xalan/META-INF/services/javax.xml.transform.TransformerFactory
trunk/core/src/openjdk/com/com/sun/org/apache/xalan/META-INF/services/javax.xml.xpath.XPathFactory
trunk/core/src/openjdk/com/com/sun/org/apache/xalan/META-INF/services/org.apache.xml.dtm.DTMManager
trunk/core/src/openjdk/com/com/sun/org/apache/xalan/internal/
trunk/core/src/openjdk/com/com/sun/org/apache/xalan/internal/Version.java
trunk/core/src/openjdk/com/com/sun/org/apache/xalan/internal/client/
trunk/core/src/openjdk/com/com/sun/org/apache/xalan/internal/client/XSLTProcessorApplet.java
trunk/core/src/openjdk/com/com/sun/org/apache/xalan/internal/client/package.html
trunk/core/src/openjdk/com/com/sun/org/apache/xalan/internal/extensions/
trunk/core/src/openjdk/com/com/sun/org/apache/xalan/internal/extensions/ExpressionContext.java
trunk/core/src/openjdk/com/com/sun/org/apache/xalan/internal/extensions/package.html
trunk/core/src/openjdk/com/com/sun/org/apache/xalan/internal/lib/
trunk/core/src/openjdk/com/com/sun/org/apache/xalan/internal/lib/ExsltBase.java
trunk/core/src/openjdk/com/com/sun/org/apache/xalan/internal/lib/ExsltCommon.java
trunk/core/src/openjdk/com/com/sun/org/apache/xalan/internal/lib/ExsltDatetime.java
trunk/core/src/openjdk/com/com/sun/org/apache/xalan/internal/lib/ExsltDynamic.java
trunk/core/src/openjdk/com/com/sun/org/apache/xalan/internal/lib/ExsltMath.java
trunk/core/src/openjdk/com/com/sun/org/apache/xalan/internal/lib/ExsltSets.java
trunk/core/src/openjdk/com/com/sun/org/apache/xalan/internal/lib/ExsltStrings.java
trunk/core/src/openjdk/com/com/sun/org/apache/xalan/internal/lib/Extensions.java
trunk/core/src/openjdk/com/com/sun/org/apache/xalan/internal/lib/NodeInfo.java
trunk/core/src/openjdk/com/com/sun/org/apache/xalan/internal/lib/ObjectFactory.java
trunk/core/src/openjdk/com/com/sun/org/apache/xalan/internal/lib/SecuritySupport.java
trunk/core/src/openjdk/com/com/sun/org/apache/xalan/internal/lib/SecuritySupport12.java
trunk/core/src/openjdk/com/com/sun/org/apache/xalan/internal/lib/package.html
trunk/core/src/openjdk/com/com/sun/org/apache/xalan/internal/res/
trunk/core/src/openjdk/com/com/sun/org/apache/xalan/internal/res/XSLMessages.java
trunk/core/src/openjdk/com/com/sun/org/apache/xalan/internal/res/XSLTErrorResources.java
trunk/core/src/openjdk/com/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_de.java
trunk/core/src/openjdk/com/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_en.java
trunk/core/src/openjdk/com/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_es.java
trunk/core/src/openjdk/com/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_fr.java
trunk/core/src/openjdk/com/com/sun/org/apache/xalan/internal/...
[truncated message content] |