From 8339b30ae2d56ed27c8d4f220230977d09fca2f1 Mon Sep 17 00:00:00 2001 From: Jaroslav Bachorik Date: Tue, 3 Mar 2015 18:19:41 +0100 Subject: [PATCH 01/77] 8043937: Drop support for the IIOP transport from the JMX RMIConnector Reviewed-by: alanb, erikj --- jdk/make/netbeans/jmx/build.xml | 42 +- jdk/make/rmic/Rmic-java.management.gmk | 43 +- .../sun/jmx/remote/internal/IIOPHelper.java | 190 -------- .../sun/jmx/remote/internal/IIOPProxy.java | 110 ----- .../remote/protocol/iiop/ClientProvider.java | 48 -- .../remote/protocol/iiop/IIOPProxyImpl.java | 157 ------- .../protocol/iiop/ProxyInputStream.java | 241 ---------- .../remote/protocol/iiop/ServerProvider.java | 51 --- .../remote/JMXConnectorFactory.java | 6 +- .../remote/JMXConnectorServerFactory.java | 6 +- .../remote/rmi/NoCallStackClassLoader.java | 13 +- .../remote/rmi/RMIConnectionImpl.java | 7 +- .../management/remote/rmi/RMIConnector.java | 414 +----------------- .../remote/rmi/RMIConnectorServer.java | 92 +--- .../remote/rmi/RMIIIOPServerImpl.java | 104 +---- .../management/remote/rmi/RMIServerImpl.java | 7 +- .../javax/management/remote/rmi/package.html | 99 +---- .../mandatory/connection/CloseableTest.java | 2 - .../remote/mandatory/connection/NoIIOP.java | 142 ------ 19 files changed, 105 insertions(+), 1669 deletions(-) delete mode 100644 jdk/src/java.management/share/classes/com/sun/jmx/remote/internal/IIOPHelper.java delete mode 100644 jdk/src/java.management/share/classes/com/sun/jmx/remote/internal/IIOPProxy.java delete mode 100644 jdk/src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/ClientProvider.java delete mode 100644 jdk/src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/IIOPProxyImpl.java delete mode 100644 jdk/src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/ProxyInputStream.java delete mode 100644 jdk/src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/ServerProvider.java delete mode 100644 jdk/test/javax/management/remote/mandatory/connection/NoIIOP.java diff --git a/jdk/make/netbeans/jmx/build.xml b/jdk/make/netbeans/jmx/build.xml index 09c2cb25fb6..34e200f7190 100644 --- a/jdk/make/netbeans/jmx/build.xml +++ b/jdk/make/netbeans/jmx/build.xml @@ -63,8 +63,8 @@ - @@ -90,44 +90,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/jdk/make/rmic/Rmic-java.management.gmk b/jdk/make/rmic/Rmic-java.management.gmk index 57b1d221ad8..9eca430ed63 100644 --- a/jdk/make/rmic/Rmic-java.management.gmk +++ b/jdk/make/rmic/Rmic-java.management.gmk @@ -1,5 +1,5 @@ # -# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2011, 2015, Oracle and/or its affiliates. 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 @@ -32,38 +32,31 @@ include RmicCommon.gmk # Generate RMI stubs # -# For RMI/IIOP call rmic a second time with -standardPackage option -# so that *_tie classes are generated in package without the prefix -# org.omg.stub (6375696) JMX_RMI_CLASSES := javax.management.remote.rmi.RMIConnectionImpl \ javax.management.remote.rmi.RMIServerImpl -GENRMIIIOPCLASSES := -ifneq ($(RMICONNECTOR_IIOP), false) - GENRMIIIOPCLASSES := $(RMICONNECTOR_IIOP) -endif -$(eval $(call SetupRMICompilation,RMI_IIOP, \ - CLASSES := $(JMX_RMI_CLASSES), \ - CLASSES_DIR := $(CLASSES_DIR)/java.management, \ - STUB_CLASSES_DIR := $(STUB_CLASSES_DIR)/java.management, \ - RUN_V12 := true, \ - RUN_IIOP := $(GENRMIIIOPCLASSES), \ - RUN_IIOP_STDPKG := $(GENRMIIIOPCLASSES))) -# Keep generated RMI/JRMP Stub source files and copy them to RMIC_GENSRC_DIR -# so that javadoc can include them in the API (4997471) -$(eval $(call SetupRMICompilation,RMI_SRC, \ +# Generate into gensrc dir where sources get picked up for javadoc, then move the classes +# into the stub classes dir. +$(eval $(call SetupRMICompilation,RMI_GEN, \ CLASSES := $(JMX_RMI_CLASSES), \ CLASSES_DIR := $(CLASSES_DIR)/java.management, \ - STUB_CLASSES_DIR := $(RMIC_GENSRC_DIR)/java.management, \ + STUB_CLASSES_DIR := $(RMIC_GENSRC_DIR), \ RUN_V12 := true, \ - KEEP_GENERATED := true)) + KEEP_GENERATED := true, \ +)) + +# Find all classes generated and move them from the gensrc dir to the stub classes dir +$(RMIC_GENSRC_DIR)/_classes.moved: $(RMI_GEN) + $(eval classfiles := $(shell $(FIND) $(RMIC_GENSRC_DIR) -name "*.class")) + $(foreach src, $(classfiles), \ + $(eval target := $(patsubst $(RMIC_GENSRC_DIR)/%, \ + $(STUB_CLASSES_DIR)/java.management/%, $(src))) \ + $(MKDIR) -p $(dir $(target)) ; \ + $(MV) $(src) $(target) $(NEWLINE)) + $(TOUCH) $@ ########################################################################################## -$(RMIC_GENSRC_DIR)/_the.classes.removed: $(RMI_IIOP) $(RMI_SRC) - $(FIND) $(RMIC_GENSRC_DIR) -name "*.class" $(FIND_DELETE) - $(TOUCH) $@ - -all: $(RMIC_GENSRC_DIR)/_the.classes.removed $(RMI_IIOP) $(RMI_SRC) +all: $(RMIC_GENSRC_DIR)/_classes.moved $(RMI_GEN) .PHONY: all diff --git a/jdk/src/java.management/share/classes/com/sun/jmx/remote/internal/IIOPHelper.java b/jdk/src/java.management/share/classes/com/sun/jmx/remote/internal/IIOPHelper.java deleted file mode 100644 index eabe73962c2..00000000000 --- a/jdk/src/java.management/share/classes/com/sun/jmx/remote/internal/IIOPHelper.java +++ /dev/null @@ -1,190 +0,0 @@ -/* - * Copyright (c) 2009, 2012, Oracle and/or its affiliates. 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. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package com.sun.jmx.remote.internal; - -import java.util.Properties; -import java.io.IOException; -import java.rmi.Remote; -import java.rmi.NoSuchObjectException; - -import java.security.AccessController; -import java.security.PrivilegedAction; - -/** - * A helper class for RMI-IIOP and CORBA APIs. - */ - -public final class IIOPHelper { - private IIOPHelper() { } - - // loads IIOPProxy implementation class if available - private static final String IMPL_CLASS = - "com.sun.jmx.remote.protocol.iiop.IIOPProxyImpl"; - private static final IIOPProxy proxy = - AccessController.doPrivileged(new PrivilegedAction() { - public IIOPProxy run() { - try { - Class c = Class.forName(IMPL_CLASS, true, - IIOPHelper.class.getClassLoader()); - return (IIOPProxy)c.newInstance(); - } catch (ClassNotFoundException cnf) { - return null; - } catch (InstantiationException e) { - throw new AssertionError(e); - } catch (IllegalAccessException e) { - throw new AssertionError(e); - } - }}); - - /** - * Returns true if RMI-IIOP and CORBA is available. - */ - public static boolean isAvailable() { - return proxy != null; - } - - private static void ensureAvailable() { - if (proxy == null) - throw new AssertionError("Should not here"); - } - - /** - * Returns true if the given object is a Stub. - */ - public static boolean isStub(Object obj) { - return (proxy == null) ? false : proxy.isStub(obj); - } - - /** - * Returns the Delegate to which the given Stub delegates. - */ - public static Object getDelegate(Object stub) { - ensureAvailable(); - return proxy.getDelegate(stub); - } - - /** - * Sets the Delegate for a given Stub. - */ - public static void setDelegate(Object stub, Object delegate) { - ensureAvailable(); - proxy.setDelegate(stub, delegate); - } - - /** - * Returns the ORB associated with the given stub - * - * @throws UnsupportedOperationException - * if the object does not support the operation that - * was invoked - */ - public static Object getOrb(Object stub) { - ensureAvailable(); - return proxy.getOrb(stub); - } - - /** - * Connects the Stub to the given ORB. - */ - public static void connect(Object stub, Object orb) - throws IOException - { - if (proxy == null) - throw new IOException("Connection to ORB failed, RMI/IIOP not available"); - proxy.connect(stub, orb); - } - - /** - * Returns true if the given object is an ORB. - */ - public static boolean isOrb(Object obj) { - return (proxy == null) ? false : proxy.isOrb(obj); - } - - /** - * Creates, and returns, a new ORB instance. - */ - public static Object createOrb(String[] args, Properties props) - throws IOException - { - if (proxy == null) - throw new IOException("ORB initialization failed, RMI/IIOP not available"); - return proxy.createOrb(args, props); - } - - /** - * Converts a string, produced by the object_to_string method, back - * to a CORBA object reference. - */ - public static Object stringToObject(Object orb, String str) { - ensureAvailable(); - return proxy.stringToObject(orb, str); - } - - /** - * Converts the given CORBA object reference to a string. - */ - public static String objectToString(Object orb, Object obj) { - ensureAvailable(); - return proxy.objectToString(orb, obj); - } - - /** - * Checks to ensure that an object of a remote or abstract interface - * type can be cast to a desired type. - */ - public static T narrow(Object narrowFrom, Class narrowTo) { - ensureAvailable(); - return proxy.narrow(narrowFrom, narrowTo); - } - - /** - * Makes a server object ready to receive remote calls - */ - public static void exportObject(Remote obj) throws IOException { - if (proxy == null) - throw new IOException("RMI object cannot be exported, RMI/IIOP not available"); - proxy.exportObject(obj); - } - - /** - * Deregisters a server object from the runtime. - */ - public static void unexportObject(Remote obj) throws IOException { - if (proxy == null) - throw new NoSuchObjectException("Object not exported"); - proxy.unexportObject(obj); - } - - /** - * Returns a stub for the given server object. - */ - public static Remote toStub(Remote obj) throws IOException { - if (proxy == null) - throw new NoSuchObjectException("Object not exported"); - return proxy.toStub(obj); - } -} diff --git a/jdk/src/java.management/share/classes/com/sun/jmx/remote/internal/IIOPProxy.java b/jdk/src/java.management/share/classes/com/sun/jmx/remote/internal/IIOPProxy.java deleted file mode 100644 index b7e2ef6fe4c..00000000000 --- a/jdk/src/java.management/share/classes/com/sun/jmx/remote/internal/IIOPProxy.java +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Copyright (c) 2009, Oracle and/or its affiliates. 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. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package com.sun.jmx.remote.internal; - -import java.util.Properties; -import java.rmi.Remote; -import java.rmi.RemoteException; -import java.rmi.NoSuchObjectException; - -/** - * An interface to a subset of the RMI-IIOP and CORBA APIs to avoid a - * static dependencies on the types defined by these APIs. - */ - -public interface IIOPProxy { - - /** - * Returns true if the given object is a Stub. - */ - boolean isStub(Object obj); - - /** - * Returns the Delegate to which the given Stub delegates. - */ - Object getDelegate(Object stub); - - /** - * Sets the Delegate for a given Stub. - */ - void setDelegate(Object stub, Object delegate); - - /** - * Returns the ORB associated with the given stub - * - * @throws UnsupportedOperationException - * if the object does not support the operation that - * was invoked - */ - Object getOrb(Object stub); - - /** - * Connects the Stub to the given ORB. - */ - void connect(Object stub, Object orb) throws RemoteException; - - /** - * Returns true if the given object is an ORB. - */ - boolean isOrb(Object obj); - - /** - * Creates, and returns, a new ORB instance. - */ - Object createOrb(String[] args, Properties props); - - /** - * Converts a string, produced by the object_to_string method, back - * to a CORBA object reference. - */ - Object stringToObject(Object orb, String str); - - /** - * Converts the given CORBA object reference to a string. - */ - String objectToString(Object orb, Object obj); - - /** - * Checks to ensure that an object of a remote or abstract interface - * type can be cast to a desired type. - */ - T narrow(Object narrowFrom, Class narrowTo); - - /** - * Makes a server object ready to receive remote calls - */ - void exportObject(Remote obj) throws RemoteException; - - /** - * Deregisters a server object from the runtime. - */ - void unexportObject(Remote obj) throws NoSuchObjectException; - - /** - * Returns a stub for the given server object. - */ - Remote toStub(Remote obj) throws NoSuchObjectException; -} diff --git a/jdk/src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/ClientProvider.java b/jdk/src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/ClientProvider.java deleted file mode 100644 index eeeb6715982..00000000000 --- a/jdk/src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/ClientProvider.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (c) 2003, 2004, Oracle and/or its affiliates. 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. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package com.sun.jmx.remote.protocol.iiop; - -import java.io.IOException; -import java.net.MalformedURLException; -import java.util.Map; - -import javax.management.remote.JMXConnectorProvider; -import javax.management.remote.JMXConnector; -import javax.management.remote.JMXServiceURL; -import javax.management.remote.rmi.RMIConnector; - -public class ClientProvider implements JMXConnectorProvider { - - public JMXConnector newJMXConnector(JMXServiceURL serviceURL, - Map environment) - throws IOException { - if (!serviceURL.getProtocol().equals("iiop")) { - throw new MalformedURLException("Protocol not iiop: " + - serviceURL.getProtocol()); - } - return new RMIConnector(serviceURL, environment); - } -} diff --git a/jdk/src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/IIOPProxyImpl.java b/jdk/src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/IIOPProxyImpl.java deleted file mode 100644 index b0fe91bf728..00000000000 --- a/jdk/src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/IIOPProxyImpl.java +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Copyright (c) 2009,2013, Oracle and/or its affiliates. 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. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package com.sun.jmx.remote.protocol.iiop; - -import org.omg.CORBA.ORB; -import org.omg.CORBA.portable.Delegate; -import javax.rmi.PortableRemoteObject; -import javax.rmi.CORBA.Stub; - -import java.util.Properties; -import java.rmi.Remote; -import java.rmi.RemoteException; -import java.rmi.NoSuchObjectException; - -import com.sun.jmx.remote.internal.IIOPProxy; -import java.io.SerializablePermission; -import java.security.AccessControlContext; -import java.security.AccessController; -import java.security.Permissions; -import java.security.PrivilegedActionException; -import java.security.PrivilegedExceptionAction; -import java.security.ProtectionDomain; - -/** - * An implementation of IIOPProxy that simply delegates to the appropriate - * RMI-IIOP and CORBA APIs. - */ - -public class IIOPProxyImpl implements IIOPProxy { - // special ACC used to initialize the IIOP stub - // the only allowed privilege is SerializablePermission("enableSubclassImplementation") - private static final AccessControlContext STUB_ACC; - - static { - Permissions p = new Permissions(); - p.add(new SerializablePermission("enableSubclassImplementation")); - STUB_ACC = new AccessControlContext( - new ProtectionDomain[]{ - new ProtectionDomain(null, p) - } - ); - } - - public IIOPProxyImpl() { } - - @Override - public boolean isStub(Object obj) { - return (obj instanceof Stub); - } - - @Override - public Object getDelegate(Object stub) { - return ((Stub)stub)._get_delegate(); - } - - @Override - public void setDelegate(Object stub, Object delegate) { - ((Stub)stub)._set_delegate((Delegate)delegate); - } - - @Override - public Object getOrb(Object stub) { - try { - return ((Stub)stub)._orb(); - } catch (org.omg.CORBA.BAD_OPERATION x) { - throw new UnsupportedOperationException(x); - } - } - - @Override - public void connect(Object stub, Object orb) - throws RemoteException - { - ((Stub)stub).connect((ORB)orb); - } - - @Override - public boolean isOrb(Object obj) { - return (obj instanceof ORB); - } - - @Override - public Object createOrb(String[] args, Properties props) { - return ORB.init(args, props); - } - - @Override - public Object stringToObject(Object orb, String str) { - return ((ORB)orb).string_to_object(str); - } - - @Override - public String objectToString(Object orb, Object obj) { - return ((ORB)orb).object_to_string((org.omg.CORBA.Object)obj); - } - - @Override - @SuppressWarnings("unchecked") - public T narrow(Object narrowFrom, Class narrowTo) { - return (T)PortableRemoteObject.narrow(narrowFrom, narrowTo); - } - - @Override - public void exportObject(Remote obj) throws RemoteException { - PortableRemoteObject.exportObject(obj); - } - - @Override - public void unexportObject(Remote obj) throws NoSuchObjectException { - PortableRemoteObject.unexportObject(obj); - } - - @Override - public Remote toStub(final Remote obj) throws NoSuchObjectException { - if (System.getSecurityManager() == null) { - return PortableRemoteObject.toStub(obj); - } else { - try { - return AccessController.doPrivileged(new PrivilegedExceptionAction() { - - @Override - public Remote run() throws Exception { - return PortableRemoteObject.toStub(obj); - } - }, STUB_ACC); - } catch (PrivilegedActionException e) { - if (e.getException() instanceof NoSuchObjectException) { - throw (NoSuchObjectException)e.getException(); - } - throw new RuntimeException("Unexpected exception type", e.getException()); - } - } - } -} diff --git a/jdk/src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/ProxyInputStream.java b/jdk/src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/ProxyInputStream.java deleted file mode 100644 index e7fda6098eb..00000000000 --- a/jdk/src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/ProxyInputStream.java +++ /dev/null @@ -1,241 +0,0 @@ -/* - * Copyright (c) 2003, 2008, Oracle and/or its affiliates. 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. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package com.sun.jmx.remote.protocol.iiop; - -import java.io.IOException; -import java.io.Serializable; -import java.math.BigDecimal; - -import org.omg.CORBA.Any; -import org.omg.CORBA.Context; -import org.omg.CORBA.NO_IMPLEMENT; -import org.omg.CORBA.ORB; -import org.omg.CORBA.TypeCode; -import org.omg.CORBA.portable.BoxedValueHelper; - -@SuppressWarnings({"deprecation", "rawtypes"}) -public class ProxyInputStream extends org.omg.CORBA_2_3.portable.InputStream { - public ProxyInputStream(org.omg.CORBA.portable.InputStream in) { - this.in = in; - } - - public boolean read_boolean() { - return in.read_boolean(); - } - - public char read_char() { - return in.read_char(); - } - - public char read_wchar() { - return in.read_wchar(); - } - - public byte read_octet() { - return in.read_octet(); - } - - public short read_short() { - return in.read_short(); - } - - public short read_ushort() { - return in.read_ushort(); - } - - public int read_long() { - return in.read_long(); - } - - public int read_ulong() { - return in.read_ulong(); - } - - public long read_longlong() { - return in.read_longlong(); - } - - public long read_ulonglong() { - return in.read_ulonglong(); - } - - public float read_float() { - return in.read_float(); - } - - public double read_double() { - return in.read_double(); - } - - public String read_string() { - return in.read_string(); - } - - public String read_wstring() { - return in.read_wstring(); - } - - public void read_boolean_array(boolean[] value, int offset, int length) { - in.read_boolean_array(value, offset, length); - } - - public void read_char_array(char[] value, int offset, int length) { - in.read_char_array(value, offset, length); - } - - public void read_wchar_array(char[] value, int offset, int length) { - in.read_wchar_array(value, offset, length); - } - - public void read_octet_array(byte[] value, int offset, int length) { - in.read_octet_array(value, offset, length); - } - - public void read_short_array(short[] value, int offset, int length) { - in.read_short_array(value, offset, length); - } - - public void read_ushort_array(short[] value, int offset, int length) { - in.read_ushort_array(value, offset, length); - } - - public void read_long_array(int[] value, int offset, int length) { - in.read_long_array(value, offset, length); - } - - public void read_ulong_array(int[] value, int offset, int length) { - in.read_ulong_array(value, offset, length); - } - - public void read_longlong_array(long[] value, int offset, int length) { - in.read_longlong_array(value, offset, length); - } - - public void read_ulonglong_array(long[] value, int offset, int length) { - in.read_ulonglong_array(value, offset, length); - } - - public void read_float_array(float[] value, int offset, int length) { - in.read_float_array(value, offset, length); - } - - public void read_double_array(double[] value, int offset, int length) { - in.read_double_array(value, offset, length); - } - - public org.omg.CORBA.Object read_Object() { - return in.read_Object(); - } - - public TypeCode read_TypeCode() { - return in.read_TypeCode(); - } - - public Any read_any() { - return in.read_any(); - } - - /** - * @deprecated - */ - @Override - @Deprecated - public org.omg.CORBA.Principal read_Principal() { - return in.read_Principal(); - } - - @Override - public int read() throws IOException { - return in.read(); - } - - @Override - public BigDecimal read_fixed() { - return in.read_fixed(); - } - - @Override - public Context read_Context() { - return in.read_Context(); - } - - @Override - public org.omg.CORBA.Object read_Object(java.lang.Class clz) { - return in.read_Object(clz); - } - - @Override - public ORB orb() { - return in.orb(); - } - - @Override - public Serializable read_value() { - return narrow().read_value(); - } - - @Override - public Serializable read_value(Class clz) { - return narrow().read_value(clz); - } - - @Override - public Serializable read_value(BoxedValueHelper factory) { - return narrow().read_value(factory); - } - - @Override - public Serializable read_value(String rep_id) { - return narrow().read_value(rep_id); - } - - @Override - public Serializable read_value(Serializable value) { - return narrow().read_value(value); - } - - @Override - public Object read_abstract_interface() { - return narrow().read_abstract_interface(); - } - - @Override - public Object read_abstract_interface(Class clz) { - return narrow().read_abstract_interface(clz); - } - - protected org.omg.CORBA_2_3.portable.InputStream narrow() { - if (in instanceof org.omg.CORBA_2_3.portable.InputStream) - return (org.omg.CORBA_2_3.portable.InputStream) in; - throw new NO_IMPLEMENT(); - } - - public org.omg.CORBA.portable.InputStream getProxiedInputStream() { - return in; - } - - protected final org.omg.CORBA.portable.InputStream in; -} diff --git a/jdk/src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/ServerProvider.java b/jdk/src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/ServerProvider.java deleted file mode 100644 index 2f248f52a0e..00000000000 --- a/jdk/src/java.management/share/classes/com/sun/jmx/remote/protocol/iiop/ServerProvider.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2003, 2004, Oracle and/or its affiliates. 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. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package com.sun.jmx.remote.protocol.iiop; - -import java.io.IOException; -import java.net.MalformedURLException; -import java.util.Map; - -import javax.management.MBeanServer; -import javax.management.remote.JMXConnectorServer; -import javax.management.remote.JMXConnectorServerProvider; -import javax.management.remote.JMXServiceURL; -import javax.management.remote.rmi.RMIConnectorServer; - -public class ServerProvider implements JMXConnectorServerProvider { - - public JMXConnectorServer newJMXConnectorServer(JMXServiceURL serviceURL, - Map environment, - MBeanServer mbeanServer) - throws IOException { - if (!serviceURL.getProtocol().equals("iiop")) { - throw new MalformedURLException("Protocol not iiop: " + - serviceURL.getProtocol()); - } - return new RMIConnectorServer(serviceURL, environment, mbeanServer); - } - -} diff --git a/jdk/src/java.management/share/classes/javax/management/remote/JMXConnectorFactory.java b/jdk/src/java.management/share/classes/javax/management/remote/JMXConnectorFactory.java index 2eb99d2b870..1458aca4c3b 100644 --- a/jdk/src/java.management/share/classes/javax/management/remote/JMXConnectorFactory.java +++ b/jdk/src/java.management/share/classes/javax/management/remote/JMXConnectorFactory.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2015, Oracle and/or its affiliates. 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 @@ -140,9 +140,7 @@ import sun.reflect.misc.ReflectUtil; * *

Every implementation must support the RMI connector protocol with * the default RMI transport, specified with string rmi. - * An implementation may optionally support the RMI connector protocol - * with the RMI/IIOP transport, specified with the string - * iiop.

+ *

* *

Once a provider is found, the result of the * newJMXConnector method is the result of calling {@link diff --git a/jdk/src/java.management/share/classes/javax/management/remote/JMXConnectorServerFactory.java b/jdk/src/java.management/share/classes/javax/management/remote/JMXConnectorServerFactory.java index bdaa4e7f1fd..2bfae84c688 100644 --- a/jdk/src/java.management/share/classes/javax/management/remote/JMXConnectorServerFactory.java +++ b/jdk/src/java.management/share/classes/javax/management/remote/JMXConnectorServerFactory.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2015, Oracle and/or its affiliates. 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 @@ -131,9 +131,7 @@ import javax.management.MBeanServer; * *

Every implementation must support the RMI connector protocol with * the default RMI transport, specified with string rmi. - * An implementation may optionally support the RMI connector protocol - * with the RMI/IIOP transport, specified with the string - * iiop.

+ *

* *

Once a provider is found, the result of the * newJMXConnectorServer method is the result of calling diff --git a/jdk/src/java.management/share/classes/javax/management/remote/rmi/NoCallStackClassLoader.java b/jdk/src/java.management/share/classes/javax/management/remote/rmi/NoCallStackClassLoader.java index e8addac66fe..8a0882f5369 100644 --- a/jdk/src/java.management/share/classes/javax/management/remote/rmi/NoCallStackClassLoader.java +++ b/jdk/src/java.management/share/classes/javax/management/remote/rmi/NoCallStackClassLoader.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2015, Oracle and/or its affiliates. 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 @@ -31,12 +31,11 @@ import java.security.ProtectionDomain;

A class loader that only knows how to define a limited number of classes, and load a limited number of other classes through delegation to another loader. It is used to get around a problem - with Serialization, in particular as used by RMI (including - RMI/IIOP). The JMX Remote API defines exactly what class loader - must be used to deserialize arguments on the server, and return - values on the client. We communicate this class loader to RMI by - setting it as the context class loader. RMI uses the context - class loader to load classes as it deserializes, which is what we + with Serialization, in particular as used by RMI. The JMX Remote API + defines exactly what class loader must be used to deserialize arguments on + the server, and return values on the client. We communicate this class + loader to RMI by setting it as the context class loader. RMI uses the + context class loader to load classes as it deserializes, which is what we want. However, before consulting the context class loader, it looks up the call stack for a class with a non-null class loader, and uses that if it finds one. So, in the standalone version of diff --git a/jdk/src/java.management/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java b/jdk/src/java.management/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java index 5fb3c9d0508..dd050e4ef9c 100644 --- a/jdk/src/java.management/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java +++ b/jdk/src/java.management/share/classes/javax/management/remote/rmi/RMIConnectionImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2015, Oracle and/or its affiliates. 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 @@ -76,11 +76,10 @@ public class RMIConnectionImpl implements RMIConnection, Unreferenced { /** * Constructs a new {@link RMIConnection}. This connection can be - * used with either the JRMP or IIOP transport. This object does + * used with the JRMP transport. This object does * not export itself: it is the responsibility of the caller to * export it appropriately (see {@link - * RMIJRMPServerImpl#makeClient(String,Subject)} and {@link - * RMIIIOPServerImpl#makeClient(String,Subject)}. + * RMIJRMPServerImpl#makeClient(String,Subject)}). * * @param rmiServer The RMIServerImpl object for which this * connection is created. The behavior is unspecified if this diff --git a/jdk/src/java.management/share/classes/javax/management/remote/rmi/RMIConnector.java b/jdk/src/java.management/share/classes/javax/management/remote/rmi/RMIConnector.java index 9f256481711..4bd796e3e7a 100644 --- a/jdk/src/java.management/share/classes/javax/management/remote/rmi/RMIConnector.java +++ b/jdk/src/java.management/share/classes/javax/management/remote/rmi/RMIConnector.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2015, Oracle and/or its affiliates. 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 @@ -30,25 +30,21 @@ import com.sun.jmx.remote.internal.ClientCommunicatorAdmin; import com.sun.jmx.remote.internal.ClientListenerInfo; import com.sun.jmx.remote.internal.ClientNotifForwarder; import com.sun.jmx.remote.internal.ProxyRef; -import com.sun.jmx.remote.internal.IIOPHelper; import com.sun.jmx.remote.util.ClassLogger; import com.sun.jmx.remote.util.EnvHelp; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import java.io.InvalidObjectException; -import java.io.NotSerializableException; import java.io.ObjectInputStream; import java.io.ObjectStreamClass; import java.io.Serializable; -import java.io.WriteAbortedException; import java.lang.ref.WeakReference; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationHandler; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Proxy; import java.net.MalformedURLException; -import java.rmi.MarshalException; import java.rmi.MarshalledObject; import java.rmi.NoSuchObjectException; import java.rmi.Remote; @@ -61,13 +57,12 @@ import java.rmi.server.RemoteRef; import java.security.AccessController; import java.security.PrivilegedAction; import java.security.PrivilegedExceptionAction; -import java.security.PrivilegedActionException; import java.security.ProtectionDomain; import java.util.Arrays; import java.util.Collections; import java.util.HashMap; +import java.util.Hashtable; import java.util.Map; -import java.util.Properties; import java.util.Set; import java.util.WeakHashMap; import javax.management.Attribute; @@ -146,22 +141,20 @@ public class RMIConnector implements JMXConnector, Serializable, JMXAddressable * the RMI connector server with the given address.

* *

The address can refer directly to the connector server, - * using one of the following syntaxes:

+ * using the following syntax:

* *
      * service:jmx:rmi://[host[:port]]/stub/encoded-stub
-     * service:jmx:iiop://[host[:port]]/ior/encoded-IOR
      * 
* *

(Here, the square brackets {@code []} are not part of the * address but indicate that the host and port are optional.)

* *

The address can instead indicate where to find an RMI stub - * through JNDI, using one of the following syntaxes:

+ * through JNDI, using the following syntax:

* *
      * service:jmx:rmi://[host[:port]]/jndi/jndi-name
-     * service:jmx:iiop://[host[:port]]/jndi/jndi-name
      * 
* *

An implementation may also recognize additional address @@ -242,8 +235,7 @@ public class RMIConnector implements JMXConnector, Serializable, JMXAddressable /** * @throws IOException if the connection could not be made because of a - * communication problem, or in the case of the {@code iiop} protocol, - * that RMI/IIOP is not supported + * communication problem */ public void connect() throws IOException { connect(null); @@ -251,8 +243,7 @@ public class RMIConnector implements JMXConnector, Serializable, JMXAddressable /** * @throws IOException if the connection could not be made because of a - * communication problem, or in the case of the {@code iiop} protocol, - * that RMI/IIOP is not supported + * communication problem */ public synchronized void connect(Map environment) throws IOException { @@ -294,9 +285,7 @@ public class RMIConnector implements JMXConnector, Serializable, JMXAddressable if (checkStub) checkStub(stub, rmiServerImplStubClass); - // Connect IIOP Stub if needed. if (tracing) logger.trace("connect",idstr + " connecting stub..."); - stub = connectStub(stub,usemap); idstr = (tracing?"["+this.toString()+"]":null); // Calling newClient on the RMIServer stub. @@ -307,18 +296,6 @@ public class RMIConnector implements JMXConnector, Serializable, JMXAddressable try { connection = getConnection(stub, credentials, checkStub); } catch (java.rmi.RemoteException re) { - if (jmxServiceURL != null) { - final String pro = jmxServiceURL.getProtocol(); - final String path = jmxServiceURL.getURLPath(); - - if ("rmi".equals(pro) && - path.startsWith("/jndi/iiop:")) { - MalformedURLException mfe = new MalformedURLException( - "Protocol is rmi but JNDI scheme is iiop: " + jmxServiceURL); - mfe.initCause(re); - throw mfe; - } - } throw re; } @@ -1413,13 +1390,6 @@ public class RMIConnector implements JMXConnector, Serializable, JMXAddressable if (ioe instanceof UnmarshalException) { throw ioe; // the fix of 6937053 made ClientNotifForwarder.fetchNotifs // fetch one by one with UnmarshalException - } else if (ioe instanceof MarshalException) { - // IIOP will throw MarshalException wrapping a NotSerializableException - // when a server fails to serialize a response. - MarshalException me = (MarshalException)ioe; - if (me.detail instanceof NotSerializableException) { - throw (NotSerializableException)me.detail; - } } // Not serialization problem, return. @@ -1654,9 +1624,6 @@ public class RMIConnector implements JMXConnector, Serializable, JMXAddressable throw new IOException("Failed to get a RMI stub: "+ne); } - // Connect IIOP Stub if needed. - stub = connectStub(stub,env); - // Calling newClient on the RMIServer stub. Object credentials = env.get(CREDENTIALS); connection = stub.newClient(credentials); @@ -1693,103 +1660,6 @@ public class RMIConnector implements JMXConnector, Serializable, JMXAddressable //-------------------------------------------------------------------- // Private stuff - Serialization //-------------------------------------------------------------------- - /** - *

In order to be usable, an IIOP stub must be connected to an ORB. - * The stub is automatically connected to the ORB if: - *

    - *
  • It was returned by the COS naming
  • - *
  • Its server counterpart has been registered in COS naming - * through JNDI.
  • - *
- * Otherwise, it is not connected. A stub which is deserialized - * from Jini is not connected. A stub which is obtained from a - * non registered RMIIIOPServerImpl is not a connected.
- * A stub which is not connected can't be serialized, and thus - * can't be registered in Jini. A stub which is not connected can't - * be used to invoke methods on the server. - *

- * In order to palliate this, this method will connect the - * given stub if it is not yet connected. If the given - * RMIServer is not an instance of - * {@link javax.rmi.CORBA.Stub javax.rmi.CORBA.Stub}, then the - * method do nothing and simply returns that stub. Otherwise, - * this method will attempt to connect the stub to an ORB as - * follows: - *

    - *
  • This method looks in the provided environment for - * the "java.naming.corba.orb" property. If it is found, the - * referenced object (an {@link org.omg.CORBA.ORB ORB}) is used to - * connect the stub. Otherwise, a new org.omg.CORBA.ORB is created - * by calling {@link - * org.omg.CORBA.ORB#init(String[], Properties) - * org.omg.CORBA.ORB.init((String[])null,(Properties)null)}
  • - *
  • The new created ORB is kept in a static - * {@link WeakReference} and can be reused for connecting other - * stubs. However, no reference is ever kept on the ORB provided - * in the environment map, if any.
  • - *
- * @param rmiServer A RMI Server Stub. - * @param environment An environment map, possibly containing an ORB. - * @return the given stub. - * @exception IllegalArgumentException if the - * {@code java.naming.corba.orb} property is specified and - * does not point to an {@link org.omg.CORBA.ORB ORB}. - * @exception IOException if the connection to the ORB failed. - **/ - static RMIServer connectStub(RMIServer rmiServer, - Map environment) - throws IOException { - if (IIOPHelper.isStub(rmiServer)) { - try { - IIOPHelper.getOrb(rmiServer); - } catch (UnsupportedOperationException x) { - // BAD_OPERATION - IIOPHelper.connect(rmiServer, resolveOrb(environment)); - } - } - return rmiServer; - } - - /** - * Get the ORB specified by environment, or create a - * new one. - *

This method looks in the provided environment for - * the "java.naming.corba.orb" property. If it is found, the - * referenced object (an {@link org.omg.CORBA.ORB ORB}) is - * returned. Otherwise, a new org.omg.CORBA.ORB is created - * by calling {@link - * org.omg.CORBA.ORB#init(String[], java.util.Properties) - * org.omg.CORBA.ORB.init((String[])null,(Properties)null)} - *

The new created ORB is kept in a static - * {@link WeakReference} and can be reused for connecting other - * stubs. However, no reference is ever kept on the ORB provided - * in the environment map, if any. - * @param environment An environment map, possibly containing an ORB. - * @return An ORB. - * @exception IllegalArgumentException if the - * {@code java.naming.corba.orb} property is specified and - * does not point to an {@link org.omg.CORBA.ORB ORB}. - * @exception IOException if the ORB initialization failed. - **/ - static Object resolveOrb(Map environment) - throws IOException { - if (environment != null) { - final Object orb = environment.get(EnvHelp.DEFAULT_ORB); - if (orb != null && !(IIOPHelper.isOrb(orb))) - throw new IllegalArgumentException(EnvHelp.DEFAULT_ORB + - " must be an instance of org.omg.CORBA.ORB."); - if (orb != null) return orb; - } - final Object orb = - (RMIConnector.orb==null)?null:RMIConnector.orb.get(); - if (orb != null) return orb; - - final Object newOrb = - IIOPHelper.createOrb((String[])null, (Properties)null); - RMIConnector.orb = new WeakReference(newOrb); - return newOrb; - } - /** * Read RMIConnector fields from an {@link java.io.ObjectInputStream * ObjectInputStream}. @@ -1846,7 +1716,6 @@ public class RMIConnector implements JMXConnector, Serializable, JMXAddressable throws IOException { if (rmiServer == null && jmxServiceURL == null) throw new InvalidObjectException("rmiServer and jmxServiceURL both null."); - connectStub(this.rmiServer,env); s.defaultWriteObject(); } @@ -1911,24 +1780,15 @@ public class RMIConnector implements JMXConnector, Serializable, JMXAddressable private RMIServer findRMIServer(JMXServiceURL directoryURL, Map environment) throws NamingException, IOException { - final boolean isIiop = RMIConnectorServer.isIiopURL(directoryURL,true); - if (isIiop) { - // Make sure java.naming.corba.orb is in the Map. - environment.put(EnvHelp.DEFAULT_ORB,resolveOrb(environment)); - } String path = directoryURL.getURLPath(); int end = path.indexOf(';'); if (end < 0) end = path.length(); if (path.startsWith("/jndi/")) - return findRMIServerJNDI(path.substring(6,end), environment, isIiop); + return findRMIServerJNDI(path.substring(6,end), environment); else if (path.startsWith("/stub/")) - return findRMIServerJRMP(path.substring(6,end), environment, isIiop); - else if (path.startsWith("/ior/")) { - if (!IIOPHelper.isAvailable()) - throw new IOException("iiop protocol not available"); - return findRMIServerIIOP(path.substring(5,end), environment, isIiop); - } else { + return findRMIServerJRMP(path.substring(6,end), environment); + else { final String msg = "URL path must begin with /jndi/ or /stub/ " + "or /ior/: " + path; throw new MalformedURLException(msg); @@ -1940,16 +1800,13 @@ public class RMIConnector implements JMXConnector, Serializable, JMXAddressable * @param jndiURL A JNDI URL indicating the location of the Stub * (see {@link javax.management.remote.rmi}), e.g.: *
  • {@code rmi://registry-host:port/rmi-stub-name}
  • - *
  • or {@code iiop://cosnaming-host:port/iiop-stub-name}
  • *
  • or {@code ldap://ldap-host:port/java-container-dn}
  • *
* @param env the environment Map passed to the connector. - * @param isIiop true if the stub is expected to be an IIOP stub. * @return The retrieved RMIServer stub. * @exception NamingException if the stub couldn't be found. **/ - private RMIServer findRMIServerJNDI(String jndiURL, Map env, - boolean isIiop) + private RMIServer findRMIServerJNDI(String jndiURL, Map env) throws NamingException { InitialContext ctx = new InitialContext(EnvHelp.mapToHashtable(env)); @@ -1957,10 +1814,7 @@ public class RMIConnector implements JMXConnector, Serializable, JMXAddressable Object objref = ctx.lookup(jndiURL); ctx.close(); - if (isIiop) - return narrowIIOPServer(objref); - else - return narrowJRMPServer(objref); + return narrowJRMPServer(objref); } private static RMIServer narrowJRMPServer(Object objref) { @@ -1968,28 +1822,8 @@ public class RMIConnector implements JMXConnector, Serializable, JMXAddressable return (RMIServer) objref; } - private static RMIServer narrowIIOPServer(Object objref) { - try { - return IIOPHelper.narrow(objref, RMIServer.class); - } catch (ClassCastException e) { - if (logger.traceOn()) - logger.trace("narrowIIOPServer","Failed to narrow objref=" + - objref + ": " + e); - if (logger.debugOn()) logger.debug("narrowIIOPServer",e); - return null; - } - } - - private RMIServer findRMIServerIIOP(String ior, Map env, boolean isIiop) { - // could forbid "rmi:" URL here -- but do we need to? - final Object orb = env.get(EnvHelp.DEFAULT_ORB); - final Object stub = IIOPHelper.stringToObject(orb, ior); - return IIOPHelper.narrow(stub, RMIServer.class); - } - - private RMIServer findRMIServerJRMP(String base64, Map env, boolean isIiop) + private RMIServer findRMIServerJRMP(String base64, Map env) throws IOException { - // could forbid "iiop:" URL here -- but do we need to? final byte[] serialized; try { serialized = base64ToByteArray(base64); @@ -2203,228 +2037,6 @@ public class RMIConnector implements JMXConnector, Serializable, JMXAddressable return proxyStub; } - /* - The following code performs a similar trick for RMI/IIOP to the - one described above for RMI/JRMP. Unlike JRMP, though, we - can't easily insert an object between the RMIConnection stub - and the RMI/IIOP deserialization code, as explained below. - - A method in an RMI/IIOP stub does the following. It makes an - org.omg.CORBA_2_3.portable.OutputStream for each request, and - writes the parameters to it. Then it calls - _invoke(OutputStream) which it inherits from CORBA's - ObjectImpl. That returns an - org.omg.CORBA_2_3.portable.InputStream. The return value is - read from this InputStream. So the stack during - deserialization looks like this: - - MBeanServerConnection.getAttribute (or whatever) - -> _RMIConnection_Stub.getAttribute - -> Util.readAny (a CORBA method) - -> InputStream.read_any - -> internal CORBA stuff - - What we would have *liked* to have done would be the same thing - as for RMI/JRMP. We create a "ProxyDelegate" that is an - org.omg.CORBA.portable.Delegate that simply forwards every - operation to the real original Delegate from the RMIConnection - stub, except that the InputStream returned by _invoke is - wrapped by a "ProxyInputStream" that is loaded by our - NoCallStackClassLoader. - - Unfortunately, this doesn't work, at least with Sun's J2SE - 1.4.2, because the CORBA code is not designed to allow you to - change Delegates arbitrarily. You get a ClassCastException - from code that expects the Delegate to implement an internal - interface. - - So instead we do the following. We create a subclass of the - stub that overrides the _invoke method so as to wrap the - returned InputStream in a ProxyInputStream. We create a - subclass of ProxyInputStream using the NoCallStackClassLoader - and override its read_any and read_value(Class) methods. - (These are the only methods called during deserialization of - MBeanServerConnection return values.) We extract the Delegate - from the original stub and insert it into our subclass stub, - and away we go. The state of a stub consists solely of its - Delegate. - - We also need to catch ApplicationException, which will encode - any exceptions declared in the throws clause of the called - method. Its InputStream needs to be wrapped in a - ProxyInputSteam too. - - We override _releaseReply in the stub subclass so that it - replaces a ProxyInputStream argument with the original - InputStream. This avoids problems if the implementation of - _releaseReply ends up casting this InputStream to an - implementation-specific interface (which in Sun's J2SE 5 it - does). - - It is not strictly necessary for the stub subclass to be loaded - by a NoCallStackClassLoader, since the call-stack search stops - at the ProxyInputStream subclass. However, it is convenient - for two reasons. One is that it means that the - ProxyInputStream subclass can be accessed directly, without - using reflection. The other is that it avoids build problems, - since usually stubs are created after other classes are - compiled, so we can't access them from this class without, - again, using reflection. - - The strings below encode the following two Java classes, - compiled using javac -g:none. - - package com.sun.jmx.remote.protocol.iiop; - - import org.omg.stub.javax.management.remote.rmi._RMIConnection_Stub; - - import org.omg.CORBA.portable.ApplicationException; - import org.omg.CORBA.portable.InputStream; - import org.omg.CORBA.portable.OutputStream; - import org.omg.CORBA.portable.RemarshalException; - - public class ProxyStub extends _RMIConnection_Stub { - public InputStream _invoke(OutputStream out) - throws ApplicationException, RemarshalException { - try { - return new PInputStream(super._invoke(out)); - } catch (ApplicationException e) { - InputStream pis = new PInputStream(e.getInputStream()); - throw new ApplicationException(e.getId(), pis); - } - } - - public void _releaseReply(InputStream in) { - if (in != null) - in = ((PInputStream)in).getProxiedInputStream(); - super._releaseReply(in); - } - } - - package com.sun.jmx.remote.protocol.iiop; - - public class PInputStream extends ProxyInputStream { - public PInputStream(org.omg.CORBA.portable.InputStream in) { - super(in); - } - - public org.omg.CORBA.Any read_any() { - return in.read_any(); - } - - public java.io.Serializable read_value(Class clz) { - return narrow().read_value(clz); - } - } - - - */ - private static final String iiopConnectionStubClassName = - "org.omg.stub.javax.management.remote.rmi._RMIConnection_Stub"; - private static final String proxyStubClassName = - "com.sun.jmx.remote.protocol.iiop.ProxyStub"; - private static final String ProxyInputStreamClassName = - "com.sun.jmx.remote.protocol.iiop.ProxyInputStream"; - private static final String pInputStreamClassName = - "com.sun.jmx.remote.protocol.iiop.PInputStream"; - private static final Class proxyStubClass; - static { - final String proxyStubByteCodeString = - "\312\376\272\276\0\0\0\63\0+\12\0\14\0\30\7\0\31\12\0\14\0\32\12"+ - "\0\2\0\33\7\0\34\12\0\5\0\35\12\0\5\0\36\12\0\5\0\37\12\0\2\0 "+ - "\12\0\14\0!\7\0\"\7\0#\1\0\6\1\0\3()V\1\0\4Code\1\0\7_in"+ - "voke\1\0K(Lorg/omg/CORBA/portable/OutputStream;)Lorg/omg/CORBA"+ - "/portable/InputStream;\1\0\15StackMapTable\7\0\34\1\0\12Except"+ - "ions\7\0$\1\0\15_releaseReply\1\0'(Lorg/omg/CORBA/portable/Inp"+ - "utStream;)V\14\0\15\0\16\1\0-com/sun/jmx/remote/protocol/iiop/"+ - "PInputStream\14\0\20\0\21\14\0\15\0\27\1\0+org/omg/CORBA/porta"+ - "ble/ApplicationException\14\0%\0&\14\0'\0(\14\0\15\0)\14\0*\0&"+ - "\14\0\26\0\27\1\0*com/sun/jmx/remote/protocol/iiop/ProxyStub\1"+ - "\0\1\0'("+ - "Lorg/omg/CORBA/portable/InputStream;)V\1\0\4Code\1\0\10read_an"+ - "y\1\0\25()Lorg/omg/CORBA/Any;\1\0\12read_value\1\0)(Ljava/lang"+ - "/Class;)Ljava/io/Serializable;\14\0\10\0\11\14\0\30\0\31\7\0\32"+ - "\14\0\13\0\14\14\0\33\0\34\7\0\35\14\0\15\0\16\1\0-com/sun/jmx"+ - "/remote/protocol/iiop/PInputStream\1\0\61com/sun/jmx/remote/pr"+ - "otocol/iiop/ProxyInputStream\1\0\2in\1\0$Lorg/omg/CORBA/portab"+ - "le/InputStream;\1\0\"org/omg/CORBA/portable/InputStream\1\0\6n"+ - "arrow\1\0*()Lorg/omg/CORBA_2_3/portable/InputStream;\1\0&org/o"+ - "mg/CORBA_2_3/portable/InputStream\0!\0\6\0\7\0\0\0\0\0\3\0\1\0"+ - "\10\0\11\0\1\0\12\0\0\0\22\0\2\0\2\0\0\0\6*+\267\0\1\261\0\0\0"+ - "\0\0\1\0\13\0\14\0\1\0\12\0\0\0\24\0\1\0\1\0\0\0\10*\264\0\2\266"+ - "\0\3\260\0\0\0\0\0\1\0\15\0\16\0\1\0\12\0\0\0\25\0\2\0\2\0\0\0"+ - "\11*\266\0\4+\266\0\5\260\0\0\0\0\0\0"; - final byte[] proxyStubByteCode = - NoCallStackClassLoader.stringToBytes(proxyStubByteCodeString); - final byte[] pInputStreamByteCode = - NoCallStackClassLoader.stringToBytes(pInputStreamByteCodeString); - final String[] classNames={proxyStubClassName, pInputStreamClassName}; - final byte[][] byteCodes = {proxyStubByteCode, pInputStreamByteCode}; - final String[] otherClassNames = { - iiopConnectionStubClassName, - ProxyInputStreamClassName, - }; - if (IIOPHelper.isAvailable()) { - PrivilegedExceptionAction> action = - new PrivilegedExceptionAction>() { - public Class run() throws Exception { - Class thisClass = RMIConnector.class; - ClassLoader thisLoader = thisClass.getClassLoader(); - ProtectionDomain thisProtectionDomain = - thisClass.getProtectionDomain(); - ClassLoader cl = - new NoCallStackClassLoader(classNames, - byteCodes, - otherClassNames, - thisLoader, - thisProtectionDomain); - return cl.loadClass(proxyStubClassName); - } - }; - Class stubClass; - try { - stubClass = AccessController.doPrivileged(action); - } catch (Exception e) { - logger.error("", - "Unexpected exception making shadow IIOP stub class: "+e); - logger.debug("",e); - stubClass = null; - } - proxyStubClass = stubClass; - } else { - proxyStubClass = null; - } - } - - private static RMIConnection shadowIiopStub(Object stub) - throws InstantiationException, IllegalAccessException { - Object proxyStub = null; - try { - proxyStub = AccessController.doPrivileged(new PrivilegedExceptionAction() { - public Object run() throws Exception { - return proxyStubClass.newInstance(); - } - }); - } catch (PrivilegedActionException e) { - throw new InternalError(); - } - IIOPHelper.setDelegate(proxyStub, IIOPHelper.getDelegate(stub)); - return (RMIConnection) proxyStub; - } private static RMIConnection getConnection(RMIServer server, Object credentials, boolean checkStub) @@ -2434,8 +2046,6 @@ public class RMIConnector implements JMXConnector, Serializable, JMXAddressable try { if (c.getClass() == rmiConnectionImplStubClass) return shadowJrmpStub((RemoteObject) c); - if (c.getClass().getName().equals(iiopConnectionStubClassName)) - return shadowIiopStub(c); logger.trace("getConnection", "Did not wrap " + c.getClass() + " to foil " + "stack search for classes: class loading semantics " + diff --git a/jdk/src/java.management/share/classes/javax/management/remote/rmi/RMIConnectorServer.java b/jdk/src/java.management/share/classes/javax/management/remote/rmi/RMIConnectorServer.java index 4cdb092c6d2..fe90422c193 100644 --- a/jdk/src/java.management/share/classes/javax/management/remote/rmi/RMIConnectorServer.java +++ b/jdk/src/java.management/share/classes/javax/management/remote/rmi/RMIConnectorServer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2015, Oracle and/or its affiliates. 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 @@ -27,7 +27,6 @@ package javax.management.remote.rmi; import com.sun.jmx.remote.security.MBeanServerFileAccessController; -import com.sun.jmx.remote.internal.IIOPHelper; import com.sun.jmx.remote.util.ClassLogger; import com.sun.jmx.remote.util.EnvHelp; @@ -117,8 +116,8 @@ public class RMIConnectorServer extends JMXConnectorServer { * * @exception MalformedURLException if url does not * conform to the syntax for an RMI connector, or if its protocol - * is not recognized by this implementation. Only "rmi" and "iiop" - * are valid when this constructor is used. + * is not recognized by this implementation. Only "rmi" is valid when + * this constructor is used. * * @exception IOException if the connector server cannot be created * for some reason or if it is inevitable that its {@link #start() @@ -151,8 +150,8 @@ public class RMIConnectorServer extends JMXConnectorServer { * * @exception MalformedURLException if url does not * conform to the syntax for an RMI connector, or if its protocol - * is not recognized by this implementation. Only "rmi" and "iiop" - * are valid when this constructor is used. + * is not recognized by this implementation. Only "rmi" is valid + * when this constructor is used. * * @exception IOException if the connector server cannot be created * for some reason or if it is inevitable that its {@link #start() @@ -179,7 +178,7 @@ public class RMIConnectorServer extends JMXConnectorServer { * consistent with the protocol type specified in url. * If this parameter is non null, the protocol type specified by * url is not constrained, and is assumed to be valid. - * Otherwise, only "rmi" and "iiop" will be recognized. + * Otherwise, only "rmi" will be recognized. * * @param mbeanServer the MBean server to which the new connector * server is attached, or null if it will be attached by being @@ -189,8 +188,8 @@ public class RMIConnectorServer extends JMXConnectorServer { * * @exception MalformedURLException if url does not * conform to the syntax for an RMI connector, or if its protocol - * is not recognized by this implementation. Only "rmi" and "iiop" - * are recognized when rmiServerImpl is null. + * is not recognized by this implementation. Only "rmi" is recognized + * when rmiServerImpl is null. * * @exception IOException if the connector server cannot be created * for some reason or if it is inevitable that its {@link #start() @@ -208,7 +207,7 @@ public class RMIConnectorServer extends JMXConnectorServer { IllegalArgumentException("Null JMXServiceURL"); if (rmiServerImpl == null) { final String prt = url.getProtocol(); - if (prt == null || !(prt.equals("rmi") || prt.equals("iiop"))) { + if (prt == null || !(prt.equals("rmi"))) { final String msg = "Invalid protocol type: " + prt; throw new MalformedURLException(msg); } @@ -298,11 +297,6 @@ public class RMIConnectorServer extends JMXConnectorServer { *
  • If an RMIServerImpl was supplied to the * constructor, it is used. * - *
  • Otherwise, if the protocol part of the - * JMXServiceURL supplied to the constructor was - * iiop, an object of type {@link RMIIIOPServerImpl} - * is created. - * *
  • Otherwise, if the JMXServiceURL * was null, or its protocol part was rmi, an object * of type {@link RMIJRMPServerImpl} is created. @@ -324,21 +318,19 @@ public class RMIConnectorServer extends JMXConnectorServer { * will not be bound to a directory. Instead, a reference to it * will be encoded in the URL path of the RMIConnectorServer * address (returned by {@link #getAddress()}). The encodings for - * rmi and iiop are described in the - * package documentation for {@link - * javax.management.remote.rmi}.

    + * rmi are described in the package documentation for + * {@link javax.management.remote.rmi}.

    * *

    The behavior when the URL path is neither empty nor a JNDI - * directory URL, or when the protocol is neither rmi - * nor iiop, is implementation defined, and may - * include throwing {@link MalformedURLException} when the - * connector server is created or when it is started.

    + * directory URL, or when the protocol is not rmi, + * is implementation defined, and may include throwing + * {@link MalformedURLException} when the connector server is created + * or when it is started.

    * * @exception IllegalStateException if the connector server has * not been attached to an MBean server. * @exception IOException if the connector server cannot be - * started, or in the case of the {@code iiop} protocol, that - * RMI/IIOP is not supported. + * started. */ public synchronized void start() throws IOException { final boolean tracing = logger.traceOn(); @@ -649,16 +641,13 @@ public class RMIConnectorServer extends JMXConnectorServer { * Creates a new RMIServerImpl. **/ RMIServerImpl newServer() throws IOException { - final boolean iiop = isIiopURL(address,true); final int port; if (address == null) port = 0; else port = address.getPort(); - if (iiop) - return newIIOPServer(attributes); - else - return newJRMPServer(attributes, port); + + return newJRMPServer(attributes, port); } /** @@ -675,10 +664,7 @@ public class RMIConnectorServer extends JMXConnectorServer { final int port; if (address == null) { - if (IIOPHelper.isStub(rmiServer)) - protocol = "iiop"; - else - protocol = "rmi"; + protocol = "rmi"; host = null; // will default to local host name port = 0; } else { @@ -692,31 +678,12 @@ public class RMIConnectorServer extends JMXConnectorServer { address = new JMXServiceURL(protocol, host, port, urlPath); } - static boolean isIiopURL(JMXServiceURL directoryURL, boolean strict) - throws MalformedURLException { - String protocol = directoryURL.getProtocol(); - if (protocol.equals("rmi")) - return false; - else if (protocol.equals("iiop")) - return true; - else if (strict) { - - throw new MalformedURLException("URL must have protocol " + - "\"rmi\" or \"iiop\": \"" + - protocol + "\""); - } - return false; - } - /** * Returns the IOR of the given rmiServer. **/ static String encodeStub( RMIServer rmiServer, Map env) throws IOException { - if (IIOPHelper.isStub(rmiServer)) - return "/ior/" + encodeIIOPStub(rmiServer, env); - else - return "/stub/" + encodeJRMPStub(rmiServer, env); + return "/stub/" + encodeJRMPStub(rmiServer, env); } static String encodeJRMPStub( @@ -730,17 +697,6 @@ public class RMIConnectorServer extends JMXConnectorServer { return byteArrayToBase64(bytes); } - static String encodeIIOPStub( - RMIServer rmiServer, Map env) - throws IOException { - try { - Object orb = IIOPHelper.getOrb(rmiServer); - return IIOPHelper.objectToString(orb, rmiServer); - } catch (RuntimeException x) { - throw newIOException(x.getMessage(), x); - } - } - /** * Object that we will bind to the registry. * This object is a stub connected to our RMIServerImpl. @@ -748,8 +704,7 @@ public class RMIConnectorServer extends JMXConnectorServer { private static RMIServer objectToBind( RMIServerImpl rmiServer, Map env) throws IOException { - return RMIConnector. - connectStub((RMIServer)rmiServer.toStub(),env); + return (RMIServer)rmiServer.toStub(); } private static RMIServerImpl newJRMPServer(Map env, int port) @@ -761,11 +716,6 @@ public class RMIConnectorServer extends JMXConnectorServer { return new RMIJRMPServerImpl(port, csf, ssf, env); } - private static RMIServerImpl newIIOPServer(Map env) - throws IOException { - return new RMIIIOPServerImpl(env); - } - private static String byteArrayToBase64(byte[] a) { int aLen = a.length; int numFullGroups = aLen/3; diff --git a/jdk/src/java.management/share/classes/javax/management/remote/rmi/RMIIIOPServerImpl.java b/jdk/src/java.management/share/classes/javax/management/remote/rmi/RMIIIOPServerImpl.java index 45be553e1f7..00b25b71d9e 100644 --- a/jdk/src/java.management/share/classes/javax/management/remote/rmi/RMIIIOPServerImpl.java +++ b/jdk/src/java.management/share/classes/javax/management/remote/rmi/RMIIIOPServerImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2007, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2015, Oracle and/or its affiliates. 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 @@ -27,16 +27,9 @@ package javax.management.remote.rmi; import java.io.IOException; import java.rmi.Remote; -import java.security.AccessControlContext; -import java.security.AccessController; -import java.security.PrivilegedActionException; -import java.security.PrivilegedExceptionAction; import java.util.Map; -import java.util.Collections; import javax.security.auth.Subject; -import com.sun.jmx.remote.internal.IIOPHelper; - /** *

    An {@link RMIServerImpl} that is exported through IIOP and that * creates client connections as RMI objects exported through IIOP. @@ -45,120 +38,59 @@ import com.sun.jmx.remote.internal.IIOPHelper; * @see RMIServerImpl * * @since 1.5 + * @deprecated This transport is no longer supported. */ +@Deprecated public class RMIIIOPServerImpl extends RMIServerImpl { /** - *

    Creates a new {@link RMIServerImpl}.

    + * Throws {@linkplain UnsupportedOperationException} * * @param env the environment containing attributes for the new * RMIServerImpl. Can be null, which is equivalent * to an empty Map. * - * @exception IOException if the RMI object cannot be created. + * @throws IOException if the RMI object cannot be created. */ public RMIIIOPServerImpl(Map env) throws IOException { super(env); - this.env = (env == null) ? Collections.emptyMap() : env; - - callerACC = AccessController.getContext(); + throw new UnsupportedOperationException(); } + @Override protected void export() throws IOException { - IIOPHelper.exportObject(this); + throw new UnsupportedOperationException("Method not supported. JMX RMI-IIOP is deprecated"); } + @Override protected String getProtocol() { return "iiop"; } - /** - *

    Returns an IIOP stub.

    - * The stub might not yet be connected to the ORB. The stub will - * be serializable only if it is connected to the ORB. - * @return an IIOP stub. - * @exception IOException if the stub cannot be created - e.g the - * RMIIIOPServerImpl has not been exported yet. - **/ + @Override public Remote toStub() throws IOException { - // javax.rmi.CORBA.Stub stub = - // (javax.rmi.CORBA.Stub) PortableRemoteObject.toStub(this); - final Remote stub = IIOPHelper.toStub(this); - // java.lang.System.out.println("NON CONNECTED STUB " + stub); - // org.omg.CORBA.ORB orb = - // org.omg.CORBA.ORB.init((String[])null, (Properties)null); - // stub.connect(orb); - // java.lang.System.out.println("CONNECTED STUB " + stub); - return stub; + throw new UnsupportedOperationException(); } - /** - *

    Creates a new client connection as an RMI object exported - * through IIOP. - * - * @param connectionId the ID of the new connection. Every - * connection opened by this connector server will have a - * different ID. The behavior is unspecified if this parameter is - * null. - * - * @param subject the authenticated subject. Can be null. - * - * @return the newly-created RMIConnection. - * - * @exception IOException if the new client object cannot be - * created or exported. - */ + @Override protected RMIConnection makeClient(String connectionId, Subject subject) throws IOException { - - if (connectionId == null) - throw new NullPointerException("Null connectionId"); - - RMIConnection client = - new RMIConnectionImpl(this, connectionId, getDefaultClassLoader(), - subject, env); - IIOPHelper.exportObject(client); - return client; + throw new UnsupportedOperationException(); } + @Override protected void closeClient(RMIConnection client) throws IOException { - IIOPHelper.unexportObject(client); + throw new UnsupportedOperationException(); } - /** - *

    Called by {@link #close()} to close the connector server by - * unexporting this object. After returning from this method, the - * connector server must not accept any new connections.

    - * - * @exception IOException if the attempt to close the connector - * server failed. - */ + @Override protected void closeServer() throws IOException { - IIOPHelper.unexportObject(this); + throw new UnsupportedOperationException(); } @Override RMIConnection doNewClient(final Object credentials) throws IOException { - if (callerACC == null) { - throw new SecurityException("AccessControlContext cannot be null"); - } - try { - return AccessController.doPrivileged( - new PrivilegedExceptionAction() { - public RMIConnection run() throws IOException { - return superDoNewClient(credentials); - } - }, callerACC); - } catch (PrivilegedActionException pae) { - throw (IOException) pae.getCause(); - } + throw new UnsupportedOperationException(); } - - RMIConnection superDoNewClient(Object credentials) throws IOException { - return super.doNewClient(credentials); - } - - private final Map env; - private final AccessControlContext callerACC; } diff --git a/jdk/src/java.management/share/classes/javax/management/remote/rmi/RMIServerImpl.java b/jdk/src/java.management/share/classes/javax/management/remote/rmi/RMIServerImpl.java index 323f6bb2c2b..957a08e2535 100644 --- a/jdk/src/java.management/share/classes/javax/management/remote/rmi/RMIServerImpl.java +++ b/jdk/src/java.management/share/classes/javax/management/remote/rmi/RMIServerImpl.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2015, Oracle and/or its affiliates. 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 @@ -61,8 +61,7 @@ import javax.security.auth.Subject; * or by instantiating {@link RMIConnector}.

    * *

    This is an abstract class. Concrete subclasses define the - * details of the client connection objects, such as whether they use - * JRMP or IIOP.

    + * details of the client connection objects.

    * * @since 1.5 */ @@ -307,7 +306,7 @@ public abstract class RMIServerImpl implements Closeable, RMIServer { /** *

    Returns the protocol string for this object. The string is - * rmi for RMI/JRMP and iiop for RMI/IIOP. + * rmi for RMI/JRMP. * * @return the protocol string for this object. */ diff --git a/jdk/src/java.management/share/classes/javax/management/remote/rmi/package.html b/jdk/src/java.management/share/classes/javax/management/remote/rmi/package.html index 09b09a3021e..9669be24397 100644 --- a/jdk/src/java.management/share/classes/javax/management/remote/rmi/package.html +++ b/jdk/src/java.management/share/classes/javax/management/remote/rmi/package.html @@ -2,7 +2,7 @@ RMI connector + + + + + InvisibleParentTest + + + +

    InvisibleParentTest
    Bug ID: 6401700, 6412803

    + +

    See the dialog box (usually in upper left corner) for instructions

    + + + + diff --git a/jdk/test/java/awt/Modal/InvisibleParentTest/InvisibleParentTest.java b/jdk/test/java/awt/Modal/InvisibleParentTest/InvisibleParentTest.java new file mode 100644 index 00000000000..494369cd91a --- /dev/null +++ b/jdk/test/java/awt/Modal/InvisibleParentTest/InvisibleParentTest.java @@ -0,0 +1,235 @@ +/* + * Copyright (c) 2013, 2015, Oracle and/or its affiliates. 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. + * + * 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + test + @bug 6401700 6412803 + @summary Tests that modal dialog is shown on the screen and +iconified/restored correctly if some of its blocked windows are invisible + @author artem.ananiev: area=awt.modal + @run applet/manual=yesno InvisibleParentTest.html +*/ + +import java.applet.Applet; +import java.awt.BorderLayout; +import java.awt.Button; +import java.awt.Component; +import java.awt.Dialog; +import java.awt.Frame; +import java.awt.TextArea; +import java.awt.Window; + +public class InvisibleParentTest extends Applet +{ + public void init() + { + setLayout(new BorderLayout()); + + String[] instructions = + { + "If your system is Windows, press PASS button.", + "When the test starts two windows should appear: frame G1 and", + " dialog D1. Another one frame F1 should be minimized.", + " If the dialog is not shown (minimizied), press FAIL button.", + "Then minimize frame G1 and restore F1. If the dialog D1 is not", + " restored together with F1, press FAIL, else PASS" + }; + Sysout.createDialogWithInstructions( instructions ); + } + + public void start () + { + Button b; + + setSize (200,200); + setVisible(true); + validate(); + + Component c = this; + while ((c != null) && !(c instanceof Window)) + { + c = c.getParent(); + } + if (c != null) + { + ((Window)c).setModalExclusionType(Dialog.ModalExclusionType.APPLICATION_EXCLUDE); + } + + Frame f1 = new Frame("F1"); + f1.setBounds(100, 300, 100, 100); + f1.setVisible(true); + f1.setExtendedState(Frame.ICONIFIED); + + Frame g1 = new Frame("G1"); + g1.setBounds(150, 350, 100, 100); + g1.setVisible(true); + + final Dialog d1 = new Dialog((Frame)null, "D1", Dialog.ModalityType.APPLICATION_MODAL); + d1.setBounds(200, 400, 100, 100); + new Thread(new Runnable() + { + public void run() + { + d1.setVisible(true); + } + }).start(); + } +} + +/**************************************************** + Standard Test Machinery + DO NOT modify anything below -- it's a standard + chunk of code whose purpose is to make user + interaction uniform, and thereby make it simpler + to read and understand someone else's test. + ****************************************************/ + +/** + This is part of the standard test machinery. + It creates a dialog (with the instructions), and is the interface + for sending text messages to the user. + To print the instructions, send an array of strings to Sysout.createDialog + WithInstructions method. Put one line of instructions per array entry. + To display a message for the tester to see, simply call Sysout.println + with the string to be displayed. + This mimics System.out.println but works within the test harness as well + as standalone. + */ + +class Sysout +{ + private static TestDialog dialog; + + public static void createDialogWithInstructions( String[] instructions ) + { + dialog = new TestDialog( new Frame(), "Instructions" ); + dialog.printInstructions( instructions ); + dialog.setVisible(true); + println( "Any messages for the tester will display here." ); + } + + public static void createDialog( ) + { + dialog = new TestDialog( new Frame(), "Instructions" ); + String[] defInstr = { "Instructions will appear here. ", "" } ; + dialog.printInstructions( defInstr ); + dialog.setVisible(true); + println( "Any messages for the tester will display here." ); + } + + + public static void printInstructions( String[] instructions ) + { + dialog.printInstructions( instructions ); + } + + + public static void println( String messageIn ) + { + dialog.displayMessage( messageIn ); + } + +}// Sysout class + +/** + This is part of the standard test machinery. It provides a place for the + test instructions to be displayed, and a place for interactive messages + to the user to be displayed. + To have the test instructions displayed, see Sysout. + To have a message to the user be displayed, see Sysout. + Do not call anything in this dialog directly. + */ +class TestDialog extends Dialog +{ + + TextArea instructionsText; + TextArea messageText; + int maxStringLength = 80; + + //DO NOT call this directly, go through Sysout + public TestDialog( Frame frame, String name ) + { + super( frame, name ); + setModalExclusionType(Dialog.ModalExclusionType.APPLICATION_EXCLUDE); + int scrollBoth = TextArea.SCROLLBARS_BOTH; + instructionsText = new TextArea( "", 15, maxStringLength, scrollBoth ); + add( "North", instructionsText ); + + messageText = new TextArea( "", 5, maxStringLength, scrollBoth ); + add("Center", messageText); + + pack(); + + setVisible(true); + }// TestDialog() + + //DO NOT call this directly, go through Sysout + public void printInstructions( String[] instructions ) + { + //Clear out any current instructions + instructionsText.setText( "" ); + + //Go down array of instruction strings + + String printStr, remainingStr; + for( int i=0; i < instructions.length; i++ ) + { + //chop up each into pieces maxSringLength long + remainingStr = instructions[ i ]; + while( remainingStr.length() > 0 ) + { + //if longer than max then chop off first max chars to print + if( remainingStr.length() >= maxStringLength ) + { + //Try to chop on a word boundary + int posOfSpace = remainingStr. + lastIndexOf( ' ', maxStringLength - 1 ); + + if( posOfSpace <= 0 ) posOfSpace = maxStringLength - 1; + + printStr = remainingStr.substring( 0, posOfSpace + 1 ); + remainingStr = remainingStr.substring( posOfSpace + 1 ); + } + //else just print + else + { + printStr = remainingStr; + remainingStr = ""; + } + + instructionsText.append( printStr + "\n" ); + + }// while + + }// for + + }//printInstructions() + + //DO NOT call this directly, go through Sysout + public void displayMessage( String messageIn ) + { + messageText.append( messageIn + "\n" ); + System.out.println(messageIn); + } + +}// TestDialog class diff --git a/jdk/test/java/awt/PrintJob/Text/StringWidth.java b/jdk/test/java/awt/PrintJob/Text/StringWidth.java index 6773b7f6f96..2990672613f 100644 --- a/jdk/test/java/awt/PrintJob/Text/StringWidth.java +++ b/jdk/test/java/awt/PrintJob/Text/StringWidth.java @@ -23,7 +23,6 @@ import java.awt.*; import java.util.Properties; -import sun.awt.*; public class StringWidth extends Frame { From 61cfd94c6c9502a3cdb04f4c6aae0e04a93246ab Mon Sep 17 00:00:00 2001 From: Shilpi Rastogi Date: Tue, 8 Sep 2015 16:01:29 +0400 Subject: [PATCH 16/77] 8135176: Moving test from javax/swing/plaf/basic/BasicHTML/4960629 to test/javax/swing/plaf/basic/BasicHTML/4960629 Reviewed-by: azvegint, alexsch --- .../javax/swing/plaf/basic/BasicHTML/4960629/bug4960629.java | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename jdk/{ => test}/javax/swing/plaf/basic/BasicHTML/4960629/bug4960629.java (100%) diff --git a/jdk/javax/swing/plaf/basic/BasicHTML/4960629/bug4960629.java b/jdk/test/javax/swing/plaf/basic/BasicHTML/4960629/bug4960629.java similarity index 100% rename from jdk/javax/swing/plaf/basic/BasicHTML/4960629/bug4960629.java rename to jdk/test/javax/swing/plaf/basic/BasicHTML/4960629/bug4960629.java From 5ecb0a7e9edf1c54afb0badc4212def8bc2398e4 Mon Sep 17 00:00:00 2001 From: Shilpi Rastogi Date: Wed, 9 Sep 2015 10:31:59 +0300 Subject: [PATCH 17/77] 8005914: [TEST_BUG] The last column header does not contain "..." Reviewed-by: alexsch, serb --- .../JTableHeader/6442918/bug6442918a.java | 87 +++++++++++++++++++ jdk/test/javax/swing/regtesthelpers/Util.java | 39 +++++++++ 2 files changed, 126 insertions(+) create mode 100644 jdk/test/javax/swing/JTableHeader/6442918/bug6442918a.java diff --git a/jdk/test/javax/swing/JTableHeader/6442918/bug6442918a.java b/jdk/test/javax/swing/JTableHeader/6442918/bug6442918a.java new file mode 100644 index 00000000000..476ae0ec43e --- /dev/null +++ b/jdk/test/javax/swing/JTableHeader/6442918/bug6442918a.java @@ -0,0 +1,87 @@ +/* + * Copyright (c) 2015, Oracle and/or its affiliates. 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. + * + * 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* @test + @bug 6442918 8005914 + @summary Ensures that empty table headers do not show "..." + @author Shannon Hickey + @library ../../regtesthelpers + @build Util + @run main/manual bug6442918a + @requires os.family == "windows" +*/ + +import java.awt.BorderLayout; +import java.awt.Dimension; +import javax.swing.JDialog; +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JTable; +import javax.swing.JTextArea; +import javax.swing.SwingUtilities; +import javax.swing.UIManager; +import javax.swing.table.DefaultTableCellRenderer; + + +public class bug6442918a { + + public static void main(String[] args) throws Throwable, Exception { + SwingUtilities.invokeAndWait(new Runnable() { + public void run() { + try { + UIManager.setLookAndFeel("com.sun.java.swing.plaf" + + ".windows.WindowsLookAndFeel"); + } catch (Exception e) { + // test is for Windows look and feel + throw new RuntimeException("Test is only for WLaF." + + e.getMessage()); + } + runTest(); + } + }); + } + + private static void runTest() { + JDialog dialog = Util + .createModalDialogWithPassFailButtons("Empty header showing \"...\""); + String[] columnNames = {"", "", "", "", "Testing"}; + String[][] data = {{"1", "2", "3", "4", "5"}}; + JTable table = new JTable(data, columnNames); + DefaultTableCellRenderer renderer = new DefaultTableCellRenderer(); + int tableCellWidth = renderer.getFontMetrics(renderer.getFont()) + .stringWidth("test"); + table.setPreferredScrollableViewportSize(new Dimension( + 5 * tableCellWidth, 50)); + JPanel p = new JPanel(); + p.add(new JScrollPane(table)); + dialog.add(p, BorderLayout.NORTH); + JTextArea area = new JTextArea(); + String txt = "\nInstructions:\n\n"; + txt += "Only the last column header should show \"...\"."; + area.setText(txt); + dialog.add(new JScrollPane(area), BorderLayout.CENTER); + dialog.pack(); + dialog.setVisible(true); + } +} diff --git a/jdk/test/javax/swing/regtesthelpers/Util.java b/jdk/test/javax/swing/regtesthelpers/Util.java index 52fbf60a10d..534d99796ed 100644 --- a/jdk/test/javax/swing/regtesthelpers/Util.java +++ b/jdk/test/javax/swing/regtesthelpers/Util.java @@ -41,6 +41,7 @@ import java.util.concurrent.Callable; */ public class Util { + /** * Convert a rectangle from coordinate system of Component c to * screen coordinate system. @@ -266,4 +267,42 @@ public class Util { result.add(KeyEvent.VK_ALT); return result; } + + /** + * Creates and returns a JDialog with two button, one that says pass, + * another that says fail. The fail button is wired to call + * uiTestFailed with failString and the pass + * button is wired to invoked uiTestPassed. + *

    The content pane of the JDialog uses a BorderLayout with the + * buttons inside a horizontal box with filler between them and the + * pass button on the left. + *

    The returned Dialog has not been packed, or made visible, it is + * up to the caller to do that (after putting in some useful components). + */ + public static JDialog createModalDialogWithPassFailButtons(final String failString) { + JDialog retDialog = new JDialog(); + Box buttonBox = Box.createHorizontalBox(); + JButton passButton = new JButton("Pass"); + JButton failButton = new JButton("Fail"); + + passButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent ae) { + retDialog.dispose(); + } + }); + failButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent ae) { + retDialog.dispose(); + throw new RuntimeException("Test failed. " + failString); + } + }); + retDialog.setTitle("Test"); + retDialog.setModalityType(Dialog.ModalityType.APPLICATION_MODAL); + buttonBox.add(passButton); + buttonBox.add(Box.createGlue()); + buttonBox.add(failButton); + retDialog.getContentPane().add(buttonBox, BorderLayout.SOUTH); + retDialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); + return retDialog; + } } From cb34d07ae1c0cdccad13447abe8f9bcb09843aa5 Mon Sep 17 00:00:00 2001 From: Anton Nashatyrev Date: Wed, 9 Sep 2015 19:10:38 +0300 Subject: [PATCH 18/77] 8081485: EDT auto shutdown is broken in case of new event queue usage Reviewed-by: serb, alexp --- .../share/classes/java/awt/EventQueue.java | 12 +- .../EventQueuePushAutoshutdown.java | 75 +++++++++ .../EventQueuePushAutoshutdown.sh | 159 ++++++++++++++++++ 3 files changed, 241 insertions(+), 5 deletions(-) create mode 100644 jdk/test/java/awt/Toolkit/AutoShutdown/EventQueuePush/EventQueuePushAutoshutdown.java create mode 100644 jdk/test/java/awt/Toolkit/AutoShutdown/EventQueuePush/EventQueuePushAutoshutdown.sh diff --git a/jdk/src/java.desktop/share/classes/java/awt/EventQueue.java b/jdk/src/java.desktop/share/classes/java/awt/EventQueue.java index 620c3c4ece8..ae728fe295f 100644 --- a/jdk/src/java.desktop/share/classes/java/awt/EventQueue.java +++ b/jdk/src/java.desktop/share/classes/java/awt/EventQueue.java @@ -899,11 +899,13 @@ public class EventQueue { } } - // Wake up EDT waiting in getNextEvent(), so it can - // pick up a new EventQueue. Post the waking event before - // topQueue.nextQueue is assigned, otherwise the event would - // go newEventQueue - topQueue.postEventPrivate(new InvocationEvent(topQueue, dummyRunnable)); + if (topQueue.dispatchThread != null) { + // Wake up EDT waiting in getNextEvent(), so it can + // pick up a new EventQueue. Post the waking event before + // topQueue.nextQueue is assigned, otherwise the event would + // go newEventQueue + topQueue.postEventPrivate(new InvocationEvent(topQueue, dummyRunnable)); + } newEventQueue.previousQueue = topQueue; topQueue.nextQueue = newEventQueue; diff --git a/jdk/test/java/awt/Toolkit/AutoShutdown/EventQueuePush/EventQueuePushAutoshutdown.java b/jdk/test/java/awt/Toolkit/AutoShutdown/EventQueuePush/EventQueuePushAutoshutdown.java new file mode 100644 index 00000000000..b1c0237c4bf --- /dev/null +++ b/jdk/test/java/awt/Toolkit/AutoShutdown/EventQueuePush/EventQueuePushAutoshutdown.java @@ -0,0 +1,75 @@ +/* + * Copyright (c) 2015, Oracle and/or its affiliates. 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. + * + * 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + test + @bug 8081485 + @summary tests that a program terminates automatically after EventQueue.push() + @author Anton Nashatyrev : area=toolkit +*/ + +import java.awt.*; + +public class EventQueuePushAutoshutdown implements Runnable { + private volatile int status = 2; + + public EventQueuePushAutoshutdown() throws Exception { + Runtime.getRuntime().addShutdownHook(new Thread(this)); + Thread thread = new Thread() { + @Override + public void run() { + status = 0; + try { + Thread.sleep(10000); + } catch (InterruptedException e) { + e.printStackTrace(); + } finally { + status = 1; + System.exit(status); + } + } + }; + thread.setDaemon(true); + thread.start(); + + System.setProperty("java.awt.headless", "true"); + final EventQueue systemQueue = Toolkit.getDefaultToolkit().getSystemEventQueue(); + systemQueue.push(new EventQueue()); + EventQueue.invokeAndWait(new Runnable() { + @Override + public void run() { + System.out.println("Activated EDT"); + } + }); + System.out.println("After EDT activation"); + } + + public static void main(String[] args) throws Exception { + new EventQueuePushAutoshutdown(); + } + + @Override + public void run() { + Runtime.getRuntime().halt(status); + } +} diff --git a/jdk/test/java/awt/Toolkit/AutoShutdown/EventQueuePush/EventQueuePushAutoshutdown.sh b/jdk/test/java/awt/Toolkit/AutoShutdown/EventQueuePush/EventQueuePushAutoshutdown.sh new file mode 100644 index 00000000000..b88becb681c --- /dev/null +++ b/jdk/test/java/awt/Toolkit/AutoShutdown/EventQueuePush/EventQueuePushAutoshutdown.sh @@ -0,0 +1,159 @@ +#!/bin/ksh -p + +# +# Copyright (c) 20015, Oracle and/or its affiliates. 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. +# +# 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA +# or visit www.oracle.com if you need additional information or have any +# questions. +# + +# +# @test EventQueuePushAutoshutdown.sh +# @bug 8081485 +# @summary tests that a program terminates automatically +# after EventQueue.push() +# @author Anton Nashatyrev : area=toolkit +# +# @compile EventQueuePushAutoshutdown.java +# @run shell EventQueuePushAutoshutdown.sh + + +# Beginning of subroutines: +status=1 + +#Call this from anywhere to fail the test with an error message +# usage: fail "reason why the test failed" +fail() + { echo "The test failed :-(" + echo "$*" 1>&2 + echo "exit status was $status" + exit $status + } #end of fail() + +#Call this from anywhere to pass the test with a message +# usage: pass "reason why the test passed if applicable" +pass() + { echo "The test passed!!!" + echo "$*" 1>&2 + exit 0 + } #end of pass() + +# end of subroutines + + +# The beginning of the script proper +OS=`uname -s` +case "$OS" in + SunOS | Linux | Darwin | CYGWIN* ) + FILESEP="/" + ;; + + Windows_95 | Windows_98 | Windows_NT | Windows_ME ) + FILESEP="\\" + ;; + + # catch all other OSs + * ) + echo "Unrecognized system! $OS" + fail "Unrecognized system! $OS" + ;; +esac + + +# Want this test to run standalone as well as in the harness, so do the +# following to copy the test's directory into the harness's scratch directory +# and set all appropriate variables: + +if [ -z "${TESTJAVA}" ] ; then + # TESTJAVA is not set, so the test is running stand-alone. + # TESTJAVA holds the path to the root directory of the build of the JDK + # to be tested. That is, any java files run explicitly in this shell + # should use TESTJAVA in the path to the java interpreter. + # So, we'll set this to the JDK spec'd on the command line. If none + # is given on the command line, tell the user that and use a cheesy + # default. + # THIS IS THE JDK BEING TESTED. + if [ -n "$1" ] ; + then TESTJAVA=$1 + else fail "no JDK specified on command line!" + fi + TESTSRC=. + TESTCLASSES=. + STANDALONE=1; +fi +echo "JDK under test is: $TESTJAVA" + +#Deal with .class files: +if [ -n "${STANDALONE}" ] ; + then + #if standalone, remind user to cd to dir. containing test before running it + echo "Just a reminder: cd to the dir containing this test when running it" + # then compile all .java files (if there are any) into .class files + if [ -a *.java ] ; + then echo "Reminder, this test should be in its own directory with all" + echo "supporting files it needs in the directory with it." + ${TESTJAVA}/bin/javac ./*.java ; + fi + # else in harness so copy all the class files from where jtreg put them + # over to the scratch directory this test is running in. + else cp ${TESTCLASSES}/*.class . ; +fi + +#if in test harness, then copy the entire directory that the test is in over +# to the scratch directory. This catches any support files needed by the test. +if [ -z "${STANDALONE}" ] ; + then cp ${TESTSRC}/* . +fi + +#Just before executing anything, make sure it has executable permission! +chmod 777 ./* + +############### YOUR TEST CODE HERE!!!!!!! ############# + +#All files required for the test should be in the same directory with +# this file. If converting a standalone test to run with the harness, +# as long as all files are in the same directory and it returns 0 for +# pass, you should be able to cut and paste it into here and it will +# run with the test harness. + +${TESTJAVA}/bin/java EventQueuePushAutoshutdown + +############### END YOUR TEST CODE !!!!! ############ +#Be sure the last command executed above this line returns 0 for success, +# something non-zero for failure. +status=$? + +# pass or fail the test based on status of the command +case "$status" in + 0 ) + pass "" + ;; + + 1 ) + fail "The program didn't automatically shut down" + ;; + + * ) + fail "The program terminated unexpectedly!" + ;; +esac + +#For additional examples of how to write platform independent KSH scripts, +# see the jtreg file itself. It is a KSH script for both Solaris and Win32 + From 08da3be647ff911b81ec1359908b52e769bb06b5 Mon Sep 17 00:00:00 2001 From: Rajeev Chamyal Date: Thu, 10 Sep 2015 17:02:30 +0400 Subject: [PATCH 19/77] 8032568: Test javax/swing/JInternalFrame/8020708/bug8020708.java fails on Windows virtual hosts Reviewed-by: serb, alexsch --- .../swing/JInternalFrame/8020708/bug8020708.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/jdk/test/javax/swing/JInternalFrame/8020708/bug8020708.java b/jdk/test/javax/swing/JInternalFrame/8020708/bug8020708.java index 9aaa5afe2e0..3a3f82b0fe8 100644 --- a/jdk/test/javax/swing/JInternalFrame/8020708/bug8020708.java +++ b/jdk/test/javax/swing/JInternalFrame/8020708/bug8020708.java @@ -35,7 +35,7 @@ import javax.swing.UIManager; /** * @test - * @bug 8020708 + * @bug 8020708 8032568 * @author Alexander Scherbatiy * @summary NLS: mnemonics missing in SwingSet2/JInternalFrame demo * @library ../../regtesthelpers @@ -111,8 +111,14 @@ public class bug8020708 { Util.hitKeys(robot, KeyEvent.VK_CONTROL, KeyEvent.VK_SPACE); robot.waitForIdle(); - - Util.hitKeys(robot, KeyEvent.VK_C); + int keyCode = KeyEvent.VK_C; + String mnemonic = UIManager + .getString("InternalFrameTitlePane.closeButton.mnemonic"); + try { + keyCode = Integer.parseInt(mnemonic); + } catch (NumberFormatException e) { + } + Util.hitKeys(robot, keyCode); robot.waitForIdle(); robot.delay(500); From cedeb8472535f0dc76f334e26f48ae869dbd3959 Mon Sep 17 00:00:00 2001 From: Sergey Bylokhov Date: Fri, 11 Sep 2015 15:03:53 +0300 Subject: [PATCH 20/77] 7131835: [TEST_BUG] Test does not consider that the rounded edges of the window in Mac OS 10.7 Reviewed-by: azvegint, yan --- jdk/test/sun/java2d/OpenGL/CopyAreaOOB.java | 146 ++++++++++++++++++++ 1 file changed, 146 insertions(+) create mode 100644 jdk/test/sun/java2d/OpenGL/CopyAreaOOB.java diff --git a/jdk/test/sun/java2d/OpenGL/CopyAreaOOB.java b/jdk/test/sun/java2d/OpenGL/CopyAreaOOB.java new file mode 100644 index 00000000000..9129bb1d05d --- /dev/null +++ b/jdk/test/sun/java2d/OpenGL/CopyAreaOOB.java @@ -0,0 +1,146 @@ +/* + * Copyright (c) 2015, Oracle and/or its affiliates. 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. + * + * 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 6430601 + * @summary Verifies that copyArea() works properly when the + * destination parameters are outside the destination bounds. + * @run main/othervm CopyAreaOOB + * @run main/othervm -Dsun.java2d.opengl=True CopyAreaOOB + * @author campbelc + */ + +import java.awt.*; +import java.awt.image.*; + +public class CopyAreaOOB extends Canvas { + + private static boolean done; + + public void paint(Graphics g) { + synchronized (this) { + if (done) { + return; + } + } + + int w = getWidth(); + int h = getHeight(); + + Graphics2D g2d = (Graphics2D)g; + g2d.setColor(Color.black); + g2d.fillRect(0, 0, w, h); + + g2d.setColor(Color.green); + g2d.fillRect(0, 0, w, 10); + + g2d.setColor(Color.red); + g2d.fillRect(0, 10, 50, h-10); + + // copy the region such that part of it goes below the bottom of the + // destination surface + g2d.copyArea(0, 10, 50, h-10, 60, 10); + + Toolkit.getDefaultToolkit().sync(); + + synchronized (this) { + done = true; + notifyAll(); + } + } + + public Dimension getPreferredSize() { + return new Dimension(400, 400); + } + + private static void testRegion(BufferedImage bi, String name, + int x1, int y1, int x2, int y2, + int expected) + { + for (int y = y1; y < y2; y++) { + for (int x = x1; x < x2; x++) { + int actual = bi.getRGB(x, y); + if (actual != expected) { + throw new RuntimeException("Test failed for " + name + + " region at x="+x+" y="+y+ + " (expected="+ + Integer.toHexString(expected) + + " actual="+ + Integer.toHexString(actual) + + ")"); + } + } + } + } + + public static void main(String[] args) { + boolean show = (args.length == 1) && ("-show".equals(args[0])); + + CopyAreaOOB test = new CopyAreaOOB(); + Frame frame = new Frame(); + frame.setUndecorated(true); + frame.add(test); + frame.pack(); + frame.setLocationRelativeTo(null); + frame.setVisible(true); + + // Wait until the component's been painted + synchronized (test) { + while (!done) { + try { + test.wait(); + } catch (InterruptedException e) { + throw new RuntimeException("Failed: Interrupted"); + } + } + } + + try { + Thread.sleep(2000); + } catch (InterruptedException ex) {} + + // Grab the screen region + BufferedImage capture = null; + try { + Robot robot = new Robot(); + Point pt1 = test.getLocationOnScreen(); + Rectangle rect = new Rectangle(pt1.x, pt1.y, 400, 400); + capture = robot.createScreenCapture(rect); + } catch (Exception e) { + throw new RuntimeException("Problems creating Robot"); + } finally { + if (!show) { + frame.dispose(); + } + } + + // Test pixels + testRegion(capture, "green", 0, 0, 400, 10, 0xff00ff00); + testRegion(capture, "original red", 0, 10, 50, 400, 0xffff0000); + testRegion(capture, "background", 50, 10, 60, 400, 0xff000000); + testRegion(capture, "in-between", 60, 10, 110, 20, 0xff000000); + testRegion(capture, "copied red", 60, 20, 110, 400, 0xffff0000); + testRegion(capture, "background", 110, 10, 400, 400, 0xff000000); + } +} From 9c7443b15a03dff5857f478ade4d58887e5b1dc6 Mon Sep 17 00:00:00 2001 From: Rajeev Chamyal Date: Fri, 11 Sep 2015 17:12:16 +0400 Subject: [PATCH 21/77] 8025082: The behaviour of the highlight will be lost after clicking the set button Reviewed-by: serb, alexsch --- .../javax/swing/text/DefaultCaret.java | 13 +++ .../javax/swing/JTextPane/bug8025082.java | 108 ++++++++++++++++++ 2 files changed, 121 insertions(+) create mode 100644 jdk/test/javax/swing/JTextPane/bug8025082.java diff --git a/jdk/src/java.desktop/share/classes/javax/swing/text/DefaultCaret.java b/jdk/src/java.desktop/share/classes/javax/swing/text/DefaultCaret.java index 729c62a964c..f474ac79add 100644 --- a/jdk/src/java.desktop/share/classes/javax/swing/text/DefaultCaret.java +++ b/jdk/src/java.desktop/share/classes/javax/swing/text/DefaultCaret.java @@ -860,6 +860,7 @@ public class DefaultCaret extends Rectangle implements Caret, FocusListener, Mou Highlighter.HighlightPainter p = getSelectionPainter(); try { selectionTag = h.addHighlight(p0, p1, p); + updateOwnsSelection(); } catch (BadLocationException bl) { selectionTag = null; } @@ -870,6 +871,7 @@ public class DefaultCaret extends Rectangle implements Caret, FocusListener, Mou Highlighter h = component.getHighlighter(); h.removeHighlight(selectionTag); selectionTag = null; + updateOwnsSelection(); } } } @@ -1110,6 +1112,7 @@ public class DefaultCaret extends Rectangle implements Caret, FocusListener, Mou if (selectionTag != null) { h.removeHighlight(selectionTag); selectionTag = null; + updateOwnsSelection(); } // otherwise, change or add the highlight } else { @@ -1120,6 +1123,7 @@ public class DefaultCaret extends Rectangle implements Caret, FocusListener, Mou Highlighter.HighlightPainter p = getSelectionPainter(); selectionTag = h.addHighlight(p0, p1, p); } + updateOwnsSelection(); } catch (BadLocationException e) { throw new StateInvariantError("Bad caret position"); } @@ -1170,6 +1174,7 @@ public class DefaultCaret extends Rectangle implements Caret, FocusListener, Mou if (this.dot != dot || this.dotBias != dotBias || selectionTag != null || forceCaretPositionChange) { changeCaretPosition(dot, dotBias); + updateOwnsSelection(); } this.markBias = this.dotBias; this.markLTR = dotLTR; @@ -1177,6 +1182,7 @@ public class DefaultCaret extends Rectangle implements Caret, FocusListener, Mou if ((h != null) && (selectionTag != null)) { h.removeHighlight(selectionTag); selectionTag = null; + updateOwnsSelection(); } } @@ -1925,6 +1931,13 @@ public class DefaultCaret extends Rectangle implements Caret, FocusListener, Mou } } + /** + * Updates ownsSelection based on text selection in the caret. + */ + private void updateOwnsSelection() { + ownsSelection = (selectionTag != null) + && SwingUtilities2.canAccessSystemClipboard(); + } private class DefaultFilterBypass extends NavigationFilter.FilterBypass { public Caret getCaret() { diff --git a/jdk/test/javax/swing/JTextPane/bug8025082.java b/jdk/test/javax/swing/JTextPane/bug8025082.java new file mode 100644 index 00000000000..1c92f763837 --- /dev/null +++ b/jdk/test/javax/swing/JTextPane/bug8025082.java @@ -0,0 +1,108 @@ +/* + * Copyright (c) 2015, Oracle and/or its affiliates. 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. + * + * 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +/* + * @test + * @bug 8025082 + * @summary The behaviour of the highlight will be lost after clicking the set + * button. + * @run main bug8025082 + */ +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.InputEvent; +import javax.swing.*; + +public class bug8025082 { + + private static JButton button; + private static JFrame frame; + + public static void main(String[] args) throws Exception { + Robot robo = new Robot(); + robo.delay(500); + + SwingUtilities.invokeAndWait(new Runnable() { + public void run() { + createUI(); + } + }); + + robo.waitForIdle(); + Point point = getButtonLocationOnScreen(); + robo.mouseMove(point.x, point.y); + robo.mousePress(InputEvent.BUTTON1_MASK); + robo.mouseRelease(InputEvent.BUTTON1_MASK); + robo.waitForIdle(); + + SwingUtilities.invokeAndWait(new Runnable() { + public void run() { + frame.dispose(); + } + }); + } + + private static void createUI() { + frame = new JFrame(); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setSize(500, 500); + JTextPane textpane = new JTextPane(); + textpane.setText("Select Me"); + textpane.selectAll(); + + JPanel panel = new JPanel(new BorderLayout()); + panel.add(textpane, BorderLayout.CENTER); + button = new JButton("Press Me"); + panel.add(button, BorderLayout.SOUTH); + + button.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + if (!textpane.getCaret().isSelectionVisible()) { + throw new RuntimeException("Highlight removed after " + + "button click"); + } + } + }); + + frame.getContentPane().add(panel); + frame.setLocationRelativeTo(null); + frame.setVisible(true); + } + + private static Point getButtonLocationOnScreen() throws Exception { + final Point[] result = new Point[1]; + + SwingUtilities.invokeAndWait(new Runnable() { + @Override + public void run() { + Point point = button.getLocationOnScreen(); + point.x += button.getWidth() / 2; + point.y += button.getHeight() / 2; + result[0] = point; + } + }); + return result[0]; + } +} From da688f57c3822e0327ad717290bed88baa73bd17 Mon Sep 17 00:00:00 2001 From: Pooja Chopra Date: Fri, 11 Sep 2015 17:58:31 +0300 Subject: [PATCH 22/77] 8136354: [TEST_BUG] Test java/awt/image/RescaleOp/RescaleAlphaTest.java with Bad action for script Reviewed-by: azvegint, serb --- jdk/test/java/awt/image/RescaleOp/RescaleAlphaTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jdk/test/java/awt/image/RescaleOp/RescaleAlphaTest.java b/jdk/test/java/awt/image/RescaleOp/RescaleAlphaTest.java index b6b16eea158..39c6b8eeb2f 100644 --- a/jdk/test/java/awt/image/RescaleOp/RescaleAlphaTest.java +++ b/jdk/test/java/awt/image/RescaleOp/RescaleAlphaTest.java @@ -22,8 +22,8 @@ */ /** * @test - * @bug 8080287 - * @run RescaleAlphaTest + * @bug 8080287 8136354 + * @run main RescaleAlphaTest * @summary RescaleOp with scaleFactor/alpha should copy alpha to destination * channel */ From b78e96713bacb9e0aee0ecb46bd82a718ba603af Mon Sep 17 00:00:00 2001 From: Kim Barrett Date: Wed, 16 Sep 2015 16:25:02 +0200 Subject: [PATCH 23/77] 8136627: Backout JDK-8133818 Additional number of processed references printed with -XX:+PrintReferenceGC after JDK-8047125 Reviewed-by: brutisso --- hotspot/src/share/vm/gc/shared/gcTrace.cpp | 2 - .../share/vm/gc/shared/referenceProcessor.cpp | 38 +++++------- .../share/vm/gc/shared/referenceProcessor.hpp | 8 +-- .../vm/gc/shared/referenceProcessorStats.hpp | 22 +------ hotspot/src/share/vm/memory/referenceType.hpp | 6 +- hotspot/src/share/vm/prims/jvmtiExport.cpp | 4 +- hotspot/src/share/vm/prims/jvmtiExport.hpp | 2 +- hotspot/src/share/vm/prims/jvmtiTagMap.cpp | 26 ++++---- hotspot/src/share/vm/prims/jvmtiTagMap.hpp | 6 +- hotspot/src/share/vm/runtime/jniHandles.cpp | 14 ++--- hotspot/src/share/vm/runtime/jniHandles.hpp | 4 +- .../test/gc/logging/TestPrintReferences.java | 59 ------------------- 12 files changed, 47 insertions(+), 144 deletions(-) delete mode 100644 hotspot/test/gc/logging/TestPrintReferences.java diff --git a/hotspot/src/share/vm/gc/shared/gcTrace.cpp b/hotspot/src/share/vm/gc/shared/gcTrace.cpp index 8b830573546..e73eb386848 100644 --- a/hotspot/src/share/vm/gc/shared/gcTrace.cpp +++ b/hotspot/src/share/vm/gc/shared/gcTrace.cpp @@ -88,8 +88,6 @@ void GCTracer::report_gc_reference_stats(const ReferenceProcessorStats& rps) con send_reference_stats_event(REF_WEAK, rps.weak_count()); send_reference_stats_event(REF_FINAL, rps.final_count()); send_reference_stats_event(REF_PHANTOM, rps.phantom_count()); - send_reference_stats_event(REF_CLEANER, rps.cleaner_count()); - send_reference_stats_event(REF_JNI, rps.jni_weak_ref_count()); } #if INCLUDE_SERVICES diff --git a/hotspot/src/share/vm/gc/shared/referenceProcessor.cpp b/hotspot/src/share/vm/gc/shared/referenceProcessor.cpp index 59db7a75da0..0eecaf10469 100644 --- a/hotspot/src/share/vm/gc/shared/referenceProcessor.cpp +++ b/hotspot/src/share/vm/gc/shared/referenceProcessor.cpp @@ -243,13 +243,10 @@ ReferenceProcessorStats ReferenceProcessor::process_discovered_references( process_discovered_reflist(_discoveredPhantomRefs, NULL, false, is_alive, keep_alive, complete_gc, task_executor); - } - - // Cleaners - size_t cleaner_count = 0; - { - GCTraceTime tt("Cleaners", trace_time, false, gc_timer, gc_id); - cleaner_count = + // Process cleaners, but include them in phantom statistics. We expect + // Cleaner references to be temporary, and don't want to deal with + // possible incompatibilities arising from making it more visible. + phantom_count += process_discovered_reflist(_discoveredCleanerRefs, NULL, true, is_alive, keep_alive, complete_gc, task_executor); } @@ -259,17 +256,15 @@ ReferenceProcessorStats ReferenceProcessor::process_discovered_references( // that is not how the JDK1.2 specification is. See #4126360. Native code can // thus use JNI weak references to circumvent the phantom references and // resurrect a "post-mortem" object. - size_t jni_weak_ref_count = 0; { GCTraceTime tt("JNI Weak Reference", trace_time, false, gc_timer, gc_id); if (task_executor != NULL) { task_executor->set_single_threaded_mode(); } - jni_weak_ref_count = - process_phaseJNI(is_alive, keep_alive, complete_gc); + process_phaseJNI(is_alive, keep_alive, complete_gc); } - return ReferenceProcessorStats(soft_count, weak_count, final_count, phantom_count, cleaner_count, jni_weak_ref_count); + return ReferenceProcessorStats(soft_count, weak_count, final_count, phantom_count); } #ifndef PRODUCT @@ -296,17 +291,17 @@ uint ReferenceProcessor::count_jni_refs() { } #endif -size_t ReferenceProcessor::process_phaseJNI(BoolObjectClosure* is_alive, - OopClosure* keep_alive, - VoidClosure* complete_gc) { - DEBUG_ONLY(size_t check_count = count_jni_refs();) - size_t count = JNIHandles::weak_oops_do(is_alive, keep_alive); - assert(count == check_count, "Counts didn't match"); - complete_gc->do_void(); +void ReferenceProcessor::process_phaseJNI(BoolObjectClosure* is_alive, + OopClosure* keep_alive, + VoidClosure* complete_gc) { +#ifndef PRODUCT if (PrintGCDetails && PrintReferenceGC) { - gclog_or_tty->print(", " SIZE_FORMAT " refs", count); + unsigned int count = count_jni_refs(); + gclog_or_tty->print(", %u refs", count); } - return count; +#endif + JNIHandles::weak_oops_do(is_alive, keep_alive); + complete_gc->do_void(); } @@ -946,10 +941,9 @@ inline DiscoveredList* ReferenceProcessor::get_discovered_list(ReferenceType rt) list = &_discoveredCleanerRefs[id]; break; case REF_NONE: - case REF_JNI: // we should not reach here if we are an InstanceRefKlass default: - guarantee(false, err_msg("rt should not be %d", rt)); + ShouldNotReachHere(); } if (TraceReferenceGC && PrintGCDetails) { gclog_or_tty->print_cr("Thread %d gets list " INTPTR_FORMAT, id, p2i(list)); diff --git a/hotspot/src/share/vm/gc/shared/referenceProcessor.hpp b/hotspot/src/share/vm/gc/shared/referenceProcessor.hpp index 79a77cfd7a9..add86a1e928 100644 --- a/hotspot/src/share/vm/gc/shared/referenceProcessor.hpp +++ b/hotspot/src/share/vm/gc/shared/referenceProcessor.hpp @@ -247,7 +247,7 @@ class ReferenceProcessor : public CHeapObj { DiscoveredList* _discoveredCleanerRefs; public: - static int number_of_subclasses_of_ref() { return REF_LISTS_COUNT; } + static int number_of_subclasses_of_ref() { return (REF_CLEANER - REF_OTHER); } uint num_q() { return _num_q; } uint max_num_q() { return _max_num_q; } @@ -271,9 +271,9 @@ class ReferenceProcessor : public CHeapObj { VoidClosure* complete_gc, AbstractRefProcTaskExecutor* task_executor); - size_t process_phaseJNI(BoolObjectClosure* is_alive, - OopClosure* keep_alive, - VoidClosure* complete_gc); + void process_phaseJNI(BoolObjectClosure* is_alive, + OopClosure* keep_alive, + VoidClosure* complete_gc); // Work methods used by the method process_discovered_reflist // Phase1: keep alive all those referents that are otherwise diff --git a/hotspot/src/share/vm/gc/shared/referenceProcessorStats.hpp b/hotspot/src/share/vm/gc/shared/referenceProcessorStats.hpp index b857119abfc..472430e818b 100644 --- a/hotspot/src/share/vm/gc/shared/referenceProcessorStats.hpp +++ b/hotspot/src/share/vm/gc/shared/referenceProcessorStats.hpp @@ -36,30 +36,22 @@ class ReferenceProcessorStats { size_t _weak_count; size_t _final_count; size_t _phantom_count; - size_t _cleaner_count; - size_t _jni_weak_ref_count; public: ReferenceProcessorStats() : _soft_count(0), _weak_count(0), _final_count(0), - _phantom_count(0), - _cleaner_count(0), - _jni_weak_ref_count(0) {} + _phantom_count(0) {} ReferenceProcessorStats(size_t soft_count, size_t weak_count, size_t final_count, - size_t phantom_count, - size_t cleaner_count, - size_t jni_weak_ref_count) : + size_t phantom_count) : _soft_count(soft_count), _weak_count(weak_count), _final_count(final_count), - _phantom_count(phantom_count), - _cleaner_count(cleaner_count), - _jni_weak_ref_count(jni_weak_ref_count) + _phantom_count(phantom_count) {} size_t soft_count() const { @@ -77,13 +69,5 @@ class ReferenceProcessorStats { size_t phantom_count() const { return _phantom_count; } - - size_t cleaner_count() const { - return _cleaner_count; - } - - size_t jni_weak_ref_count() const { - return _jni_weak_ref_count; - } }; #endif diff --git a/hotspot/src/share/vm/memory/referenceType.hpp b/hotspot/src/share/vm/memory/referenceType.hpp index 54b6229685a..a54e8238e87 100644 --- a/hotspot/src/share/vm/memory/referenceType.hpp +++ b/hotspot/src/share/vm/memory/referenceType.hpp @@ -32,15 +32,11 @@ enum ReferenceType { REF_NONE, // Regular class REF_OTHER, // Subclass of java/lang/ref/Reference, but not subclass of one of the classes below - ///////////////// Only the types below have their own discovered lists REF_SOFT, // Subclass of java/lang/ref/SoftReference REF_WEAK, // Subclass of java/lang/ref/WeakReference REF_FINAL, // Subclass of java/lang/ref/FinalReference REF_PHANTOM, // Subclass of java/lang/ref/PhantomReference - REF_CLEANER, // Subclass of sun/misc/Cleaner - ///////////////// Only the types in the above range have their own discovered lists - REF_JNI, // JNI weak refs - REF_LISTS_COUNT = REF_CLEANER - REF_OTHER // Number of discovered lists + REF_CLEANER // Subclass of sun/misc/Cleaner }; #endif // SHARE_VM_MEMORY_REFERENCETYPE_HPP diff --git a/hotspot/src/share/vm/prims/jvmtiExport.cpp b/hotspot/src/share/vm/prims/jvmtiExport.cpp index a46fee00a95..4e1faf37204 100644 --- a/hotspot/src/share/vm/prims/jvmtiExport.cpp +++ b/hotspot/src/share/vm/prims/jvmtiExport.cpp @@ -2181,8 +2181,8 @@ void JvmtiExport::oops_do(OopClosure* f) { JvmtiVMObjectAllocEventCollector::oops_do_for_all_threads(f); } -size_t JvmtiExport::weak_oops_do(BoolObjectClosure* is_alive, OopClosure* f) { - return JvmtiTagMap::weak_oops_do(is_alive, f); +void JvmtiExport::weak_oops_do(BoolObjectClosure* is_alive, OopClosure* f) { + JvmtiTagMap::weak_oops_do(is_alive, f); } void JvmtiExport::gc_epilogue() { diff --git a/hotspot/src/share/vm/prims/jvmtiExport.hpp b/hotspot/src/share/vm/prims/jvmtiExport.hpp index 3b490173198..4b1ff34cf61 100644 --- a/hotspot/src/share/vm/prims/jvmtiExport.hpp +++ b/hotspot/src/share/vm/prims/jvmtiExport.hpp @@ -366,7 +366,7 @@ class JvmtiExport : public AllStatic { static void clear_detected_exception (JavaThread* thread) NOT_JVMTI_RETURN; static void oops_do(OopClosure* f) NOT_JVMTI_RETURN; - static size_t weak_oops_do(BoolObjectClosure* b, OopClosure* f) NOT_JVMTI_RETURN_(0); + static void weak_oops_do(BoolObjectClosure* b, OopClosure* f) NOT_JVMTI_RETURN; static void gc_epilogue() NOT_JVMTI_RETURN; static void transition_pending_onload_raw_monitors() NOT_JVMTI_RETURN; diff --git a/hotspot/src/share/vm/prims/jvmtiTagMap.cpp b/hotspot/src/share/vm/prims/jvmtiTagMap.cpp index cb75bc027a7..3181fc5af38 100644 --- a/hotspot/src/share/vm/prims/jvmtiTagMap.cpp +++ b/hotspot/src/share/vm/prims/jvmtiTagMap.cpp @@ -3284,35 +3284,32 @@ void JvmtiTagMap::follow_references(jint heap_filter, } -size_t JvmtiTagMap::weak_oops_do(BoolObjectClosure* is_alive, OopClosure* f) { +void JvmtiTagMap::weak_oops_do(BoolObjectClosure* is_alive, OopClosure* f) { // No locks during VM bring-up (0 threads) and no safepoints after main // thread creation and before VMThread creation (1 thread); initial GC // verification can happen in that window which gets to here. assert(Threads::number_of_threads() <= 1 || SafepointSynchronize::is_at_safepoint(), "must be executed at a safepoint"); - size_t count = 0; if (JvmtiEnv::environments_might_exist()) { JvmtiEnvIterator it; for (JvmtiEnvBase* env = it.first(); env != NULL; env = it.next(env)) { JvmtiTagMap* tag_map = env->tag_map(); if (tag_map != NULL && !tag_map->is_empty()) { - count += tag_map->do_weak_oops(is_alive, f); + tag_map->do_weak_oops(is_alive, f); } } } - return count; } -size_t JvmtiTagMap::do_weak_oops(BoolObjectClosure* is_alive, OopClosure* f) { +void JvmtiTagMap::do_weak_oops(BoolObjectClosure* is_alive, OopClosure* f) { // does this environment have the OBJECT_FREE event enabled bool post_object_free = env()->is_enabled(JVMTI_EVENT_OBJECT_FREE); // counters used for trace message - size_t freed = 0; - size_t moved = 0; - size_t stayed = 0; + int freed = 0; + int moved = 0; JvmtiTagHashmap* hashmap = this->hashmap(); @@ -3321,7 +3318,7 @@ size_t JvmtiTagMap::do_weak_oops(BoolObjectClosure* is_alive, OopClosure* f) { // if the hashmap is empty then we can skip it if (hashmap->_entry_count == 0) { - return 0; + return; } // now iterate through each entry in the table @@ -3383,7 +3380,6 @@ size_t JvmtiTagMap::do_weak_oops(BoolObjectClosure* is_alive, OopClosure* f) { } else { // object didn't move prev = entry; - stayed++; } } @@ -3402,12 +3398,10 @@ size_t JvmtiTagMap::do_weak_oops(BoolObjectClosure* is_alive, OopClosure* f) { // stats if (TraceJVMTIObjectTagging) { - size_t post_total = hashmap->_entry_count; - size_t pre_total = post_total + freed; + int post_total = hashmap->_entry_count; + int pre_total = post_total + freed; - tty->print_cr("(" SIZE_FORMAT "->" SIZE_FORMAT ", " SIZE_FORMAT " freed, " SIZE_FORMAT " stayed, " SIZE_FORMAT " moved)", - pre_total, post_total, freed, stayed, moved); + tty->print_cr("(%d->%d, %d freed, %d total moves)", + pre_total, post_total, freed, moved); } - - return (freed + stayed + moved); } diff --git a/hotspot/src/share/vm/prims/jvmtiTagMap.hpp b/hotspot/src/share/vm/prims/jvmtiTagMap.hpp index e13c860b99a..196abda21b8 100644 --- a/hotspot/src/share/vm/prims/jvmtiTagMap.hpp +++ b/hotspot/src/share/vm/prims/jvmtiTagMap.hpp @@ -60,7 +60,7 @@ class JvmtiTagMap : public CHeapObj { inline Mutex* lock() { return &_lock; } inline JvmtiEnv* env() const { return _env; } - size_t do_weak_oops(BoolObjectClosure* is_alive, OopClosure* f); + void do_weak_oops(BoolObjectClosure* is_alive, OopClosure* f); // iterate over all entries in this tag map void entry_iterate(JvmtiTagHashmapEntryClosure* closure); @@ -122,8 +122,8 @@ class JvmtiTagMap : public CHeapObj { jint* count_ptr, jobject** object_result_ptr, jlong** tag_result_ptr); - static size_t weak_oops_do(BoolObjectClosure* is_alive, - OopClosure* f) NOT_JVMTI_RETURN_(0); + static void weak_oops_do( + BoolObjectClosure* is_alive, OopClosure* f) NOT_JVMTI_RETURN; }; #endif // SHARE_VM_PRIMS_JVMTITAGMAP_HPP diff --git a/hotspot/src/share/vm/runtime/jniHandles.cpp b/hotspot/src/share/vm/runtime/jniHandles.cpp index ea54f02f62b..9ce7ce8ae44 100644 --- a/hotspot/src/share/vm/runtime/jniHandles.cpp +++ b/hotspot/src/share/vm/runtime/jniHandles.cpp @@ -124,8 +124,8 @@ void JNIHandles::oops_do(OopClosure* f) { } -size_t JNIHandles::weak_oops_do(BoolObjectClosure* is_alive, OopClosure* f) { - return _weak_global_handles->weak_oops_do(is_alive, f); +void JNIHandles::weak_oops_do(BoolObjectClosure* is_alive, OopClosure* f) { + _weak_global_handles->weak_oops_do(is_alive, f); } @@ -380,9 +380,8 @@ void JNIHandleBlock::oops_do(OopClosure* f) { } -size_t JNIHandleBlock::weak_oops_do(BoolObjectClosure* is_alive, - OopClosure* f) { - size_t count = 0; +void JNIHandleBlock::weak_oops_do(BoolObjectClosure* is_alive, + OopClosure* f) { for (JNIHandleBlock* current = this; current != NULL; current = current->_next) { assert(current->pop_frame_link() == NULL, "blocks holding weak global JNI handles should not have pop frame link set"); @@ -391,7 +390,6 @@ size_t JNIHandleBlock::weak_oops_do(BoolObjectClosure* is_alive, oop value = *root; // traverse heap pointers only, not deleted handles or free list pointers if (value != NULL && Universe::heap()->is_in_reserved(value)) { - count++; if (is_alive->do_object_b(value)) { // The weakly referenced object is alive, update pointer f->do_oop(root); @@ -414,9 +412,7 @@ size_t JNIHandleBlock::weak_oops_do(BoolObjectClosure* is_alive, * JVMTI data structures may also contain weak oops. The iteration of them * is placed here so that we don't need to add it to each of the collectors. */ - count += JvmtiExport::weak_oops_do(is_alive, f); - - return count; + JvmtiExport::weak_oops_do(is_alive, f); } diff --git a/hotspot/src/share/vm/runtime/jniHandles.hpp b/hotspot/src/share/vm/runtime/jniHandles.hpp index 6052882478c..069a1f35cfa 100644 --- a/hotspot/src/share/vm/runtime/jniHandles.hpp +++ b/hotspot/src/share/vm/runtime/jniHandles.hpp @@ -85,7 +85,7 @@ class JNIHandles : AllStatic { // Traversal of regular global handles static void oops_do(OopClosure* f); // Traversal of weak global handles. Unreachable oops are cleared. - static size_t weak_oops_do(BoolObjectClosure* is_alive, OopClosure* f); + static void weak_oops_do(BoolObjectClosure* is_alive, OopClosure* f); }; @@ -153,7 +153,7 @@ class JNIHandleBlock : public CHeapObj { // Traversal of regular handles void oops_do(OopClosure* f); // Traversal of weak handles. Unreachable oops are cleared. - size_t weak_oops_do(BoolObjectClosure* is_alive, OopClosure* f); + void weak_oops_do(BoolObjectClosure* is_alive, OopClosure* f); // Checked JNI support void set_planned_capacity(size_t planned_capacity) { _planned_capacity = planned_capacity; } diff --git a/hotspot/test/gc/logging/TestPrintReferences.java b/hotspot/test/gc/logging/TestPrintReferences.java deleted file mode 100644 index 8dcc80f3a56..00000000000 --- a/hotspot/test/gc/logging/TestPrintReferences.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (c) 2015, Oracle and/or its affiliates. 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. - * - * 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -/* - * @test TestPrintReferences - * @bug 8133818 - * @summary Validate the reference processing logging - * @key gc - * @library /testlibrary - * @modules java.base/sun.misc - * java.management - */ - -import jdk.test.lib.ProcessTools; -import jdk.test.lib.OutputAnalyzer; - -public class TestPrintReferences { - public static void main(String[] args) throws Exception { - ProcessBuilder pb_enabled = - ProcessTools.createJavaProcessBuilder("-XX:+PrintGCDetails", "-XX:+PrintReferenceGC", "-Xmx10M", GCTest.class.getName()); - OutputAnalyzer output = new OutputAnalyzer(pb_enabled.start()); - - output.shouldMatch( - "#[0-9]+: \\[SoftReference, [0-9]+ refs, [0-9]+\\.[0-9]+ secs\\]" + - "#[0-9]+: \\[WeakReference, [0-9]+ refs, [0-9]+\\.[0-9]+ secs\\]" + - "#[0-9]+: \\[FinalReference, [0-9]+ refs, [0-9]+\\.[0-9]+ secs\\]" + - "#[0-9]+: \\[PhantomReference, [0-9]+ refs, [0-9]+\\.[0-9]+ secs\\]" + - "#[0-9]+: \\[Cleaners, [0-9]+ refs, [0-9]+\\.[0-9]+ secs\\]" + - "#[0-9]+: \\[JNI Weak Reference, [0-9]+ refs, [0-9]+\\.[0-9]+ secs\\]"); - - output.shouldHaveExitValue(0); - } - - static class GCTest { - public static void main(String [] args) { - System.gc(); - } - } -} From 34a6b439884f141910bb401015dc04d10cae7d8c Mon Sep 17 00:00:00 2001 From: Mikael Gerdin Date: Thu, 17 Sep 2015 16:07:06 +0200 Subject: [PATCH 24/77] 8136701: Remove YOUNG_LIST_VERBOSE code from G1CollectedHeap Reviewed-by: stefank, jwilhelm --- .../src/share/vm/gc/g1/g1CollectedHeap.cpp | 35 ------------------- 1 file changed, 35 deletions(-) diff --git a/hotspot/src/share/vm/gc/g1/g1CollectedHeap.cpp b/hotspot/src/share/vm/gc/g1/g1CollectedHeap.cpp index 89dc4674120..2ba451f94d7 100644 --- a/hotspot/src/share/vm/gc/g1/g1CollectedHeap.cpp +++ b/hotspot/src/share/vm/gc/g1/g1CollectedHeap.cpp @@ -73,13 +73,6 @@ size_t G1CollectedHeap::_humongous_object_threshold_in_words = 0; -// turn it on so that the contents of the young list (scan-only / -// to-be-collected) are printed at "strategic" points before / during -// / after the collection --- this is useful for debugging -#define YOUNG_LIST_VERBOSE 0 -// CURRENT STATUS -// This file is under construction. Search for "FIXME". - // INVARIANTS/NOTES // // All allocation activity covered by the G1CollectedHeap interface is @@ -4079,29 +4072,12 @@ G1CollectedHeap::do_collection_pause_at_safepoint(double target_pause_time_ms) { // the possible verification above. double sample_start_time_sec = os::elapsedTime(); -#if YOUNG_LIST_VERBOSE - gclog_or_tty->print_cr("\nBefore recording pause start.\nYoung_list:"); - _young_list->print(); - g1_policy()->print_collection_set(g1_policy()->inc_cset_head(), gclog_or_tty); -#endif // YOUNG_LIST_VERBOSE - g1_policy()->record_collection_pause_start(sample_start_time_sec); -#if YOUNG_LIST_VERBOSE - gclog_or_tty->print_cr("\nAfter recording pause start.\nYoung_list:"); - _young_list->print(); -#endif // YOUNG_LIST_VERBOSE - if (collector_state()->during_initial_mark_pause()) { concurrent_mark()->checkpointRootsInitialPre(); } -#if YOUNG_LIST_VERBOSE - gclog_or_tty->print_cr("\nBefore choosing collection set.\nYoung_list:"); - _young_list->print(); - g1_policy()->print_collection_set(g1_policy()->inc_cset_head(), gclog_or_tty); -#endif // YOUNG_LIST_VERBOSE - double time_remaining_ms = g1_policy()->finalize_young_cset_part(target_pause_time_ms); g1_policy()->finalize_old_cset_part(time_remaining_ms); @@ -4157,11 +4133,6 @@ G1CollectedHeap::do_collection_pause_at_safepoint(double target_pause_time_ms) { assert(check_young_list_empty(false /* check_heap */), "young list should be empty"); -#if YOUNG_LIST_VERBOSE - gclog_or_tty->print_cr("Before recording survivors.\nYoung List:"); - _young_list->print(); -#endif // YOUNG_LIST_VERBOSE - g1_policy()->record_survivor_regions(_young_list->survivor_length(), _young_list->first_survivor_region(), _young_list->last_survivor_region()); @@ -4197,12 +4168,6 @@ G1CollectedHeap::do_collection_pause_at_safepoint(double target_pause_time_ms) { allocate_dummy_regions(); -#if YOUNG_LIST_VERBOSE - gclog_or_tty->print_cr("\nEnd of the pause.\nYoung_list:"); - _young_list->print(); - g1_policy()->print_collection_set(g1_policy()->inc_cset_head(), gclog_or_tty); -#endif // YOUNG_LIST_VERBOSE - _allocator->init_mutator_alloc_region(); { From e7ed6bff905eec1696d7fab3625d5d14aa39c4e5 Mon Sep 17 00:00:00 2001 From: Harold Seigel Date: Fri, 18 Sep 2015 07:01:23 -0400 Subject: [PATCH 25/77] 8132904: Type checking verifier fails to reject assignment from array to an interface Only allow assignment if interface is Cloneable or Serializable. Reviewed-by: kamg, gtriantafill, jiangli --- hotspot/src/share/vm/classfile/verificationType.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/hotspot/src/share/vm/classfile/verificationType.cpp b/hotspot/src/share/vm/classfile/verificationType.cpp index 188d5fbce09..96f4970be08 100644 --- a/hotspot/src/share/vm/classfile/verificationType.cpp +++ b/hotspot/src/share/vm/classfile/verificationType.cpp @@ -70,9 +70,12 @@ bool VerificationType::is_reference_assignable_from( if (this_class->is_interface() && (!from_field_is_protected || from.name() != vmSymbols::java_lang_Object())) { // If we are not trying to access a protected field or method in - // java.lang.Object then we treat interfaces as java.lang.Object, - // including java.lang.Cloneable and java.io.Serializable. - return true; + // java.lang.Object then, for arrays, we only allow assignability + // to interfaces java.lang.Cloneable and java.io.Serializable. + // Otherwise, we treat interfaces as java.lang.Object. + return !from.is_array() || + this_class == SystemDictionary::Cloneable_klass() || + this_class == SystemDictionary::Serializable_klass(); } else if (from.is_object()) { Klass* from_class = SystemDictionary::resolve_or_fail( from.name(), Handle(THREAD, klass->class_loader()), From bbc043a7f27fd3bd6a220c58e9deaa238bae6949 Mon Sep 17 00:00:00 2001 From: Aleksey Shipilev Date: Fri, 18 Sep 2015 13:41:11 -0700 Subject: [PATCH 26/77] 8135085: Change Method::_intrinsic_id from u1 to u2 Convert Method::_intrinsic_id from u1 to u2 to expand id range over 255. Reviewed-by: coleenp, iklam, jiangli --- hotspot/src/cpu/aarch64/vm/interp_masm_aarch64.cpp | 6 ++++-- hotspot/src/cpu/aarch64/vm/methodHandles_aarch64.cpp | 6 ++++-- hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.cpp | 4 +++- hotspot/src/cpu/ppc/vm/methodHandles_ppc.cpp | 5 +++-- hotspot/src/cpu/sparc/vm/interp_masm_sparc.cpp | 6 ++++-- hotspot/src/cpu/sparc/vm/methodHandles_sparc.cpp | 4 +++- hotspot/src/cpu/x86/vm/interp_masm_x86.cpp | 4 +++- hotspot/src/cpu/x86/vm/methodHandles_x86.cpp | 4 +++- hotspot/src/share/vm/oops/method.hpp | 6 +++--- hotspot/src/share/vm/runtime/vmStructs.cpp | 2 +- 10 files changed, 31 insertions(+), 16 deletions(-) diff --git a/hotspot/src/cpu/aarch64/vm/interp_masm_aarch64.cpp b/hotspot/src/cpu/aarch64/vm/interp_masm_aarch64.cpp index 344e0c0bf31..8f0f543ae9d 100644 --- a/hotspot/src/cpu/aarch64/vm/interp_masm_aarch64.cpp +++ b/hotspot/src/cpu/aarch64/vm/interp_masm_aarch64.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2014, Red Hat Inc. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -1608,6 +1608,8 @@ void InterpreterMacroAssembler::profile_return_type(Register mdp, Register ret, test_method_data_pointer(mdp, profile_continue); if (MethodData::profile_return_jsr292_only()) { + assert(Method::intrinsic_id_size_in_bytes() == 2, "assuming Method::_intrinsic_id is u2"); + // If we don't profile all invoke bytecodes we must make sure // it's a bytecode we indeed profile. We can't go back to the // begining of the ProfileData we intend to update to check its @@ -1620,7 +1622,7 @@ void InterpreterMacroAssembler::profile_return_type(Register mdp, Register ret, cmp(rscratch1, Bytecodes::_invokehandle); br(Assembler::EQ, do_profile); get_method(tmp); - ldrb(rscratch1, Address(tmp, Method::intrinsic_id_offset_in_bytes())); + ldrh(rscratch1, Address(tmp, Method::intrinsic_id_offset_in_bytes())); cmp(rscratch1, vmIntrinsics::_compiledLambdaForm); br(Assembler::NE, profile_continue); diff --git a/hotspot/src/cpu/aarch64/vm/methodHandles_aarch64.cpp b/hotspot/src/cpu/aarch64/vm/methodHandles_aarch64.cpp index 2cc0c6ba18b..cf2563f8623 100644 --- a/hotspot/src/cpu/aarch64/vm/methodHandles_aarch64.cpp +++ b/hotspot/src/cpu/aarch64/vm/methodHandles_aarch64.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2014, Red Hat Inc. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -188,9 +188,11 @@ address MethodHandles::generate_method_handle_interpreter_entry(MacroAssembler* address entry_point = __ pc(); if (VerifyMethodHandles) { + assert(Method::intrinsic_id_size_in_bytes() == 2, "assuming Method::_intrinsic_id is u2"); + Label L; BLOCK_COMMENT("verify_intrinsic_id {"); - __ ldrb(rscratch1, Address(rmethod, Method::intrinsic_id_offset_in_bytes())); + __ ldrh(rscratch1, Address(rmethod, Method::intrinsic_id_offset_in_bytes())); __ cmp(rscratch1, (int) iid); __ br(Assembler::EQ, L); if (iid == vmIntrinsics::_linkToVirtual || diff --git a/hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.cpp b/hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.cpp index 2c95de9b782..f32d8e590c1 100644 --- a/hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.cpp +++ b/hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.cpp @@ -1817,13 +1817,15 @@ void InterpreterMacroAssembler::profile_return_type(Register ret, Register tmp1, test_method_data_pointer(profile_continue); if (MethodData::profile_return_jsr292_only()) { + assert(Method::intrinsic_id_size_in_bytes() == 2, "assuming Method::_intrinsic_id is u2"); + // If we don't profile all invoke bytecodes we must make sure // it's a bytecode we indeed profile. We can't go back to the // begining of the ProfileData we intend to update to check its // type because we're right after it and we don't known its // length. lbz(tmp1, 0, R14_bcp); - lbz(tmp2, Method::intrinsic_id_offset_in_bytes(), R19_method); + lhz(tmp2, Method::intrinsic_id_offset_in_bytes(), R19_method); cmpwi(CCR0, tmp1, Bytecodes::_invokedynamic); cmpwi(CCR1, tmp1, Bytecodes::_invokehandle); cror(CCR0, Assembler::equal, CCR1, Assembler::equal); diff --git a/hotspot/src/cpu/ppc/vm/methodHandles_ppc.cpp b/hotspot/src/cpu/ppc/vm/methodHandles_ppc.cpp index 4d33108b5d9..5c9d2f1622a 100644 --- a/hotspot/src/cpu/ppc/vm/methodHandles_ppc.cpp +++ b/hotspot/src/cpu/ppc/vm/methodHandles_ppc.cpp @@ -224,11 +224,12 @@ address MethodHandles::generate_method_handle_interpreter_entry(MacroAssembler* address entry_point = __ pc(); if (VerifyMethodHandles) { + assert(Method::intrinsic_id_size_in_bytes() == 2, "assuming Method::_intrinsic_id is u2"); + Label L; BLOCK_COMMENT("verify_intrinsic_id {"); __ load_sized_value(temp1, Method::intrinsic_id_offset_in_bytes(), R19_method, - sizeof(u1), /*is_signed*/ false); - // assert(sizeof(u1) == sizeof(Method::_intrinsic_id), ""); + sizeof(u2), /*is_signed*/ false); __ cmpwi(CCR1, temp1, (int) iid); __ beq(CCR1, L); if (iid == vmIntrinsics::_linkToVirtual || diff --git a/hotspot/src/cpu/sparc/vm/interp_masm_sparc.cpp b/hotspot/src/cpu/sparc/vm/interp_masm_sparc.cpp index 44ad8d91dae..e69dba4d531 100644 --- a/hotspot/src/cpu/sparc/vm/interp_masm_sparc.cpp +++ b/hotspot/src/cpu/sparc/vm/interp_masm_sparc.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2015, Oracle and/or its affiliates. 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 @@ -2021,6 +2021,8 @@ void InterpreterMacroAssembler::profile_return_type(Register ret, Register tmp1, test_method_data_pointer(profile_continue); if (MethodData::profile_return_jsr292_only()) { + assert(Method::intrinsic_id_size_in_bytes() == 2, "assuming Method::_intrinsic_id is u2"); + // If we don't profile all invoke bytecodes we must make sure // it's a bytecode we indeed profile. We can't go back to the // begining of the ProfileData we intend to update to check its @@ -2031,7 +2033,7 @@ void InterpreterMacroAssembler::profile_return_type(Register ret, Register tmp1, cmp_and_br_short(tmp1, Bytecodes::_invokedynamic, equal, pn, do_profile); cmp(tmp1, Bytecodes::_invokehandle); br(equal, false, pn, do_profile); - delayed()->ldub(Lmethod, Method::intrinsic_id_offset_in_bytes(), tmp1); + delayed()->lduh(Lmethod, Method::intrinsic_id_offset_in_bytes(), tmp1); cmp_and_br_short(tmp1, vmIntrinsics::_compiledLambdaForm, notEqual, pt, profile_continue); bind(do_profile); diff --git a/hotspot/src/cpu/sparc/vm/methodHandles_sparc.cpp b/hotspot/src/cpu/sparc/vm/methodHandles_sparc.cpp index f50150bc5f9..ba1f5c90753 100644 --- a/hotspot/src/cpu/sparc/vm/methodHandles_sparc.cpp +++ b/hotspot/src/cpu/sparc/vm/methodHandles_sparc.cpp @@ -229,9 +229,11 @@ address MethodHandles::generate_method_handle_interpreter_entry(MacroAssembler* address entry_point = __ pc(); if (VerifyMethodHandles) { + assert(Method::intrinsic_id_size_in_bytes() == 2, "assuming Method::_intrinsic_id is u2"); + Label L; BLOCK_COMMENT("verify_intrinsic_id {"); - __ ldub(Address(G5_method, Method::intrinsic_id_offset_in_bytes()), O1_scratch); + __ lduh(Address(G5_method, Method::intrinsic_id_offset_in_bytes()), O1_scratch); __ cmp_and_br_short(O1_scratch, (int) iid, Assembler::equal, Assembler::pt, L); if (iid == vmIntrinsics::_linkToVirtual || iid == vmIntrinsics::_linkToSpecial) { diff --git a/hotspot/src/cpu/x86/vm/interp_masm_x86.cpp b/hotspot/src/cpu/x86/vm/interp_masm_x86.cpp index c6ec4048aa7..5501b91530c 100644 --- a/hotspot/src/cpu/x86/vm/interp_masm_x86.cpp +++ b/hotspot/src/cpu/x86/vm/interp_masm_x86.cpp @@ -169,6 +169,8 @@ void InterpreterMacroAssembler::profile_return_type(Register mdp, Register ret, test_method_data_pointer(mdp, profile_continue); if (MethodData::profile_return_jsr292_only()) { + assert(Method::intrinsic_id_size_in_bytes() == 2, "assuming Method::_intrinsic_id is u2"); + // If we don't profile all invoke bytecodes we must make sure // it's a bytecode we indeed profile. We can't go back to the // begining of the ProfileData we intend to update to check its @@ -180,7 +182,7 @@ void InterpreterMacroAssembler::profile_return_type(Register mdp, Register ret, cmpb(Address(_bcp_register, 0), Bytecodes::_invokehandle); jcc(Assembler::equal, do_profile); get_method(tmp); - cmpb(Address(tmp, Method::intrinsic_id_offset_in_bytes()), vmIntrinsics::_compiledLambdaForm); + cmpw(Address(tmp, Method::intrinsic_id_offset_in_bytes()), vmIntrinsics::_compiledLambdaForm); jcc(Assembler::notEqual, profile_continue); bind(do_profile); diff --git a/hotspot/src/cpu/x86/vm/methodHandles_x86.cpp b/hotspot/src/cpu/x86/vm/methodHandles_x86.cpp index 63d46978367..1a476e80c75 100644 --- a/hotspot/src/cpu/x86/vm/methodHandles_x86.cpp +++ b/hotspot/src/cpu/x86/vm/methodHandles_x86.cpp @@ -222,9 +222,11 @@ address MethodHandles::generate_method_handle_interpreter_entry(MacroAssembler* address entry_point = __ pc(); if (VerifyMethodHandles) { + assert(Method::intrinsic_id_size_in_bytes() == 2, "assuming Method::_intrinsic_id is u2"); + Label L; BLOCK_COMMENT("verify_intrinsic_id {"); - __ cmpb(Address(rbx_method, Method::intrinsic_id_offset_in_bytes()), (int) iid); + __ cmpw(Address(rbx_method, Method::intrinsic_id_offset_in_bytes()), (int) iid); __ jcc(Assembler::equal, L); if (iid == vmIntrinsics::_linkToVirtual || iid == vmIntrinsics::_linkToSpecial) { diff --git a/hotspot/src/share/vm/oops/method.hpp b/hotspot/src/share/vm/oops/method.hpp index 539e2978858..2cec504aba9 100644 --- a/hotspot/src/share/vm/oops/method.hpp +++ b/hotspot/src/share/vm/oops/method.hpp @@ -72,7 +72,7 @@ class Method : public Metadata { int _result_index; // C++ interpreter needs for converting results to/from stack #endif u2 _method_size; // size of this object - u1 _intrinsic_id; // vmSymbols::intrinsic_id (0 == _none) + u2 _intrinsic_id; // vmSymbols::intrinsic_id (0 == _none) // Flags enum Flags { @@ -653,7 +653,7 @@ class Method : public Metadata { // for code generation static int method_data_offset_in_bytes() { return offset_of(Method, _method_data); } static int intrinsic_id_offset_in_bytes() { return offset_of(Method, _intrinsic_id); } - static int intrinsic_id_size_in_bytes() { return sizeof(u1); } + static int intrinsic_id_size_in_bytes() { return sizeof(u2); } // Static methods that are used to implement member methods where an exposed this pointer // is needed due to possible GCs @@ -777,7 +777,7 @@ class Method : public Metadata { // Support for inlining of intrinsic methods vmIntrinsics::ID intrinsic_id() const { return (vmIntrinsics::ID) _intrinsic_id; } - void set_intrinsic_id(vmIntrinsics::ID id) { _intrinsic_id = (u1) id; } + void set_intrinsic_id(vmIntrinsics::ID id) { _intrinsic_id = (u2) id; } // Helper routines for intrinsic_id() and vmIntrinsics::method(). void init_intrinsic_id(); // updates from _none if a match diff --git a/hotspot/src/share/vm/runtime/vmStructs.cpp b/hotspot/src/share/vm/runtime/vmStructs.cpp index 335f1df5026..23df8077b6a 100644 --- a/hotspot/src/share/vm/runtime/vmStructs.cpp +++ b/hotspot/src/share/vm/runtime/vmStructs.cpp @@ -383,7 +383,7 @@ typedef CompactHashtable SymbolCompactHashTable; nonstatic_field(Method, _access_flags, AccessFlags) \ nonstatic_field(Method, _vtable_index, int) \ nonstatic_field(Method, _method_size, u2) \ - nonstatic_field(Method, _intrinsic_id, u1) \ + nonstatic_field(Method, _intrinsic_id, u2) \ nonproduct_nonstatic_field(Method, _compiled_invocation_count, int) \ volatile_nonstatic_field(Method, _code, nmethod*) \ nonstatic_field(Method, _i2i_entry, address) \ From e5b80181d89b6e6f4cdfde5703d68afcc5290fee Mon Sep 17 00:00:00 2001 From: Ioi Lam Date: Fri, 18 Sep 2015 09:48:49 -0700 Subject: [PATCH 27/77] 8065155: Refactor Hotspot mapfiles Moved common exported functions to make/share/makefiles/mapfile-vers Reviewed-by: ihse, bdelsart --- hotspot/make/aix/makefiles/mapfile-vers-debug | 163 ----------------- .../make/aix/makefiles/mapfile-vers-product | 161 ----------------- hotspot/make/aix/makefiles/vm.make | 6 +- .../bsd/makefiles/mapfile-vers-darwin-debug | 164 +----------------- .../bsd/makefiles/mapfile-vers-darwin-product | 162 ----------------- hotspot/make/bsd/makefiles/mapfile-vers-debug | 162 ----------------- .../make/bsd/makefiles/mapfile-vers-product | 162 ----------------- hotspot/make/bsd/makefiles/vm.make | 23 ++- .../make/linux/makefiles/mapfile-vers-debug | 162 ----------------- .../make/linux/makefiles/mapfile-vers-product | 162 ----------------- hotspot/make/linux/makefiles/vm.make | 18 +- hotspot/make/share/makefiles/mapfile-vers | 162 +++++++++++++++++ hotspot/make/solaris/makefiles/mapfile-vers | 162 ----------------- hotspot/make/solaris/makefiles/vm.make | 18 +- 14 files changed, 206 insertions(+), 1481 deletions(-) create mode 100644 hotspot/make/share/makefiles/mapfile-vers diff --git a/hotspot/make/aix/makefiles/mapfile-vers-debug b/hotspot/make/aix/makefiles/mapfile-vers-debug index 841585d27d8..048af4535d5 100644 --- a/hotspot/make/aix/makefiles/mapfile-vers-debug +++ b/hotspot/make/aix/makefiles/mapfile-vers-debug @@ -26,169 +26,6 @@ SUNWprivate_1.1 { global: - # JNI - JNI_CreateJavaVM; - JNI_GetCreatedJavaVMs; - JNI_GetDefaultJavaVMInitArgs; - - # JVM - JVM_ActiveProcessorCount; - JVM_ArrayCopy; - JVM_AssertionStatusDirectives; - JVM_ClassDepth; - JVM_ClassLoaderDepth; - JVM_Clone; - JVM_ConstantPoolGetClassAt; - JVM_ConstantPoolGetClassAtIfLoaded; - JVM_ConstantPoolGetDoubleAt; - JVM_ConstantPoolGetFieldAt; - JVM_ConstantPoolGetFieldAtIfLoaded; - JVM_ConstantPoolGetFloatAt; - JVM_ConstantPoolGetIntAt; - JVM_ConstantPoolGetLongAt; - JVM_ConstantPoolGetMethodAt; - JVM_ConstantPoolGetMethodAtIfLoaded; - JVM_ConstantPoolGetMemberRefInfoAt; - JVM_ConstantPoolGetSize; - JVM_ConstantPoolGetStringAt; - JVM_ConstantPoolGetUTF8At; - JVM_CountStackFrames; - JVM_CurrentClassLoader; - JVM_CurrentLoadedClass; - JVM_CurrentThread; - JVM_CurrentTimeMillis; - JVM_DefineClass; - JVM_DefineClassWithSource; - JVM_DefineClassWithSourceCond; - JVM_DesiredAssertionStatus; - JVM_DoPrivileged; - JVM_DumpAllStacks; - JVM_DumpThreads; - JVM_FillInStackTrace; - JVM_FindClassFromCaller; - JVM_FindClassFromClass; - JVM_FindClassFromBootLoader; - JVM_FindLibraryEntry; - JVM_FindLoadedClass; - JVM_FindPrimitiveClass; - JVM_FindSignal; - JVM_FreeMemory; - JVM_GC; - JVM_GetAllThreads; - JVM_GetArrayElement; - JVM_GetArrayLength; - JVM_GetCPClassNameUTF; - JVM_GetCPFieldClassNameUTF; - JVM_GetCPFieldModifiers; - JVM_GetCPFieldNameUTF; - JVM_GetCPFieldSignatureUTF; - JVM_GetCPMethodClassNameUTF; - JVM_GetCPMethodModifiers; - JVM_GetCPMethodNameUTF; - JVM_GetCPMethodSignatureUTF; - JVM_GetCallerClass; - JVM_GetClassAccessFlags; - JVM_GetClassAnnotations; - JVM_GetClassCPEntriesCount; - JVM_GetClassCPTypes; - JVM_GetClassConstantPool; - JVM_GetClassContext; - JVM_GetClassDeclaredConstructors; - JVM_GetClassDeclaredFields; - JVM_GetClassDeclaredMethods; - JVM_GetClassFieldsCount; - JVM_GetClassInterfaces; - JVM_GetClassMethodsCount; - JVM_GetClassModifiers; - JVM_GetClassName; - JVM_GetClassNameUTF; - JVM_GetClassSignature; - JVM_GetClassSigners; - JVM_GetClassTypeAnnotations; - JVM_GetDeclaredClasses; - JVM_GetDeclaringClass; - JVM_GetSimpleBinaryName; - JVM_GetEnclosingMethodInfo; - JVM_GetFieldIxModifiers; - JVM_GetFieldTypeAnnotations; - JVM_GetInheritedAccessControlContext; - JVM_GetInterfaceVersion; - JVM_GetManagement; - JVM_GetMethodIxArgsSize; - JVM_GetMethodIxByteCode; - JVM_GetMethodIxByteCodeLength; - JVM_GetMethodIxExceptionIndexes; - JVM_GetMethodIxExceptionTableEntry; - JVM_GetMethodIxExceptionTableLength; - JVM_GetMethodIxExceptionsCount; - JVM_GetMethodIxLocalsCount; - JVM_GetMethodIxMaxStack; - JVM_GetMethodIxModifiers; - JVM_GetMethodIxNameUTF; - JVM_GetMethodIxSignatureUTF; - JVM_GetMethodParameters; - JVM_GetMethodTypeAnnotations; - JVM_GetNanoTimeAdjustment; - JVM_GetPrimitiveArrayElement; - JVM_GetProtectionDomain; - JVM_GetStackAccessControlContext; - JVM_GetStackTraceDepth; - JVM_GetStackTraceElement; - JVM_GetSystemPackage; - JVM_GetSystemPackages; - JVM_GetTemporaryDirectory; - JVM_GetVersionInfo; - JVM_Halt; - JVM_HoldsLock; - JVM_IHashCode; - JVM_InitAgentProperties; - JVM_InitProperties; - JVM_InternString; - JVM_Interrupt; - JVM_InvokeMethod; - JVM_IsArrayClass; - JVM_IsConstructorIx; - JVM_IsInterface; - JVM_IsInterrupted; - JVM_IsPrimitiveClass; - JVM_IsSameClassPackage; - JVM_IsSupportedJNIVersion; - JVM_IsThreadAlive; - JVM_IsVMGeneratedMethodIx; - JVM_LatestUserDefinedLoader; - JVM_LoadLibrary; - JVM_MaxObjectInspectionAge; - JVM_MaxMemory; - JVM_MonitorNotify; - JVM_MonitorNotifyAll; - JVM_MonitorWait; - JVM_NanoTime; - JVM_NativePath; - JVM_NewArray; - JVM_NewInstanceFromConstructor; - JVM_NewMultiArray; - JVM_RaiseSignal; - JVM_RawMonitorCreate; - JVM_RawMonitorDestroy; - JVM_RawMonitorEnter; - JVM_RawMonitorExit; - JVM_RegisterSignal; - JVM_ReleaseUTF; - JVM_ResumeThread; - JVM_SetArrayElement; - JVM_SetClassSigners; - JVM_SetNativeThreadName; - JVM_SetPrimitiveArrayElement; - JVM_SetProtectionDomain; - JVM_SetThreadPriority; - JVM_Sleep; - JVM_StartThread; - JVM_StopThread; - JVM_SuspendThread; - JVM_SupportsCX8; - JVM_TotalMemory; - JVM_UnloadLibrary; - JVM_Yield; JVM_handle_linux_signal; # debug JVM diff --git a/hotspot/make/aix/makefiles/mapfile-vers-product b/hotspot/make/aix/makefiles/mapfile-vers-product index 7b0ab9194fe..1fa9c284d8b 100644 --- a/hotspot/make/aix/makefiles/mapfile-vers-product +++ b/hotspot/make/aix/makefiles/mapfile-vers-product @@ -26,167 +26,6 @@ SUNWprivate_1.1 { global: - # JNI - JNI_CreateJavaVM; - JNI_GetCreatedJavaVMs; - JNI_GetDefaultJavaVMInitArgs; - - # JVM - JVM_ActiveProcessorCount; - JVM_ArrayCopy; - JVM_AssertionStatusDirectives; - JVM_ClassDepth; - JVM_ClassLoaderDepth; - JVM_Clone; - JVM_ConstantPoolGetClassAt; - JVM_ConstantPoolGetClassAtIfLoaded; - JVM_ConstantPoolGetDoubleAt; - JVM_ConstantPoolGetFieldAt; - JVM_ConstantPoolGetFieldAtIfLoaded; - JVM_ConstantPoolGetFloatAt; - JVM_ConstantPoolGetIntAt; - JVM_ConstantPoolGetLongAt; - JVM_ConstantPoolGetMethodAt; - JVM_ConstantPoolGetMethodAtIfLoaded; - JVM_ConstantPoolGetMemberRefInfoAt; - JVM_ConstantPoolGetSize; - JVM_ConstantPoolGetStringAt; - JVM_ConstantPoolGetUTF8At; - JVM_CountStackFrames; - JVM_CurrentClassLoader; - JVM_CurrentLoadedClass; - JVM_CurrentThread; - JVM_CurrentTimeMillis; - JVM_DefineClass; - JVM_DefineClassWithSource; - JVM_DefineClassWithSourceCond; - JVM_DesiredAssertionStatus; - JVM_DoPrivileged; - JVM_DumpAllStacks; - JVM_DumpThreads; - JVM_FillInStackTrace; - JVM_FindClassFromCaller; - JVM_FindClassFromClass; - JVM_FindClassFromBootLoader; - JVM_FindLibraryEntry; - JVM_FindLoadedClass; - JVM_FindPrimitiveClass; - JVM_FindSignal; - JVM_FreeMemory; - JVM_GC; - JVM_GetAllThreads; - JVM_GetArrayElement; - JVM_GetArrayLength; - JVM_GetCPClassNameUTF; - JVM_GetCPFieldClassNameUTF; - JVM_GetCPFieldModifiers; - JVM_GetCPFieldNameUTF; - JVM_GetCPFieldSignatureUTF; - JVM_GetCPMethodClassNameUTF; - JVM_GetCPMethodModifiers; - JVM_GetCPMethodNameUTF; - JVM_GetCPMethodSignatureUTF; - JVM_GetCallerClass; - JVM_GetClassAccessFlags; - JVM_GetClassAnnotations; - JVM_GetClassCPEntriesCount; - JVM_GetClassCPTypes; - JVM_GetClassConstantPool; - JVM_GetClassContext; - JVM_GetClassDeclaredConstructors; - JVM_GetClassDeclaredFields; - JVM_GetClassDeclaredMethods; - JVM_GetClassFieldsCount; - JVM_GetClassInterfaces; - JVM_GetClassMethodsCount; - JVM_GetClassModifiers; - JVM_GetClassName; - JVM_GetClassNameUTF; - JVM_GetClassSignature; - JVM_GetClassSigners; - JVM_GetClassTypeAnnotations; - JVM_GetDeclaredClasses; - JVM_GetDeclaringClass; - JVM_GetSimpleBinaryName; - JVM_GetEnclosingMethodInfo; - JVM_GetFieldIxModifiers; - JVM_GetInheritedAccessControlContext; - JVM_GetInterfaceVersion; - JVM_GetManagement; - JVM_GetMethodIxArgsSize; - JVM_GetMethodIxByteCode; - JVM_GetMethodIxByteCodeLength; - JVM_GetMethodIxExceptionIndexes; - JVM_GetMethodIxExceptionTableEntry; - JVM_GetMethodIxExceptionTableLength; - JVM_GetMethodIxExceptionsCount; - JVM_GetMethodIxLocalsCount; - JVM_GetMethodIxMaxStack; - JVM_GetMethodIxModifiers; - JVM_GetMethodIxNameUTF; - JVM_GetMethodIxSignatureUTF; - JVM_GetMethodParameters; - JVM_GetNanoTimeAdjustment; - JVM_GetPrimitiveArrayElement; - JVM_GetProtectionDomain; - JVM_GetStackAccessControlContext; - JVM_GetStackTraceDepth; - JVM_GetStackTraceElement; - JVM_GetSystemPackage; - JVM_GetSystemPackages; - JVM_GetTemporaryDirectory; - JVM_GetVersionInfo; - JVM_Halt; - JVM_HoldsLock; - JVM_IHashCode; - JVM_InitAgentProperties; - JVM_InitProperties; - JVM_InternString; - JVM_Interrupt; - JVM_InvokeMethod; - JVM_IsArrayClass; - JVM_IsConstructorIx; - JVM_IsInterface; - JVM_IsInterrupted; - JVM_IsPrimitiveClass; - JVM_IsSameClassPackage; - JVM_IsSupportedJNIVersion; - JVM_IsThreadAlive; - JVM_IsVMGeneratedMethodIx; - JVM_LatestUserDefinedLoader; - JVM_LoadLibrary; - JVM_MaxObjectInspectionAge; - JVM_MaxMemory; - JVM_MonitorNotify; - JVM_MonitorNotifyAll; - JVM_MonitorWait; - JVM_NanoTime; - JVM_NativePath; - JVM_NewArray; - JVM_NewInstanceFromConstructor; - JVM_NewMultiArray; - JVM_RaiseSignal; - JVM_RawMonitorCreate; - JVM_RawMonitorDestroy; - JVM_RawMonitorEnter; - JVM_RawMonitorExit; - JVM_RegisterSignal; - JVM_ReleaseUTF; - JVM_ResumeThread; - JVM_SetArrayElement; - JVM_SetClassSigners; - JVM_SetNativeThreadName; - JVM_SetPrimitiveArrayElement; - JVM_SetProtectionDomain; - JVM_SetThreadPriority; - JVM_Sleep; - JVM_StartThread; - JVM_StopThread; - JVM_SuspendThread; - JVM_SupportsCX8; - JVM_TotalMemory; - JVM_UnloadLibrary; - JVM_Yield; JVM_handle_linux_signal; # miscellaneous functions diff --git a/hotspot/make/aix/makefiles/vm.make b/hotspot/make/aix/makefiles/vm.make index ecd46d1c371..11bb0294ede 100644 --- a/hotspot/make/aix/makefiles/vm.make +++ b/hotspot/make/aix/makefiles/vm.make @@ -220,10 +220,12 @@ JVM_OBJ_FILES = $(Obj_Files) vm_version.o: $(filter-out vm_version.o,$(JVM_OBJ_FILES)) -mapfile : $(MAPFILE) vm.def +MAPFILE_SHARE := $(GAMMADIR)/make/share/makefiles/mapfile-vers + +mapfile : $(MAPFILE) $(MAPFILE_SHARE) vm.def rm -f $@ awk '{ if ($$0 ~ "INSERT VTABLE SYMBOLS HERE") \ - { system ("cat vm.def"); } \ + { system ("cat ${MAPFILE_SHARE} vm.def"); } \ else \ { print $$0 } \ }' > $@ < $(MAPFILE) diff --git a/hotspot/make/bsd/makefiles/mapfile-vers-darwin-debug b/hotspot/make/bsd/makefiles/mapfile-vers-darwin-debug index 8740963b410..f92fe181903 100644 --- a/hotspot/make/bsd/makefiles/mapfile-vers-darwin-debug +++ b/hotspot/make/bsd/makefiles/mapfile-vers-darwin-debug @@ -24,171 +24,9 @@ # Only used for OSX/Darwin builds # Define public interface. - # _JNI - _JNI_CreateJavaVM - _JNI_GetCreatedJavaVMs - _JNI_GetDefaultJavaVMInitArgs - - # _JVM - _JVM_ActiveProcessorCount - _JVM_ArrayCopy - _JVM_AssertionStatusDirectives - _JVM_ClassDepth - _JVM_ClassLoaderDepth - _JVM_Clone - _JVM_ConstantPoolGetClassAt - _JVM_ConstantPoolGetClassAtIfLoaded - _JVM_ConstantPoolGetDoubleAt - _JVM_ConstantPoolGetFieldAt - _JVM_ConstantPoolGetFieldAtIfLoaded - _JVM_ConstantPoolGetFloatAt - _JVM_ConstantPoolGetIntAt - _JVM_ConstantPoolGetLongAt - _JVM_ConstantPoolGetMethodAt - _JVM_ConstantPoolGetMethodAtIfLoaded - _JVM_ConstantPoolGetMemberRefInfoAt - _JVM_ConstantPoolGetSize - _JVM_ConstantPoolGetStringAt - _JVM_ConstantPoolGetUTF8At - _JVM_CountStackFrames - _JVM_CurrentClassLoader - _JVM_CurrentLoadedClass - _JVM_CurrentThread - _JVM_CurrentTimeMillis - _JVM_DefineClass - _JVM_DefineClassWithSource - _JVM_DefineClassWithSourceCond - _JVM_DesiredAssertionStatus - _JVM_DoPrivileged - _JVM_DumpAllStacks - _JVM_DumpThreads - _JVM_FillInStackTrace - _JVM_FindClassFromCaller - _JVM_FindClassFromClass - _JVM_FindClassFromBootLoader - _JVM_FindLibraryEntry - _JVM_FindLoadedClass - _JVM_FindPrimitiveClass - _JVM_FindSignal - _JVM_FreeMemory - _JVM_GC - _JVM_GetAllThreads - _JVM_GetArrayElement - _JVM_GetArrayLength - _JVM_GetCPClassNameUTF - _JVM_GetCPFieldClassNameUTF - _JVM_GetCPFieldModifiers - _JVM_GetCPFieldNameUTF - _JVM_GetCPFieldSignatureUTF - _JVM_GetCPMethodClassNameUTF - _JVM_GetCPMethodModifiers - _JVM_GetCPMethodNameUTF - _JVM_GetCPMethodSignatureUTF - _JVM_GetCallerClass - _JVM_GetClassAccessFlags - _JVM_GetClassAnnotations - _JVM_GetClassCPEntriesCount - _JVM_GetClassCPTypes - _JVM_GetClassConstantPool - _JVM_GetClassContext - _JVM_GetClassDeclaredConstructors - _JVM_GetClassDeclaredFields - _JVM_GetClassDeclaredMethods - _JVM_GetClassFieldsCount - _JVM_GetClassInterfaces - _JVM_GetClassMethodsCount - _JVM_GetClassModifiers - _JVM_GetClassName - _JVM_GetClassNameUTF - _JVM_GetClassSignature - _JVM_GetClassSigners - _JVM_GetClassTypeAnnotations - _JVM_GetDeclaredClasses - _JVM_GetDeclaringClass - _JVM_GetSimpleBinaryName - _JVM_GetEnclosingMethodInfo - _JVM_GetFieldIxModifiers - _JVM_GetFieldTypeAnnotations - _JVM_GetInheritedAccessControlContext - _JVM_GetInterfaceVersion - _JVM_GetManagement - _JVM_GetMethodIxArgsSize - _JVM_GetMethodIxByteCode - _JVM_GetMethodIxByteCodeLength - _JVM_GetMethodIxExceptionIndexes - _JVM_GetMethodIxExceptionTableEntry - _JVM_GetMethodIxExceptionTableLength - _JVM_GetMethodIxExceptionsCount - _JVM_GetMethodIxLocalsCount - _JVM_GetMethodIxMaxStack - _JVM_GetMethodIxModifiers - _JVM_GetMethodIxNameUTF - _JVM_GetMethodIxSignatureUTF - _JVM_GetMethodParameters - _JVM_GetMethodTypeAnnotations - _JVM_GetNanoTimeAdjustment - _JVM_GetPrimitiveArrayElement - _JVM_GetProtectionDomain - _JVM_GetStackAccessControlContext - _JVM_GetStackTraceDepth - _JVM_GetStackTraceElement - _JVM_GetSystemPackage - _JVM_GetSystemPackages - _JVM_GetTemporaryDirectory - _JVM_GetVersionInfo - _JVM_Halt - _JVM_HoldsLock - _JVM_IHashCode - _JVM_InitAgentProperties - _JVM_InitProperties - _JVM_InternString - _JVM_Interrupt - _JVM_InvokeMethod - _JVM_IsArrayClass - _JVM_IsConstructorIx - _JVM_IsInterface - _JVM_IsInterrupted - _JVM_IsPrimitiveClass - _JVM_IsSameClassPackage - _JVM_IsSupportedJNIVersion - _JVM_IsThreadAlive - _JVM_IsVMGeneratedMethodIx - _JVM_LatestUserDefinedLoader - _JVM_LoadLibrary - _JVM_MaxObjectInspectionAge - _JVM_MaxMemory - _JVM_MonitorNotify - _JVM_MonitorNotifyAll - _JVM_MonitorWait - _JVM_NanoTime - _JVM_NativePath - _JVM_NewArray - _JVM_NewInstanceFromConstructor - _JVM_NewMultiArray - _JVM_RaiseSignal - _JVM_RawMonitorCreate - _JVM_RawMonitorDestroy - _JVM_RawMonitorEnter - _JVM_RawMonitorExit - _JVM_RegisterSignal - _JVM_ReleaseUTF - _JVM_ResumeThread - _JVM_SetArrayElement - _JVM_SetClassSigners - _JVM_SetNativeThreadName - _JVM_SetPrimitiveArrayElement - _JVM_SetThreadPriority - _JVM_Sleep - _JVM_StartThread - _JVM_StopThread - _JVM_SuspendThread - _JVM_SupportsCX8 - _JVM_TotalMemory - _JVM_UnloadLibrary - _JVM_Yield _JVM_handle_bsd_signal - # miscellaneous functions + # miscellaneous functions _jio_fprintf _jio_printf _jio_snprintf diff --git a/hotspot/make/bsd/makefiles/mapfile-vers-darwin-product b/hotspot/make/bsd/makefiles/mapfile-vers-darwin-product index d7df2cb7b1d..47b8549c2ba 100644 --- a/hotspot/make/bsd/makefiles/mapfile-vers-darwin-product +++ b/hotspot/make/bsd/makefiles/mapfile-vers-darwin-product @@ -24,168 +24,6 @@ # Only used for OSX/Darwin builds # Define public interface. - # _JNI - _JNI_CreateJavaVM - _JNI_GetCreatedJavaVMs - _JNI_GetDefaultJavaVMInitArgs - - # _JVM - _JVM_ActiveProcessorCount - _JVM_ArrayCopy - _JVM_AssertionStatusDirectives - _JVM_ClassDepth - _JVM_ClassLoaderDepth - _JVM_Clone - _JVM_ConstantPoolGetClassAt - _JVM_ConstantPoolGetClassAtIfLoaded - _JVM_ConstantPoolGetDoubleAt - _JVM_ConstantPoolGetFieldAt - _JVM_ConstantPoolGetFieldAtIfLoaded - _JVM_ConstantPoolGetFloatAt - _JVM_ConstantPoolGetIntAt - _JVM_ConstantPoolGetLongAt - _JVM_ConstantPoolGetMethodAt - _JVM_ConstantPoolGetMethodAtIfLoaded - _JVM_ConstantPoolGetMemberRefInfoAt - _JVM_ConstantPoolGetSize - _JVM_ConstantPoolGetStringAt - _JVM_ConstantPoolGetUTF8At - _JVM_CountStackFrames - _JVM_CurrentClassLoader - _JVM_CurrentLoadedClass - _JVM_CurrentThread - _JVM_CurrentTimeMillis - _JVM_DefineClass - _JVM_DefineClassWithSource - _JVM_DefineClassWithSourceCond - _JVM_DesiredAssertionStatus - _JVM_DoPrivileged - _JVM_DumpAllStacks - _JVM_DumpThreads - _JVM_FillInStackTrace - _JVM_FindClassFromCaller - _JVM_FindClassFromClass - _JVM_FindClassFromBootLoader - _JVM_FindLibraryEntry - _JVM_FindLoadedClass - _JVM_FindPrimitiveClass - _JVM_FindSignal - _JVM_FreeMemory - _JVM_GC - _JVM_GetAllThreads - _JVM_GetArrayElement - _JVM_GetArrayLength - _JVM_GetCPClassNameUTF - _JVM_GetCPFieldClassNameUTF - _JVM_GetCPFieldModifiers - _JVM_GetCPFieldNameUTF - _JVM_GetCPFieldSignatureUTF - _JVM_GetCPMethodClassNameUTF - _JVM_GetCPMethodModifiers - _JVM_GetCPMethodNameUTF - _JVM_GetCPMethodSignatureUTF - _JVM_GetCallerClass - _JVM_GetClassAccessFlags - _JVM_GetClassAnnotations - _JVM_GetClassCPEntriesCount - _JVM_GetClassCPTypes - _JVM_GetClassConstantPool - _JVM_GetClassContext - _JVM_GetClassDeclaredConstructors - _JVM_GetClassDeclaredFields - _JVM_GetClassDeclaredMethods - _JVM_GetClassFieldsCount - _JVM_GetClassInterfaces - _JVM_GetClassMethodsCount - _JVM_GetClassModifiers - _JVM_GetClassName - _JVM_GetClassNameUTF - _JVM_GetClassSignature - _JVM_GetClassSigners - _JVM_GetClassTypeAnnotations - _JVM_GetDeclaredClasses - _JVM_GetDeclaringClass - _JVM_GetSimpleBinaryName - _JVM_GetEnclosingMethodInfo - _JVM_GetFieldIxModifiers - _JVM_GetFieldTypeAnnotations - _JVM_GetInheritedAccessControlContext - _JVM_GetInterfaceVersion - _JVM_GetManagement - _JVM_GetMethodIxArgsSize - _JVM_GetMethodIxByteCode - _JVM_GetMethodIxByteCodeLength - _JVM_GetMethodIxExceptionIndexes - _JVM_GetMethodIxExceptionTableEntry - _JVM_GetMethodIxExceptionTableLength - _JVM_GetMethodIxExceptionsCount - _JVM_GetMethodIxLocalsCount - _JVM_GetMethodIxMaxStack - _JVM_GetMethodIxModifiers - _JVM_GetMethodIxNameUTF - _JVM_GetMethodIxSignatureUTF - _JVM_GetMethodParameters - _JVM_GetMethodTypeAnnotations - _JVM_GetNanoTimeAdjustment - _JVM_GetPrimitiveArrayElement - _JVM_GetProtectionDomain - _JVM_GetStackAccessControlContext - _JVM_GetStackTraceDepth - _JVM_GetStackTraceElement - _JVM_GetSystemPackage - _JVM_GetSystemPackages - _JVM_GetTemporaryDirectory - _JVM_GetVersionInfo - _JVM_Halt - _JVM_HoldsLock - _JVM_IHashCode - _JVM_InitAgentProperties - _JVM_InitProperties - _JVM_InternString - _JVM_Interrupt - _JVM_InvokeMethod - _JVM_IsArrayClass - _JVM_IsConstructorIx - _JVM_IsInterface - _JVM_IsInterrupted - _JVM_IsPrimitiveClass - _JVM_IsSameClassPackage - _JVM_IsSupportedJNIVersion - _JVM_IsThreadAlive - _JVM_IsVMGeneratedMethodIx - _JVM_LatestUserDefinedLoader - _JVM_LoadLibrary - _JVM_MaxObjectInspectionAge - _JVM_MaxMemory - _JVM_MonitorNotify - _JVM_MonitorNotifyAll - _JVM_MonitorWait - _JVM_NanoTime - _JVM_NativePath - _JVM_NewArray - _JVM_NewInstanceFromConstructor - _JVM_NewMultiArray - _JVM_RaiseSignal - _JVM_RawMonitorCreate - _JVM_RawMonitorDestroy - _JVM_RawMonitorEnter - _JVM_RawMonitorExit - _JVM_RegisterSignal - _JVM_ReleaseUTF - _JVM_ResumeThread - _JVM_SetArrayElement - _JVM_SetClassSigners - _JVM_SetNativeThreadName - _JVM_SetPrimitiveArrayElement - _JVM_SetThreadPriority - _JVM_Sleep - _JVM_StartThread - _JVM_StopThread - _JVM_SuspendThread - _JVM_SupportsCX8 - _JVM_TotalMemory - _JVM_UnloadLibrary - _JVM_Yield _JVM_handle_bsd_signal # miscellaneous functions diff --git a/hotspot/make/bsd/makefiles/mapfile-vers-debug b/hotspot/make/bsd/makefiles/mapfile-vers-debug index af2fe0b90bc..1fa9c284d8b 100644 --- a/hotspot/make/bsd/makefiles/mapfile-vers-debug +++ b/hotspot/make/bsd/makefiles/mapfile-vers-debug @@ -26,168 +26,6 @@ SUNWprivate_1.1 { global: - # JNI - JNI_CreateJavaVM; - JNI_GetCreatedJavaVMs; - JNI_GetDefaultJavaVMInitArgs; - - # JVM - JVM_ActiveProcessorCount; - JVM_ArrayCopy; - JVM_AssertionStatusDirectives; - JVM_ClassDepth; - JVM_ClassLoaderDepth; - JVM_Clone; - JVM_ConstantPoolGetClassAt; - JVM_ConstantPoolGetClassAtIfLoaded; - JVM_ConstantPoolGetDoubleAt; - JVM_ConstantPoolGetFieldAt; - JVM_ConstantPoolGetFieldAtIfLoaded; - JVM_ConstantPoolGetFloatAt; - JVM_ConstantPoolGetIntAt; - JVM_ConstantPoolGetLongAt; - JVM_ConstantPoolGetMethodAt; - JVM_ConstantPoolGetMethodAtIfLoaded; - JVM_ConstantPoolGetMemberRefInfoAt; - JVM_ConstantPoolGetSize; - JVM_ConstantPoolGetStringAt; - JVM_ConstantPoolGetUTF8At; - JVM_CountStackFrames; - JVM_CurrentClassLoader; - JVM_CurrentLoadedClass; - JVM_CurrentThread; - JVM_CurrentTimeMillis; - JVM_DefineClass; - JVM_DefineClassWithSource; - JVM_DefineClassWithSourceCond; - JVM_DesiredAssertionStatus; - JVM_DoPrivileged; - JVM_DumpAllStacks; - JVM_DumpThreads; - JVM_FillInStackTrace; - JVM_FindClassFromCaller; - JVM_FindClassFromClass; - JVM_FindClassFromBootLoader; - JVM_FindLibraryEntry; - JVM_FindLoadedClass; - JVM_FindPrimitiveClass; - JVM_FindSignal; - JVM_FreeMemory; - JVM_GC; - JVM_GetAllThreads; - JVM_GetArrayElement; - JVM_GetArrayLength; - JVM_GetCPClassNameUTF; - JVM_GetCPFieldClassNameUTF; - JVM_GetCPFieldModifiers; - JVM_GetCPFieldNameUTF; - JVM_GetCPFieldSignatureUTF; - JVM_GetCPMethodClassNameUTF; - JVM_GetCPMethodModifiers; - JVM_GetCPMethodNameUTF; - JVM_GetCPMethodSignatureUTF; - JVM_GetCallerClass; - JVM_GetClassAccessFlags; - JVM_GetClassAnnotations; - JVM_GetClassCPEntriesCount; - JVM_GetClassCPTypes; - JVM_GetClassConstantPool; - JVM_GetClassContext; - JVM_GetClassDeclaredConstructors; - JVM_GetClassDeclaredFields; - JVM_GetClassDeclaredMethods; - JVM_GetClassFieldsCount; - JVM_GetClassInterfaces; - JVM_GetClassMethodsCount; - JVM_GetClassModifiers; - JVM_GetClassName; - JVM_GetClassNameUTF; - JVM_GetClassSignature; - JVM_GetClassSigners; - JVM_GetClassTypeAnnotations; - JVM_GetDeclaredClasses; - JVM_GetDeclaringClass; - JVM_GetSimpleBinaryName; - JVM_GetEnclosingMethodInfo; - JVM_GetFieldIxModifiers; - JVM_GetFieldTypeAnnotations; - JVM_GetInheritedAccessControlContext; - JVM_GetInterfaceVersion; - JVM_GetManagement; - JVM_GetMethodIxArgsSize; - JVM_GetMethodIxByteCode; - JVM_GetMethodIxByteCodeLength; - JVM_GetMethodIxExceptionIndexes; - JVM_GetMethodIxExceptionTableEntry; - JVM_GetMethodIxExceptionTableLength; - JVM_GetMethodIxExceptionsCount; - JVM_GetMethodIxLocalsCount; - JVM_GetMethodIxMaxStack; - JVM_GetMethodIxModifiers; - JVM_GetMethodIxNameUTF; - JVM_GetMethodIxSignatureUTF; - JVM_GetMethodParameters; - JVM_GetMethodTypeAnnotations; - JVM_GetNanoTimeAdjustment; - JVM_GetPrimitiveArrayElement; - JVM_GetProtectionDomain; - JVM_GetStackAccessControlContext; - JVM_GetStackTraceDepth; - JVM_GetStackTraceElement; - JVM_GetSystemPackage; - JVM_GetSystemPackages; - JVM_GetTemporaryDirectory; - JVM_GetVersionInfo; - JVM_Halt; - JVM_HoldsLock; - JVM_IHashCode; - JVM_InitAgentProperties; - JVM_InitProperties; - JVM_InternString; - JVM_Interrupt; - JVM_InvokeMethod; - JVM_IsArrayClass; - JVM_IsConstructorIx; - JVM_IsInterface; - JVM_IsInterrupted; - JVM_IsPrimitiveClass; - JVM_IsSameClassPackage; - JVM_IsSupportedJNIVersion; - JVM_IsThreadAlive; - JVM_IsVMGeneratedMethodIx; - JVM_LatestUserDefinedLoader; - JVM_LoadLibrary; - JVM_MaxObjectInspectionAge; - JVM_MaxMemory; - JVM_MonitorNotify; - JVM_MonitorNotifyAll; - JVM_MonitorWait; - JVM_NanoTime; - JVM_NativePath; - JVM_NewArray; - JVM_NewInstanceFromConstructor; - JVM_NewMultiArray; - JVM_RaiseSignal; - JVM_RawMonitorCreate; - JVM_RawMonitorDestroy; - JVM_RawMonitorEnter; - JVM_RawMonitorExit; - JVM_RegisterSignal; - JVM_ReleaseUTF; - JVM_ResumeThread; - JVM_SetArrayElement; - JVM_SetClassSigners; - JVM_SetNativeThreadName; - JVM_SetPrimitiveArrayElement; - JVM_SetThreadPriority; - JVM_Sleep; - JVM_StartThread; - JVM_StopThread; - JVM_SuspendThread; - JVM_SupportsCX8; - JVM_TotalMemory; - JVM_UnloadLibrary; - JVM_Yield; JVM_handle_linux_signal; # miscellaneous functions diff --git a/hotspot/make/bsd/makefiles/mapfile-vers-product b/hotspot/make/bsd/makefiles/mapfile-vers-product index af2fe0b90bc..1fa9c284d8b 100644 --- a/hotspot/make/bsd/makefiles/mapfile-vers-product +++ b/hotspot/make/bsd/makefiles/mapfile-vers-product @@ -26,168 +26,6 @@ SUNWprivate_1.1 { global: - # JNI - JNI_CreateJavaVM; - JNI_GetCreatedJavaVMs; - JNI_GetDefaultJavaVMInitArgs; - - # JVM - JVM_ActiveProcessorCount; - JVM_ArrayCopy; - JVM_AssertionStatusDirectives; - JVM_ClassDepth; - JVM_ClassLoaderDepth; - JVM_Clone; - JVM_ConstantPoolGetClassAt; - JVM_ConstantPoolGetClassAtIfLoaded; - JVM_ConstantPoolGetDoubleAt; - JVM_ConstantPoolGetFieldAt; - JVM_ConstantPoolGetFieldAtIfLoaded; - JVM_ConstantPoolGetFloatAt; - JVM_ConstantPoolGetIntAt; - JVM_ConstantPoolGetLongAt; - JVM_ConstantPoolGetMethodAt; - JVM_ConstantPoolGetMethodAtIfLoaded; - JVM_ConstantPoolGetMemberRefInfoAt; - JVM_ConstantPoolGetSize; - JVM_ConstantPoolGetStringAt; - JVM_ConstantPoolGetUTF8At; - JVM_CountStackFrames; - JVM_CurrentClassLoader; - JVM_CurrentLoadedClass; - JVM_CurrentThread; - JVM_CurrentTimeMillis; - JVM_DefineClass; - JVM_DefineClassWithSource; - JVM_DefineClassWithSourceCond; - JVM_DesiredAssertionStatus; - JVM_DoPrivileged; - JVM_DumpAllStacks; - JVM_DumpThreads; - JVM_FillInStackTrace; - JVM_FindClassFromCaller; - JVM_FindClassFromClass; - JVM_FindClassFromBootLoader; - JVM_FindLibraryEntry; - JVM_FindLoadedClass; - JVM_FindPrimitiveClass; - JVM_FindSignal; - JVM_FreeMemory; - JVM_GC; - JVM_GetAllThreads; - JVM_GetArrayElement; - JVM_GetArrayLength; - JVM_GetCPClassNameUTF; - JVM_GetCPFieldClassNameUTF; - JVM_GetCPFieldModifiers; - JVM_GetCPFieldNameUTF; - JVM_GetCPFieldSignatureUTF; - JVM_GetCPMethodClassNameUTF; - JVM_GetCPMethodModifiers; - JVM_GetCPMethodNameUTF; - JVM_GetCPMethodSignatureUTF; - JVM_GetCallerClass; - JVM_GetClassAccessFlags; - JVM_GetClassAnnotations; - JVM_GetClassCPEntriesCount; - JVM_GetClassCPTypes; - JVM_GetClassConstantPool; - JVM_GetClassContext; - JVM_GetClassDeclaredConstructors; - JVM_GetClassDeclaredFields; - JVM_GetClassDeclaredMethods; - JVM_GetClassFieldsCount; - JVM_GetClassInterfaces; - JVM_GetClassMethodsCount; - JVM_GetClassModifiers; - JVM_GetClassName; - JVM_GetClassNameUTF; - JVM_GetClassSignature; - JVM_GetClassSigners; - JVM_GetClassTypeAnnotations; - JVM_GetDeclaredClasses; - JVM_GetDeclaringClass; - JVM_GetSimpleBinaryName; - JVM_GetEnclosingMethodInfo; - JVM_GetFieldIxModifiers; - JVM_GetFieldTypeAnnotations; - JVM_GetInheritedAccessControlContext; - JVM_GetInterfaceVersion; - JVM_GetManagement; - JVM_GetMethodIxArgsSize; - JVM_GetMethodIxByteCode; - JVM_GetMethodIxByteCodeLength; - JVM_GetMethodIxExceptionIndexes; - JVM_GetMethodIxExceptionTableEntry; - JVM_GetMethodIxExceptionTableLength; - JVM_GetMethodIxExceptionsCount; - JVM_GetMethodIxLocalsCount; - JVM_GetMethodIxMaxStack; - JVM_GetMethodIxModifiers; - JVM_GetMethodIxNameUTF; - JVM_GetMethodIxSignatureUTF; - JVM_GetMethodParameters; - JVM_GetMethodTypeAnnotations; - JVM_GetNanoTimeAdjustment; - JVM_GetPrimitiveArrayElement; - JVM_GetProtectionDomain; - JVM_GetStackAccessControlContext; - JVM_GetStackTraceDepth; - JVM_GetStackTraceElement; - JVM_GetSystemPackage; - JVM_GetSystemPackages; - JVM_GetTemporaryDirectory; - JVM_GetVersionInfo; - JVM_Halt; - JVM_HoldsLock; - JVM_IHashCode; - JVM_InitAgentProperties; - JVM_InitProperties; - JVM_InternString; - JVM_Interrupt; - JVM_InvokeMethod; - JVM_IsArrayClass; - JVM_IsConstructorIx; - JVM_IsInterface; - JVM_IsInterrupted; - JVM_IsPrimitiveClass; - JVM_IsSameClassPackage; - JVM_IsSupportedJNIVersion; - JVM_IsThreadAlive; - JVM_IsVMGeneratedMethodIx; - JVM_LatestUserDefinedLoader; - JVM_LoadLibrary; - JVM_MaxObjectInspectionAge; - JVM_MaxMemory; - JVM_MonitorNotify; - JVM_MonitorNotifyAll; - JVM_MonitorWait; - JVM_NanoTime; - JVM_NativePath; - JVM_NewArray; - JVM_NewInstanceFromConstructor; - JVM_NewMultiArray; - JVM_RaiseSignal; - JVM_RawMonitorCreate; - JVM_RawMonitorDestroy; - JVM_RawMonitorEnter; - JVM_RawMonitorExit; - JVM_RegisterSignal; - JVM_ReleaseUTF; - JVM_ResumeThread; - JVM_SetArrayElement; - JVM_SetClassSigners; - JVM_SetNativeThreadName; - JVM_SetPrimitiveArrayElement; - JVM_SetThreadPriority; - JVM_Sleep; - JVM_StartThread; - JVM_StopThread; - JVM_SuspendThread; - JVM_SupportsCX8; - JVM_TotalMemory; - JVM_UnloadLibrary; - JVM_Yield; JVM_handle_linux_signal; # miscellaneous functions diff --git a/hotspot/make/bsd/makefiles/vm.make b/hotspot/make/bsd/makefiles/vm.make index fc6bd323c60..562d1f45729 100644 --- a/hotspot/make/bsd/makefiles/vm.make +++ b/hotspot/make/bsd/makefiles/vm.make @@ -234,10 +234,29 @@ JVM_OBJ_FILES = $(Obj_Files) vm_version.o: $(filter-out vm_version.o,$(JVM_OBJ_FILES)) -mapfile : $(MAPFILE) vm.def mapfile_ext +MAPFILE_SHARE := $(GAMMADIR)/make/share/makefiles/mapfile-vers + +MAPFILE_EXT_SRC := $(HS_ALT_MAKE)/share/makefiles/mapfile-ext +ifneq ("$(wildcard $(MAPFILE_EXT_SRC))","") +MAPFILE_EXT := $(MAPFILE_EXT_SRC) +endif + +# For Darwin: add _ prefix and remove trailing ; +mapfile_extra: $(MAPFILE_SHARE) $(MAPFILE_EXT) + rm -f $@ +ifeq ($(OS_VENDOR), Darwin) + cat $(MAPFILE_SHARE) $(MAPFILE_EXT) | \ + sed -e 's/#.*//g' -e 's/[ ]*//g' -e 's/;//g' | \ + awk '{ if ($$0 ~ ".") { print "\t\t_" $$0 } }' \ + > $@ +else + cat $(MAPFILE_SHARE) $(MAPFILE_EXT) > $@ +endif + +mapfile : $(MAPFILE) mapfile_extra vm.def rm -f $@ awk '{ if ($$0 ~ "INSERT VTABLE SYMBOLS HERE") \ - { system ("cat mapfile_ext"); system ("cat vm.def"); } \ + { system ("cat mapfile_extra vm.def"); } \ else \ { print $$0 } \ }' > $@ < $(MAPFILE) diff --git a/hotspot/make/linux/makefiles/mapfile-vers-debug b/hotspot/make/linux/makefiles/mapfile-vers-debug index af2fe0b90bc..1fa9c284d8b 100644 --- a/hotspot/make/linux/makefiles/mapfile-vers-debug +++ b/hotspot/make/linux/makefiles/mapfile-vers-debug @@ -26,168 +26,6 @@ SUNWprivate_1.1 { global: - # JNI - JNI_CreateJavaVM; - JNI_GetCreatedJavaVMs; - JNI_GetDefaultJavaVMInitArgs; - - # JVM - JVM_ActiveProcessorCount; - JVM_ArrayCopy; - JVM_AssertionStatusDirectives; - JVM_ClassDepth; - JVM_ClassLoaderDepth; - JVM_Clone; - JVM_ConstantPoolGetClassAt; - JVM_ConstantPoolGetClassAtIfLoaded; - JVM_ConstantPoolGetDoubleAt; - JVM_ConstantPoolGetFieldAt; - JVM_ConstantPoolGetFieldAtIfLoaded; - JVM_ConstantPoolGetFloatAt; - JVM_ConstantPoolGetIntAt; - JVM_ConstantPoolGetLongAt; - JVM_ConstantPoolGetMethodAt; - JVM_ConstantPoolGetMethodAtIfLoaded; - JVM_ConstantPoolGetMemberRefInfoAt; - JVM_ConstantPoolGetSize; - JVM_ConstantPoolGetStringAt; - JVM_ConstantPoolGetUTF8At; - JVM_CountStackFrames; - JVM_CurrentClassLoader; - JVM_CurrentLoadedClass; - JVM_CurrentThread; - JVM_CurrentTimeMillis; - JVM_DefineClass; - JVM_DefineClassWithSource; - JVM_DefineClassWithSourceCond; - JVM_DesiredAssertionStatus; - JVM_DoPrivileged; - JVM_DumpAllStacks; - JVM_DumpThreads; - JVM_FillInStackTrace; - JVM_FindClassFromCaller; - JVM_FindClassFromClass; - JVM_FindClassFromBootLoader; - JVM_FindLibraryEntry; - JVM_FindLoadedClass; - JVM_FindPrimitiveClass; - JVM_FindSignal; - JVM_FreeMemory; - JVM_GC; - JVM_GetAllThreads; - JVM_GetArrayElement; - JVM_GetArrayLength; - JVM_GetCPClassNameUTF; - JVM_GetCPFieldClassNameUTF; - JVM_GetCPFieldModifiers; - JVM_GetCPFieldNameUTF; - JVM_GetCPFieldSignatureUTF; - JVM_GetCPMethodClassNameUTF; - JVM_GetCPMethodModifiers; - JVM_GetCPMethodNameUTF; - JVM_GetCPMethodSignatureUTF; - JVM_GetCallerClass; - JVM_GetClassAccessFlags; - JVM_GetClassAnnotations; - JVM_GetClassCPEntriesCount; - JVM_GetClassCPTypes; - JVM_GetClassConstantPool; - JVM_GetClassContext; - JVM_GetClassDeclaredConstructors; - JVM_GetClassDeclaredFields; - JVM_GetClassDeclaredMethods; - JVM_GetClassFieldsCount; - JVM_GetClassInterfaces; - JVM_GetClassMethodsCount; - JVM_GetClassModifiers; - JVM_GetClassName; - JVM_GetClassNameUTF; - JVM_GetClassSignature; - JVM_GetClassSigners; - JVM_GetClassTypeAnnotations; - JVM_GetDeclaredClasses; - JVM_GetDeclaringClass; - JVM_GetSimpleBinaryName; - JVM_GetEnclosingMethodInfo; - JVM_GetFieldIxModifiers; - JVM_GetFieldTypeAnnotations; - JVM_GetInheritedAccessControlContext; - JVM_GetInterfaceVersion; - JVM_GetManagement; - JVM_GetMethodIxArgsSize; - JVM_GetMethodIxByteCode; - JVM_GetMethodIxByteCodeLength; - JVM_GetMethodIxExceptionIndexes; - JVM_GetMethodIxExceptionTableEntry; - JVM_GetMethodIxExceptionTableLength; - JVM_GetMethodIxExceptionsCount; - JVM_GetMethodIxLocalsCount; - JVM_GetMethodIxMaxStack; - JVM_GetMethodIxModifiers; - JVM_GetMethodIxNameUTF; - JVM_GetMethodIxSignatureUTF; - JVM_GetMethodParameters; - JVM_GetMethodTypeAnnotations; - JVM_GetNanoTimeAdjustment; - JVM_GetPrimitiveArrayElement; - JVM_GetProtectionDomain; - JVM_GetStackAccessControlContext; - JVM_GetStackTraceDepth; - JVM_GetStackTraceElement; - JVM_GetSystemPackage; - JVM_GetSystemPackages; - JVM_GetTemporaryDirectory; - JVM_GetVersionInfo; - JVM_Halt; - JVM_HoldsLock; - JVM_IHashCode; - JVM_InitAgentProperties; - JVM_InitProperties; - JVM_InternString; - JVM_Interrupt; - JVM_InvokeMethod; - JVM_IsArrayClass; - JVM_IsConstructorIx; - JVM_IsInterface; - JVM_IsInterrupted; - JVM_IsPrimitiveClass; - JVM_IsSameClassPackage; - JVM_IsSupportedJNIVersion; - JVM_IsThreadAlive; - JVM_IsVMGeneratedMethodIx; - JVM_LatestUserDefinedLoader; - JVM_LoadLibrary; - JVM_MaxObjectInspectionAge; - JVM_MaxMemory; - JVM_MonitorNotify; - JVM_MonitorNotifyAll; - JVM_MonitorWait; - JVM_NanoTime; - JVM_NativePath; - JVM_NewArray; - JVM_NewInstanceFromConstructor; - JVM_NewMultiArray; - JVM_RaiseSignal; - JVM_RawMonitorCreate; - JVM_RawMonitorDestroy; - JVM_RawMonitorEnter; - JVM_RawMonitorExit; - JVM_RegisterSignal; - JVM_ReleaseUTF; - JVM_ResumeThread; - JVM_SetArrayElement; - JVM_SetClassSigners; - JVM_SetNativeThreadName; - JVM_SetPrimitiveArrayElement; - JVM_SetThreadPriority; - JVM_Sleep; - JVM_StartThread; - JVM_StopThread; - JVM_SuspendThread; - JVM_SupportsCX8; - JVM_TotalMemory; - JVM_UnloadLibrary; - JVM_Yield; JVM_handle_linux_signal; # miscellaneous functions diff --git a/hotspot/make/linux/makefiles/mapfile-vers-product b/hotspot/make/linux/makefiles/mapfile-vers-product index af2fe0b90bc..1fa9c284d8b 100644 --- a/hotspot/make/linux/makefiles/mapfile-vers-product +++ b/hotspot/make/linux/makefiles/mapfile-vers-product @@ -26,168 +26,6 @@ SUNWprivate_1.1 { global: - # JNI - JNI_CreateJavaVM; - JNI_GetCreatedJavaVMs; - JNI_GetDefaultJavaVMInitArgs; - - # JVM - JVM_ActiveProcessorCount; - JVM_ArrayCopy; - JVM_AssertionStatusDirectives; - JVM_ClassDepth; - JVM_ClassLoaderDepth; - JVM_Clone; - JVM_ConstantPoolGetClassAt; - JVM_ConstantPoolGetClassAtIfLoaded; - JVM_ConstantPoolGetDoubleAt; - JVM_ConstantPoolGetFieldAt; - JVM_ConstantPoolGetFieldAtIfLoaded; - JVM_ConstantPoolGetFloatAt; - JVM_ConstantPoolGetIntAt; - JVM_ConstantPoolGetLongAt; - JVM_ConstantPoolGetMethodAt; - JVM_ConstantPoolGetMethodAtIfLoaded; - JVM_ConstantPoolGetMemberRefInfoAt; - JVM_ConstantPoolGetSize; - JVM_ConstantPoolGetStringAt; - JVM_ConstantPoolGetUTF8At; - JVM_CountStackFrames; - JVM_CurrentClassLoader; - JVM_CurrentLoadedClass; - JVM_CurrentThread; - JVM_CurrentTimeMillis; - JVM_DefineClass; - JVM_DefineClassWithSource; - JVM_DefineClassWithSourceCond; - JVM_DesiredAssertionStatus; - JVM_DoPrivileged; - JVM_DumpAllStacks; - JVM_DumpThreads; - JVM_FillInStackTrace; - JVM_FindClassFromCaller; - JVM_FindClassFromClass; - JVM_FindClassFromBootLoader; - JVM_FindLibraryEntry; - JVM_FindLoadedClass; - JVM_FindPrimitiveClass; - JVM_FindSignal; - JVM_FreeMemory; - JVM_GC; - JVM_GetAllThreads; - JVM_GetArrayElement; - JVM_GetArrayLength; - JVM_GetCPClassNameUTF; - JVM_GetCPFieldClassNameUTF; - JVM_GetCPFieldModifiers; - JVM_GetCPFieldNameUTF; - JVM_GetCPFieldSignatureUTF; - JVM_GetCPMethodClassNameUTF; - JVM_GetCPMethodModifiers; - JVM_GetCPMethodNameUTF; - JVM_GetCPMethodSignatureUTF; - JVM_GetCallerClass; - JVM_GetClassAccessFlags; - JVM_GetClassAnnotations; - JVM_GetClassCPEntriesCount; - JVM_GetClassCPTypes; - JVM_GetClassConstantPool; - JVM_GetClassContext; - JVM_GetClassDeclaredConstructors; - JVM_GetClassDeclaredFields; - JVM_GetClassDeclaredMethods; - JVM_GetClassFieldsCount; - JVM_GetClassInterfaces; - JVM_GetClassMethodsCount; - JVM_GetClassModifiers; - JVM_GetClassName; - JVM_GetClassNameUTF; - JVM_GetClassSignature; - JVM_GetClassSigners; - JVM_GetClassTypeAnnotations; - JVM_GetDeclaredClasses; - JVM_GetDeclaringClass; - JVM_GetSimpleBinaryName; - JVM_GetEnclosingMethodInfo; - JVM_GetFieldIxModifiers; - JVM_GetFieldTypeAnnotations; - JVM_GetInheritedAccessControlContext; - JVM_GetInterfaceVersion; - JVM_GetManagement; - JVM_GetMethodIxArgsSize; - JVM_GetMethodIxByteCode; - JVM_GetMethodIxByteCodeLength; - JVM_GetMethodIxExceptionIndexes; - JVM_GetMethodIxExceptionTableEntry; - JVM_GetMethodIxExceptionTableLength; - JVM_GetMethodIxExceptionsCount; - JVM_GetMethodIxLocalsCount; - JVM_GetMethodIxMaxStack; - JVM_GetMethodIxModifiers; - JVM_GetMethodIxNameUTF; - JVM_GetMethodIxSignatureUTF; - JVM_GetMethodParameters; - JVM_GetMethodTypeAnnotations; - JVM_GetNanoTimeAdjustment; - JVM_GetPrimitiveArrayElement; - JVM_GetProtectionDomain; - JVM_GetStackAccessControlContext; - JVM_GetStackTraceDepth; - JVM_GetStackTraceElement; - JVM_GetSystemPackage; - JVM_GetSystemPackages; - JVM_GetTemporaryDirectory; - JVM_GetVersionInfo; - JVM_Halt; - JVM_HoldsLock; - JVM_IHashCode; - JVM_InitAgentProperties; - JVM_InitProperties; - JVM_InternString; - JVM_Interrupt; - JVM_InvokeMethod; - JVM_IsArrayClass; - JVM_IsConstructorIx; - JVM_IsInterface; - JVM_IsInterrupted; - JVM_IsPrimitiveClass; - JVM_IsSameClassPackage; - JVM_IsSupportedJNIVersion; - JVM_IsThreadAlive; - JVM_IsVMGeneratedMethodIx; - JVM_LatestUserDefinedLoader; - JVM_LoadLibrary; - JVM_MaxObjectInspectionAge; - JVM_MaxMemory; - JVM_MonitorNotify; - JVM_MonitorNotifyAll; - JVM_MonitorWait; - JVM_NanoTime; - JVM_NativePath; - JVM_NewArray; - JVM_NewInstanceFromConstructor; - JVM_NewMultiArray; - JVM_RaiseSignal; - JVM_RawMonitorCreate; - JVM_RawMonitorDestroy; - JVM_RawMonitorEnter; - JVM_RawMonitorExit; - JVM_RegisterSignal; - JVM_ReleaseUTF; - JVM_ResumeThread; - JVM_SetArrayElement; - JVM_SetClassSigners; - JVM_SetNativeThreadName; - JVM_SetPrimitiveArrayElement; - JVM_SetThreadPriority; - JVM_Sleep; - JVM_StartThread; - JVM_StopThread; - JVM_SuspendThread; - JVM_SupportsCX8; - JVM_TotalMemory; - JVM_UnloadLibrary; - JVM_Yield; JVM_handle_linux_signal; # miscellaneous functions diff --git a/hotspot/make/linux/makefiles/vm.make b/hotspot/make/linux/makefiles/vm.make index 950f6a12f33..6f1cbe4e035 100644 --- a/hotspot/make/linux/makefiles/vm.make +++ b/hotspot/make/linux/makefiles/vm.make @@ -232,10 +232,17 @@ JVM_OBJ_FILES = $(Obj_Files) vm_version.o: $(filter-out vm_version.o,$(JVM_OBJ_FILES)) -mapfile : $(MAPFILE) vm.def mapfile_ext +MAPFILE_SHARE := $(GAMMADIR)/make/share/makefiles/mapfile-vers + +MAPFILE_EXT_SRC := $(HS_ALT_MAKE)/share/makefiles/mapfile-ext +ifneq ("$(wildcard $(MAPFILE_EXT_SRC))","") +MAPFILE_EXT := $(MAPFILE_EXT_SRC) +endif + +mapfile : $(MAPFILE) $(MAPFILE_SHARE) vm.def $(MAPFILE_EXT) rm -f $@ awk '{ if ($$0 ~ "INSERT VTABLE SYMBOLS HERE") \ - { system ("cat mapfile_ext"); system ("cat vm.def"); } \ + { system ("cat ${MAPFILE_SHARE} $(MAPFILE_EXT) vm.def"); } \ else \ { print $$0 } \ }' > $@ < $(MAPFILE) @@ -259,13 +266,6 @@ ifneq ($(VM_DEF_EXT),) cat $(VM_DEF_EXT) >> $@ endif -mapfile_ext: - rm -f $@ - touch $@ - if [ -f $(HS_ALT_MAKE)/linux/makefiles/mapfile-ext ]; then \ - cat $(HS_ALT_MAKE)/linux/makefiles/mapfile-ext > $@; \ - fi - ifeq ($(JVM_VARIANT_ZEROSHARK), true) STATIC_CXX = false else diff --git a/hotspot/make/share/makefiles/mapfile-vers b/hotspot/make/share/makefiles/mapfile-vers new file mode 100644 index 00000000000..57b5ad37c41 --- /dev/null +++ b/hotspot/make/share/makefiles/mapfile-vers @@ -0,0 +1,162 @@ + # JNI + JNI_CreateJavaVM; + JNI_GetCreatedJavaVMs; + JNI_GetDefaultJavaVMInitArgs; + + # JVM + JVM_ActiveProcessorCount; + JVM_ArrayCopy; + JVM_AssertionStatusDirectives; + JVM_ClassDepth; + JVM_ClassLoaderDepth; + JVM_Clone; + JVM_ConstantPoolGetClassAt; + JVM_ConstantPoolGetClassAtIfLoaded; + JVM_ConstantPoolGetDoubleAt; + JVM_ConstantPoolGetFieldAt; + JVM_ConstantPoolGetFieldAtIfLoaded; + JVM_ConstantPoolGetFloatAt; + JVM_ConstantPoolGetIntAt; + JVM_ConstantPoolGetLongAt; + JVM_ConstantPoolGetMethodAt; + JVM_ConstantPoolGetMethodAtIfLoaded; + JVM_ConstantPoolGetMemberRefInfoAt; + JVM_ConstantPoolGetSize; + JVM_ConstantPoolGetStringAt; + JVM_ConstantPoolGetUTF8At; + JVM_CountStackFrames; + JVM_CurrentClassLoader; + JVM_CurrentLoadedClass; + JVM_CurrentThread; + JVM_CurrentTimeMillis; + JVM_DefineClass; + JVM_DefineClassWithSource; + JVM_DefineClassWithSourceCond; + JVM_DesiredAssertionStatus; + JVM_DoPrivileged; + JVM_DumpAllStacks; + JVM_DumpThreads; + JVM_FillInStackTrace; + JVM_FindClassFromCaller; + JVM_FindClassFromClass; + JVM_FindClassFromBootLoader; + JVM_FindLibraryEntry; + JVM_FindLoadedClass; + JVM_FindPrimitiveClass; + JVM_FindSignal; + JVM_FreeMemory; + JVM_GC; + JVM_GetAllThreads; + JVM_GetArrayElement; + JVM_GetArrayLength; + JVM_GetCPClassNameUTF; + JVM_GetCPFieldClassNameUTF; + JVM_GetCPFieldModifiers; + JVM_GetCPFieldNameUTF; + JVM_GetCPFieldSignatureUTF; + JVM_GetCPMethodClassNameUTF; + JVM_GetCPMethodModifiers; + JVM_GetCPMethodNameUTF; + JVM_GetCPMethodSignatureUTF; + JVM_GetCallerClass; + JVM_GetClassAccessFlags; + JVM_GetClassAnnotations; + JVM_GetClassCPEntriesCount; + JVM_GetClassCPTypes; + JVM_GetClassConstantPool; + JVM_GetClassContext; + JVM_GetClassDeclaredConstructors; + JVM_GetClassDeclaredFields; + JVM_GetClassDeclaredMethods; + JVM_GetClassFieldsCount; + JVM_GetClassInterfaces; + JVM_GetClassMethodsCount; + JVM_GetClassModifiers; + JVM_GetClassName; + JVM_GetClassNameUTF; + JVM_GetClassSignature; + JVM_GetClassSigners; + JVM_GetClassTypeAnnotations; + JVM_GetDeclaredClasses; + JVM_GetDeclaringClass; + JVM_GetSimpleBinaryName; + JVM_GetEnclosingMethodInfo; + JVM_GetFieldIxModifiers; + JVM_GetFieldTypeAnnotations; + JVM_GetInheritedAccessControlContext; + JVM_GetInterfaceVersion; + JVM_GetManagement; + JVM_GetMethodIxArgsSize; + JVM_GetMethodIxByteCode; + JVM_GetMethodIxByteCodeLength; + JVM_GetMethodIxExceptionIndexes; + JVM_GetMethodIxExceptionTableEntry; + JVM_GetMethodIxExceptionTableLength; + JVM_GetMethodIxExceptionsCount; + JVM_GetMethodIxLocalsCount; + JVM_GetMethodIxMaxStack; + JVM_GetMethodIxModifiers; + JVM_GetMethodIxNameUTF; + JVM_GetMethodIxSignatureUTF; + JVM_GetMethodParameters; + JVM_GetMethodTypeAnnotations; + JVM_GetNanoTimeAdjustment; + JVM_GetPrimitiveArrayElement; + JVM_GetProtectionDomain; + JVM_GetStackAccessControlContext; + JVM_GetStackTraceDepth; + JVM_GetStackTraceElement; + JVM_GetSystemPackage; + JVM_GetSystemPackages; + JVM_GetTemporaryDirectory; + JVM_GetVersionInfo; + JVM_Halt; + JVM_HoldsLock; + JVM_IHashCode; + JVM_InitAgentProperties; + JVM_InitProperties; + JVM_InternString; + JVM_Interrupt; + JVM_InvokeMethod; + JVM_IsArrayClass; + JVM_IsConstructorIx; + JVM_IsInterface; + JVM_IsInterrupted; + JVM_IsPrimitiveClass; + JVM_IsSameClassPackage; + JVM_IsSupportedJNIVersion; + JVM_IsThreadAlive; + JVM_IsVMGeneratedMethodIx; + JVM_LatestUserDefinedLoader; + JVM_LoadLibrary; + JVM_MaxObjectInspectionAge; + JVM_MaxMemory; + JVM_MonitorNotify; + JVM_MonitorNotifyAll; + JVM_MonitorWait; + JVM_NanoTime; + JVM_NativePath; + JVM_NewArray; + JVM_NewInstanceFromConstructor; + JVM_NewMultiArray; + JVM_RaiseSignal; + JVM_RawMonitorCreate; + JVM_RawMonitorDestroy; + JVM_RawMonitorEnter; + JVM_RawMonitorExit; + JVM_RegisterSignal; + JVM_ReleaseUTF; + JVM_ResumeThread; + JVM_SetArrayElement; + JVM_SetClassSigners; + JVM_SetNativeThreadName; + JVM_SetPrimitiveArrayElement; + JVM_SetThreadPriority; + JVM_Sleep; + JVM_StartThread; + JVM_StopThread; + JVM_SuspendThread; + JVM_SupportsCX8; + JVM_TotalMemory; + JVM_UnloadLibrary; + JVM_Yield; diff --git a/hotspot/make/solaris/makefiles/mapfile-vers b/hotspot/make/solaris/makefiles/mapfile-vers index 47e1f535d22..3de0dd99af5 100644 --- a/hotspot/make/solaris/makefiles/mapfile-vers +++ b/hotspot/make/solaris/makefiles/mapfile-vers @@ -26,168 +26,6 @@ SUNWprivate_1.1 { global: - # JNI - JNI_CreateJavaVM; - JNI_GetCreatedJavaVMs; - JNI_GetDefaultJavaVMInitArgs; - - # JVM - JVM_ActiveProcessorCount; - JVM_ArrayCopy; - JVM_AssertionStatusDirectives; - JVM_ClassDepth; - JVM_ClassLoaderDepth; - JVM_Clone; - JVM_ConstantPoolGetClassAt; - JVM_ConstantPoolGetClassAtIfLoaded; - JVM_ConstantPoolGetDoubleAt; - JVM_ConstantPoolGetFieldAt; - JVM_ConstantPoolGetFieldAtIfLoaded; - JVM_ConstantPoolGetFloatAt; - JVM_ConstantPoolGetIntAt; - JVM_ConstantPoolGetLongAt; - JVM_ConstantPoolGetMethodAt; - JVM_ConstantPoolGetMethodAtIfLoaded; - JVM_ConstantPoolGetMemberRefInfoAt; - JVM_ConstantPoolGetSize; - JVM_ConstantPoolGetStringAt; - JVM_ConstantPoolGetUTF8At; - JVM_CountStackFrames; - JVM_CurrentClassLoader; - JVM_CurrentLoadedClass; - JVM_CurrentThread; - JVM_CurrentTimeMillis; - JVM_DefineClass; - JVM_DefineClassWithSource; - JVM_DefineClassWithSourceCond; - JVM_DesiredAssertionStatus; - JVM_DoPrivileged; - JVM_DumpAllStacks; - JVM_DumpThreads; - JVM_FillInStackTrace; - JVM_FindClassFromCaller; - JVM_FindClassFromClass; - JVM_FindClassFromBootLoader; - JVM_FindLibraryEntry; - JVM_FindLoadedClass; - JVM_FindPrimitiveClass; - JVM_FindSignal; - JVM_FreeMemory; - JVM_GC; - JVM_GetAllThreads; - JVM_GetArrayElement; - JVM_GetArrayLength; - JVM_GetCPClassNameUTF; - JVM_GetCPFieldClassNameUTF; - JVM_GetCPFieldModifiers; - JVM_GetCPFieldNameUTF; - JVM_GetCPFieldSignatureUTF; - JVM_GetCPMethodClassNameUTF; - JVM_GetCPMethodModifiers; - JVM_GetCPMethodNameUTF; - JVM_GetCPMethodSignatureUTF; - JVM_GetCallerClass; - JVM_GetClassAccessFlags; - JVM_GetClassAnnotations; - JVM_GetClassCPEntriesCount; - JVM_GetClassCPTypes; - JVM_GetClassConstantPool; - JVM_GetClassContext; - JVM_GetClassDeclaredConstructors; - JVM_GetClassDeclaredFields; - JVM_GetClassDeclaredMethods; - JVM_GetClassFieldsCount; - JVM_GetClassInterfaces; - JVM_GetClassMethodsCount; - JVM_GetClassModifiers; - JVM_GetClassName; - JVM_GetClassNameUTF; - JVM_GetClassSignature; - JVM_GetClassSigners; - JVM_GetClassTypeAnnotations; - JVM_GetDeclaredClasses; - JVM_GetDeclaringClass; - JVM_GetSimpleBinaryName; - JVM_GetEnclosingMethodInfo; - JVM_GetFieldIxModifiers; - JVM_GetFieldTypeAnnotations; - JVM_GetInheritedAccessControlContext; - JVM_GetInterfaceVersion; - JVM_GetManagement; - JVM_GetMethodIxArgsSize; - JVM_GetMethodIxByteCode; - JVM_GetMethodIxByteCodeLength; - JVM_GetMethodIxExceptionIndexes; - JVM_GetMethodIxExceptionTableEntry; - JVM_GetMethodIxExceptionTableLength; - JVM_GetMethodIxExceptionsCount; - JVM_GetMethodIxLocalsCount; - JVM_GetMethodIxMaxStack; - JVM_GetMethodIxModifiers; - JVM_GetMethodIxNameUTF; - JVM_GetMethodIxSignatureUTF; - JVM_GetMethodParameters; - JVM_GetMethodTypeAnnotations; - JVM_GetNanoTimeAdjustment; - JVM_GetPrimitiveArrayElement; - JVM_GetProtectionDomain; - JVM_GetStackAccessControlContext; - JVM_GetStackTraceDepth; - JVM_GetStackTraceElement; - JVM_GetSystemPackage; - JVM_GetSystemPackages; - JVM_GetTemporaryDirectory; - JVM_GetVersionInfo; - JVM_Halt; - JVM_HoldsLock; - JVM_IHashCode; - JVM_InitAgentProperties; - JVM_InitProperties; - JVM_InternString; - JVM_Interrupt; - JVM_InvokeMethod; - JVM_IsArrayClass; - JVM_IsConstructorIx; - JVM_IsInterface; - JVM_IsInterrupted; - JVM_IsPrimitiveClass; - JVM_IsSameClassPackage; - JVM_IsSupportedJNIVersion; - JVM_IsThreadAlive; - JVM_IsVMGeneratedMethodIx; - JVM_LatestUserDefinedLoader; - JVM_LoadLibrary; - JVM_MaxObjectInspectionAge; - JVM_MaxMemory; - JVM_MonitorNotify; - JVM_MonitorNotifyAll; - JVM_MonitorWait; - JVM_NativePath; - JVM_NanoTime; - JVM_NewArray; - JVM_NewInstanceFromConstructor; - JVM_NewMultiArray; - JVM_RaiseSignal; - JVM_RawMonitorCreate; - JVM_RawMonitorDestroy; - JVM_RawMonitorEnter; - JVM_RawMonitorExit; - JVM_RegisterSignal; - JVM_ReleaseUTF; - JVM_ResumeThread; - JVM_SetArrayElement; - JVM_SetClassSigners; - JVM_SetNativeThreadName; - JVM_SetPrimitiveArrayElement; - JVM_SetThreadPriority; - JVM_Sleep; - JVM_StartThread; - JVM_StopThread; - JVM_SuspendThread; - JVM_SupportsCX8; - JVM_TotalMemory; - JVM_UnloadLibrary; - JVM_Yield; JVM_handle_solaris_signal; # miscellaneous functions diff --git a/hotspot/make/solaris/makefiles/vm.make b/hotspot/make/solaris/makefiles/vm.make index 4f435ba9f15..799a3dbee69 100644 --- a/hotspot/make/solaris/makefiles/vm.make +++ b/hotspot/make/solaris/makefiles/vm.make @@ -241,13 +241,19 @@ JVM_OBJ_FILES = $(Obj_Files) $(DTRACE_OBJS) vm_version.o: $(filter-out vm_version.o,$(JVM_OBJ_FILES)) -mapfile : $(MAPFILE) $(MAPFILE_DTRACE_OPT) vm.def mapfile_ext +MAPFILE_SHARE := $(GAMMADIR)/make/share/makefiles/mapfile-vers + +MAPFILE_EXT_SRC := $(HS_ALT_MAKE)/share/makefiles/mapfile-ext +ifneq ("$(wildcard $(MAPFILE_EXT_SRC))","") +MAPFILE_EXT := $(MAPFILE_EXT_SRC) +endif + +mapfile : $(MAPFILE) $(MAPFILE_SHARE) vm.def $(MAPFILE_EXT) rm -f $@ cat $(MAPFILE) $(MAPFILE_DTRACE_OPT) \ | $(NAWK) '{ \ if ($$0 ~ "INSERT VTABLE SYMBOLS HERE") { \ - system ("cat mapfile_ext"); \ - system ("cat vm.def"); \ + system ("cat ${MAPFILE_SHARE} $(MAPFILE_EXT) vm.def"); \ } else { \ print $$0; \ } \ @@ -260,12 +266,6 @@ mapfile_extended : mapfile $(MAPFILE_DTRACE_OPT) vm.def: $(Obj_Files) sh $(GAMMADIR)/make/solaris/makefiles/build_vm_def.sh *.o > $@ -mapfile_ext: - rm -f $@ - touch $@ - if [ -f $(HS_ALT_MAKE)/solaris/makefiles/mapfile-ext ]; then \ - cat $(HS_ALT_MAKE)/solaris/makefiles/mapfile-ext > $@; \ - fi ifeq ($(LINK_INTO),AOUT) LIBJVM.o = From 26254f46451592662dd8eb8dd90536e85ec22eb4 Mon Sep 17 00:00:00 2001 From: Volker Simonis Date: Mon, 21 Sep 2015 10:45:41 +0200 Subject: [PATCH 28/77] 8135179: Fix conversion warning after 8067341 Add required casts. Reviewed-by: tschatzl, goetz --- hotspot/src/share/vm/gc/g1/g1EvacStats.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hotspot/src/share/vm/gc/g1/g1EvacStats.cpp b/hotspot/src/share/vm/gc/g1/g1EvacStats.cpp index 009c6dc5151..e228d473ed4 100644 --- a/hotspot/src/share/vm/gc/g1/g1EvacStats.cpp +++ b/hotspot/src/share/vm/gc/g1/g1EvacStats.cpp @@ -93,7 +93,7 @@ void G1EvacStats::adjust_desired_plab_sz() { size_t const used_for_waste_calculation = used() > _region_end_waste ? used() - _region_end_waste : 0; size_t const total_waste_allowed = used_for_waste_calculation * TargetPLABWastePct; - size_t const cur_plab_sz = (double)total_waste_allowed / G1LastPLABAverageOccupancy; + size_t const cur_plab_sz = (size_t)((double)total_waste_allowed / G1LastPLABAverageOccupancy); // Take historical weighted average _filter.sample(cur_plab_sz); // Clip from above and below, and align to object boundary From 23813ce92ef9ff3998ff820bbfd59ceaa74cc64c Mon Sep 17 00:00:00 2001 From: Derek White Date: Fri, 11 Sep 2015 15:31:03 -0400 Subject: [PATCH 29/77] 8066821: Enhance command line processing to manage deprecating and obsoleting -XX command line arguments Add support for alias options and automatically expiring deprecated options Reviewed-by: dholmes, kbarrett, acorn --- hotspot/src/share/vm/runtime/arguments.cpp | 745 +++++++++++------- hotspot/src/share/vm/runtime/arguments.hpp | 26 +- hotspot/src/share/vm/runtime/globals.hpp | 9 +- hotspot/src/share/vm/runtime/java.hpp | 8 + hotspot/test/TEST.groups | 1 - .../TestDefaultMaxRAMFraction.java | 46 -- .../gc/startup_warnings/TestNoParNew.java | 48 -- .../gc/startup_warnings/TestParNewCMS.java | 2 +- .../CommandLine/ObsoleteFlagErrorMessage.java | 2 +- .../runtime/CommandLine/VMAliasOptions.java | 66 ++ .../CommandLine/VMDeprecatedOptions.java | 80 ++ hotspot/test/runtime/NMT/AutoshutdownNMT.java | 2 +- .../test/lib/cli/CommandLineOptionTest.java | 85 ++ 13 files changed, 736 insertions(+), 384 deletions(-) delete mode 100644 hotspot/test/gc/startup_warnings/TestDefaultMaxRAMFraction.java delete mode 100644 hotspot/test/gc/startup_warnings/TestNoParNew.java create mode 100644 hotspot/test/runtime/CommandLine/VMAliasOptions.java create mode 100644 hotspot/test/runtime/CommandLine/VMDeprecatedOptions.java diff --git a/hotspot/src/share/vm/runtime/arguments.cpp b/hotspot/src/share/vm/runtime/arguments.cpp index f2c94d2e9b0..c2307e85d6e 100644 --- a/hotspot/src/share/vm/runtime/arguments.cpp +++ b/hotspot/src/share/vm/runtime/arguments.cpp @@ -118,7 +118,7 @@ char* Arguments::_ext_dirs = NULL; // part of the option string. static bool match_option(const JavaVMOption *option, const char* name, const char** tail) { - int len = (int)strlen(name); + size_t len = strlen(name); if (strncmp(option->optionString, name, len) == 0) { *tail = option->optionString + len; return true; @@ -219,11 +219,9 @@ void Arguments::init_system_properties() { void Arguments::init_version_specific_system_properties() { enum { bufsz = 16 }; char buffer[bufsz]; - const char* spec_vendor = "Sun Microsystems Inc."; - uint32_t spec_version = 0; + const char* spec_vendor = "Oracle Corporation"; + uint32_t spec_version = JDK_Version::current().major_version(); - spec_vendor = "Oracle Corporation"; - spec_version = JDK_Version::current().major_version(); jio_snprintf(buffer, bufsz, "1." UINT32_FORMAT, spec_version); PropertyList_add(&_system_properties, @@ -234,75 +232,290 @@ void Arguments::init_version_specific_system_properties() { new SystemProperty("java.vm.vendor", VM_Version::vm_vendor(), false)); } -/** - * Provide a slightly more user-friendly way of eliminating -XX flags. - * When a flag is eliminated, it can be added to this list in order to - * continue accepting this flag on the command-line, while issuing a warning - * and ignoring the value. Once the JDK version reaches the 'accept_until' - * limit, we flatly refuse to admit the existence of the flag. This allows - * a flag to die correctly over JDK releases using HSX. - * But now that HSX is no longer supported only options with a future - * accept_until value need to be listed, and the list can be pruned - * on each major release. +/* + * -XX argument processing: + * + * -XX arguments are defined in several places, such as: + * globals.hpp, globals_.hpp, globals_.hpp, _globals.hpp, or _globals.hpp. + * -XX arguments are parsed in parse_argument(). + * -XX argument bounds checking is done in check_vm_args_consistency(). + * + * Over time -XX arguments may change. There are mechanisms to handle common cases: + * + * ALIASED: An option that is simply another name for another option. This is often + * part of the process of deprecating a flag, but not all aliases need + * to be deprecated. + * + * Create an alias for an option by adding the old and new option names to the + * "aliased_jvm_flags" table. Delete the old variable from globals.hpp (etc). + * + * DEPRECATED: An option that is supported, but a warning is printed to let the user know that + * support may be removed in the future. Both regular and aliased options may be + * deprecated. + * + * Add a deprecation warning for an option (or alias) by adding an entry in the + * "special_jvm_flags" table and setting the "deprecated_in" field. + * Often an option "deprecated" in one major release will + * be made "obsolete" in the next. In this case the entry should also have it's + * "obsolete_in" field set. + * + * OBSOLETE: An option that has been removed (and deleted from globals.hpp), but is still accepted + * on the command line. A warning is printed to let the user know that option might not + * be accepted in the future. + * + * Add an obsolete warning for an option by adding an entry in the "special_jvm_flags" + * table and setting the "obsolete_in" field. + * + * EXPIRED: A deprecated or obsolete option that has an "accept_until" version less than or equal + * to the current JDK version. The system will flatly refuse to admit the existence of + * the flag. This allows a flag to die automatically over JDK releases. + * + * Note that manual cleanup of expired options should be done at major JDK version upgrades: + * - Newly expired options should be removed from the special_jvm_flags and aliased_jvm_flags tables. + * - Newly obsolete or expired deprecated options should have their global variable + * definitions removed (from globals.hpp, etc) and related implementations removed. + * + * Recommended approach for removing options: + * + * To remove options commonly used by customers (e.g. product, commercial -XX options), use + * the 3-step model adding major release numbers to the deprecate, obsolete and expire columns. + * + * To remove internal options (e.g. diagnostic, experimental, develop options), use + * a 2-step model adding major release numbers to the obsolete and expire columns. + * + * To change the name of an option, use the alias table as well as a 2-step + * model adding major release numbers to the deprecate and expire columns. + * Think twice about aliasing commonly used customer options. + * + * There are times when it is appropriate to leave a future release number as undefined. + * + * Tests: Aliases should be tested in VMAliasOptions.java. + * Deprecated options should be tested in VMDeprecatedOptions.java. */ + +// Obsolete or deprecated -XX flag. typedef struct { const char* name; - JDK_Version obsoleted_in; // when the flag went away - JDK_Version accept_until; // which version to start denying the existence -} ObsoleteFlag; + JDK_Version deprecated_in; // When the deprecation warning started (or "undefined"). + JDK_Version obsolete_in; // When the obsolete warning started (or "undefined"). + JDK_Version expired_in; // When the option expires (or "undefined"). +} SpecialFlag; -static ObsoleteFlag obsolete_jvm_flags[] = { - { "UseOldInlining", JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "SafepointPollOffset", JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "UseBoundThreads", JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "DefaultThreadPriority", JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "NoYieldsInMicrolock", JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "BackEdgeThreshold", JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "UseNewReflection", JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "ReflectionWrapResolutionErrors",JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "VerifyReflectionBytecodes", JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "AutoShutdownNMT", JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "NmethodSweepFraction", JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "NmethodSweepCheckInterval", JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "CodeCacheMinimumFreeSpace", JDK_Version::jdk(9), JDK_Version::jdk(10) }, +// The special_jvm_flags table declares options that are being deprecated and/or obsoleted. The +// "deprecated_in" or "obsolete_in" fields may be set to "undefined", but not both. +// When the JDK version reaches 'deprecated_in' limit, the JVM will process this flag on +// the command-line as usual, but will issue a warning. +// When the JDK version reaches 'obsolete_in' limit, the JVM will continue accepting this flag on +// the command-line, while issuing a warning and ignoring the flag value. +// Once the JDK version reaches 'expired_in' limit, the JVM will flatly refuse to admit the +// existence of the flag. +// +// MANUAL CLEANUP ON JDK VERSION UPDATES: +// This table ensures that the handling of options will update automatically when the JDK +// version is incremented, but the source code needs to be cleanup up manually: +// - As "deprecated" options age into "obsolete" or "expired" options, the associated "globals" +// variable should be removed, as well as users of the variable. +// - As "deprecated" options age into "obsolete" options, move the entry into the +// "Obsolete Flags" section of the table. +// - All expired options should be removed from the table. +static SpecialFlag const special_jvm_flags[] = { + // -------------- Deprecated Flags -------------- + // --- Non-alias flags - sorted by obsolete_in then expired_in: + { "MaxGCMinorPauseMillis", JDK_Version::jdk(8), JDK_Version::undefined(), JDK_Version::undefined() }, + { "UseParNewGC", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::jdk(10) }, + + // --- Deprecated alias flags (see also aliased_jvm_flags) - sorted by obsolete_in then expired_in: + { "DefaultMaxRAMFraction", JDK_Version::jdk(8), JDK_Version::undefined(), JDK_Version::undefined() }, + { "CreateMinidumpOnCrash", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::undefined() }, + { "CMSMarkStackSizeMax", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::jdk(10) }, + { "CMSMarkStackSize", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::jdk(10) }, + { "G1MarkStackSize", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::jdk(10) }, + { "ParallelMarkingThreads", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::jdk(10) }, + { "ParallelCMSThreads", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::jdk(10) }, + + // -------------- Obsolete Flags - sorted by expired_in -------------- + { "UseOldInlining", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, + { "SafepointPollOffset", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, + { "UseBoundThreads", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, + { "DefaultThreadPriority", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, + { "NoYieldsInMicrolock", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, + { "BackEdgeThreshold", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, + { "UseNewReflection", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, + { "ReflectionWrapResolutionErrors",JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, + { "VerifyReflectionBytecodes", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, + { "AutoShutdownNMT", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, + { "NmethodSweepFraction", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, + { "NmethodSweepCheckInterval", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, + { "CodeCacheMinimumFreeSpace", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, #ifndef ZERO - { "UseFastAccessorMethods", JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "UseFastEmptyMethods", JDK_Version::jdk(9), JDK_Version::jdk(10) }, + { "UseFastAccessorMethods", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, + { "UseFastEmptyMethods", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, #endif // ZERO - { "UseCompilerSafepoints", JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "AdaptiveSizePausePolicy", JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "ParallelGCRetainPLAB", JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "ThreadSafetyMargin", JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "LazyBootClassLoader", JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "StarvationMonitorInterval", JDK_Version::jdk(9), JDK_Version::jdk(10) }, - { "PreInflateSpin", JDK_Version::jdk(9), JDK_Version::jdk(10) }, + { "UseCompilerSafepoints", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, + { "AdaptiveSizePausePolicy", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, + { "ParallelGCRetainPLAB", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, + { "ThreadSafetyMargin", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, + { "LazyBootClassLoader", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, + { "StarvationMonitorInterval", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, + { "PreInflateSpin", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) }, + +#ifdef TEST_VERIFY_SPECIAL_JVM_FLAGS + { "dep > obs", JDK_Version::jdk(9), JDK_Version::jdk(8), JDK_Version::undefined() }, + { "dep > exp ", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::jdk(8) }, + { "obs > exp ", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(8) }, + { "not deprecated or obsolete", JDK_Version::undefined(), JDK_Version::undefined(), JDK_Version::jdk(9) }, + { "dup option", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::undefined() }, + { "dup option", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::undefined() }, + { "BytecodeVerificationRemote", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::undefined() }, +#endif + { NULL, JDK_Version(0), JDK_Version(0) } }; -// Returns true if the flag is obsolete and fits into the range specified -// for being ignored. In the case that the flag is ignored, the 'version' -// value is filled in with the version number when the flag became -// obsolete so that that value can be displayed to the user. -bool Arguments::is_newly_obsolete(const char *s, JDK_Version* version) { - int i = 0; - assert(version != NULL, "Must provide a version buffer"); - while (obsolete_jvm_flags[i].name != NULL) { - const ObsoleteFlag& flag_status = obsolete_jvm_flags[i]; - // =xxx form - // [-|+] form - size_t len = strlen(flag_status.name); - if ((strncmp(flag_status.name, s, len) == 0) && - (strlen(s) == len)){ - if (JDK_Version::current().compare(flag_status.accept_until) == -1) { - *version = flag_status.obsoleted_in; - return true; - } +// Flags that are aliases for other flags. +typedef struct { + const char* alias_name; + const char* real_name; +} AliasedFlag; + +static AliasedFlag const aliased_jvm_flags[] = { + { "DefaultMaxRAMFraction", "MaxRAMFraction" }, + { "CMSMarkStackSizeMax", "MarkStackSizeMax" }, + { "CMSMarkStackSize", "MarkStackSize" }, + { "G1MarkStackSize", "MarkStackSize" }, + { "ParallelMarkingThreads", "ConcGCThreads" }, + { "ParallelCMSThreads", "ConcGCThreads" }, + { "CreateMinidumpOnCrash", "CreateCoredumpOnCrash" }, + { NULL, NULL} +}; + +// Return true if "v" is less than "other", where "other" may be "undefined". +static bool version_less_than(JDK_Version v, JDK_Version other) { + assert(!v.is_undefined(), "must be defined"); + if (!other.is_undefined() && v.compare(other) >= 0) { + return false; + } else { + return true; + } +} + +static bool lookup_special_flag(const char *flag_name, SpecialFlag& flag) { + for (size_t i = 0; special_jvm_flags[i].name != NULL; i++) { + if ((strcmp(special_jvm_flags[i].name, flag_name) == 0)) { + flag = special_jvm_flags[i]; + return true; } - i++; } return false; } +bool Arguments::is_obsolete_flag(const char *flag_name, JDK_Version* version) { + assert(version != NULL, "Must provide a version buffer"); + SpecialFlag flag; + if (lookup_special_flag(flag_name, flag)) { + if (!flag.obsolete_in.is_undefined()) { + if (version_less_than(JDK_Version::current(), flag.expired_in)) { + *version = flag.obsolete_in; + return true; + } + } + } + return false; +} + +int Arguments::is_deprecated_flag(const char *flag_name, JDK_Version* version) { + assert(version != NULL, "Must provide a version buffer"); + SpecialFlag flag; + if (lookup_special_flag(flag_name, flag)) { + if (!flag.deprecated_in.is_undefined()) { + if (version_less_than(JDK_Version::current(), flag.obsolete_in) && + version_less_than(JDK_Version::current(), flag.expired_in)) { + *version = flag.deprecated_in; + return 1; + } else { + return -1; + } + } + } + return 0; +} + +const char* Arguments::real_flag_name(const char *flag_name) { + for (size_t i = 0; aliased_jvm_flags[i].alias_name != NULL; i++) { + const AliasedFlag& flag_status = aliased_jvm_flags[i]; + if (strcmp(flag_status.alias_name, flag_name) == 0) { + return flag_status.real_name; + } + } + return flag_name; +} + +#ifndef PRODUCT +static bool lookup_special_flag(const char *flag_name, size_t skip_index) { + for (size_t i = 0; special_jvm_flags[i].name != NULL; i++) { + if ((i != skip_index) && (strcmp(special_jvm_flags[i].name, flag_name) == 0)) { + return true; + } + } + return false; +} + +static bool verify_special_jvm_flags() { + bool success = true; + for (size_t i = 0; special_jvm_flags[i].name != NULL; i++) { + const SpecialFlag& flag = special_jvm_flags[i]; + if (lookup_special_flag(flag.name, i)) { + warning("Duplicate special flag declaration \"%s\"", flag.name); + success = false; + } + if (flag.deprecated_in.is_undefined() && + flag.obsolete_in.is_undefined()) { + warning("Special flag entry \"%s\" must declare version deprecated and/or obsoleted in.", flag.name); + success = false; + } + + if (!flag.deprecated_in.is_undefined()) { + if (!version_less_than(flag.deprecated_in, flag.obsolete_in)) { + warning("Special flag entry \"%s\" must be deprecated before obsoleted.", flag.name); + success = false; + } + + if (!version_less_than(flag.deprecated_in, flag.expired_in)) { + warning("Special flag entry \"%s\" must be deprecated before expired.", flag.name); + success = false; + } + } + + if (!flag.obsolete_in.is_undefined()) { + if (!version_less_than(flag.obsolete_in, flag.expired_in)) { + warning("Special flag entry \"%s\" must be obsoleted before expired.", flag.name); + success = false; + } + + // if flag has become obsolete it should not have a "globals" flag defined anymore. + if (!version_less_than(JDK_Version::current(), flag.obsolete_in)) { + if (Flag::find_flag(flag.name) != NULL) { + warning("Global variable for obsolete special flag entry \"%s\" should be removed", flag.name); + success = false; + } + } + } + + if (!flag.expired_in.is_undefined()) { + // if flag has become expired it should not have a "globals" flag defined anymore. + if (!version_less_than(JDK_Version::current(), flag.expired_in)) { + if (Flag::find_flag(flag.name) != NULL) { + warning("Global variable for expired flag entry \"%s\" should be removed", flag.name); + success = false; + } + } + } + + } + return success; +} +#endif + // Constructs the system class path (aka boot class path) from the following // components, in order: // @@ -571,7 +784,7 @@ void Arguments::describe_range_error(ArgsRange errcode) { } } -static bool set_bool_flag(char* name, bool value, Flag::Flags origin) { +static bool set_bool_flag(const char* name, bool value, Flag::Flags origin) { if (CommandLineFlags::boolAtPut(name, &value, origin) == Flag::SUCCESS) { return true; } else { @@ -579,7 +792,7 @@ static bool set_bool_flag(char* name, bool value, Flag::Flags origin) { } } -static bool set_fp_numeric_flag(char* name, char* value, Flag::Flags origin) { +static bool set_fp_numeric_flag(const char* name, char* value, Flag::Flags origin) { double v; if (sscanf(value, "%lf", &v) != 1) { return false; @@ -591,7 +804,7 @@ static bool set_fp_numeric_flag(char* name, char* value, Flag::Flags origin) { return false; } -static bool set_numeric_flag(char* name, char* value, Flag::Flags origin) { +static bool set_numeric_flag(const char* name, char* value, Flag::Flags origin) { julong v; int int_v; intx intx_v; @@ -640,14 +853,14 @@ static bool set_numeric_flag(char* name, char* value, Flag::Flags origin) { return false; } -static bool set_string_flag(char* name, const char* value, Flag::Flags origin) { +static bool set_string_flag(const char* name, const char* value, Flag::Flags origin) { if (CommandLineFlags::ccstrAtPut(name, &value, origin) != Flag::SUCCESS) return false; // Contract: CommandLineFlags always returns a pointer that needs freeing. FREE_C_HEAP_ARRAY(char, value); return true; } -static bool append_to_string_flag(char* name, const char* new_value, Flag::Flags origin) { +static bool append_to_string_flag(const char* name, const char* new_value, Flag::Flags origin) { const char* old_value = ""; if (CommandLineFlags::ccstrAt(name, &old_value) != Flag::SUCCESS) return false; size_t old_len = old_value != NULL ? strlen(old_value) : 0; @@ -675,6 +888,33 @@ static bool append_to_string_flag(char* name, const char* new_value, Flag::Flags return true; } +const char* Arguments::handle_aliases_and_deprecation(const char* arg, bool warn) { + const char* real_name = real_flag_name(arg); + JDK_Version since = JDK_Version(); + switch (is_deprecated_flag(arg, &since)) { + case -1: + return NULL; // obsolete or expired, don't process normally + case 0: + return real_name; + case 1: { + if (warn) { + char version[256]; + since.to_string(version, sizeof(version)); + if (real_name != arg) { + warning("Option %s was deprecated in version %s and will likely be removed in a future release. Use option %s instead.", + arg, version, real_name); + } else { + warning("Option %s was deprecated in version %s and will likely be removed in a future release.", + arg, version); + } + } + return real_name; + } + } + ShouldNotReachHere(); + return NULL; +} + bool Arguments::parse_argument(const char* arg, Flag::Flags origin) { // range of acceptable characters spelled out for portability reasons @@ -682,27 +922,46 @@ bool Arguments::parse_argument(const char* arg, Flag::Flags origin) { #define BUFLEN 255 char name[BUFLEN+1]; char dummy; + const char* real_name; + bool warn_if_deprecated = true; if (sscanf(arg, "-%" XSTR(BUFLEN) NAME_RANGE "%c", name, &dummy) == 1) { - return set_bool_flag(name, false, origin); + real_name = handle_aliases_and_deprecation(name, warn_if_deprecated); + if (real_name == NULL) { + return false; + } + return set_bool_flag(real_name, false, origin); } if (sscanf(arg, "+%" XSTR(BUFLEN) NAME_RANGE "%c", name, &dummy) == 1) { - return set_bool_flag(name, true, origin); + real_name = handle_aliases_and_deprecation(name, warn_if_deprecated); + if (real_name == NULL) { + return false; + } + return set_bool_flag(real_name, true, origin); } char punct; if (sscanf(arg, "%" XSTR(BUFLEN) NAME_RANGE "%c", name, &punct) == 2 && punct == '=') { const char* value = strchr(arg, '=') + 1; - Flag* flag = Flag::find_flag(name, strlen(name)); + Flag* flag; + + // this scanf pattern matches both strings (handled here) and numbers (handled later)) + real_name = handle_aliases_and_deprecation(name, warn_if_deprecated); + if (real_name == NULL) { + return false; + } + flag = Flag::find_flag(real_name); if (flag != NULL && flag->is_ccstr()) { if (flag->ccstr_accumulates()) { - return append_to_string_flag(name, value, origin); + return append_to_string_flag(real_name, value, origin); } else { if (value[0] == '\0') { value = NULL; } - return set_string_flag(name, value, origin); + return set_string_flag(real_name, value, origin); } + } else { + warn_if_deprecated = false; // if arg is deprecated, we've already done warning... } } @@ -712,7 +971,11 @@ bool Arguments::parse_argument(const char* arg, Flag::Flags origin) { if (value[0] == '\0') { value = NULL; } - return set_string_flag(name, value, origin); + real_name = handle_aliases_and_deprecation(name, warn_if_deprecated); + if (real_name == NULL) { + return false; + } + return set_string_flag(real_name, value, origin); } #define SIGNED_FP_NUMBER_RANGE "[-0123456789.]" @@ -723,13 +986,21 @@ bool Arguments::parse_argument(const char* arg, Flag::Flags origin) { if (sscanf(arg, "%" XSTR(BUFLEN) NAME_RANGE "=" "%" XSTR(BUFLEN) SIGNED_NUMBER_RANGE "." "%" XSTR(BUFLEN) NUMBER_RANGE "%c", name, value, value2, &dummy) == 3) { // Looks like a floating-point number -- try again with more lenient format string if (sscanf(arg, "%" XSTR(BUFLEN) NAME_RANGE "=" "%" XSTR(BUFLEN) SIGNED_FP_NUMBER_RANGE "%c", name, value, &dummy) == 2) { - return set_fp_numeric_flag(name, value, origin); + real_name = handle_aliases_and_deprecation(name, warn_if_deprecated); + if (real_name == NULL) { + return false; + } + return set_fp_numeric_flag(real_name, value, origin); } } #define VALUE_RANGE "[-kmgtxKMGTX0123456789abcdefABCDEF]" if (sscanf(arg, "%" XSTR(BUFLEN) NAME_RANGE "=" "%" XSTR(BUFLEN) VALUE_RANGE "%c", name, value, &dummy) == 2) { - return set_numeric_flag(name, value, origin); + real_name = handle_aliases_and_deprecation(name, warn_if_deprecated); + if (real_name == NULL) { + return false; + } + return set_numeric_flag(real_name, value, origin); } return false; @@ -837,8 +1108,8 @@ void Arguments::print_jvm_args_on(outputStream* st) { } bool Arguments::process_argument(const char* arg, - jboolean ignore_unrecognized, Flag::Flags origin) { - + jboolean ignore_unrecognized, + Flag::Flags origin) { JDK_Version since = JDK_Version(); if (parse_argument(arg, origin) || ignore_unrecognized) { @@ -864,10 +1135,10 @@ bool Arguments::process_argument(const char* arg, strncpy(stripped_argname, argname, arg_len); stripped_argname[arg_len] = '\0'; // strncpy may not null terminate. - if (is_newly_obsolete(stripped_argname, &since)) { + if (is_obsolete_flag(stripped_argname, &since)) { char version[256]; since.to_string(version, sizeof(version)); - warning("ignoring option %s; support was removed in %s", stripped_argname, version); + warning("Ignoring option %s; support was removed in %s", stripped_argname, version); return true; } } @@ -1235,7 +1506,7 @@ void Arguments::set_tiered_flags() { static void disable_adaptive_size_policy(const char* collector_name) { if (UseAdaptiveSizePolicy) { if (FLAG_IS_CMDLINE(UseAdaptiveSizePolicy)) { - warning("disabling UseAdaptiveSizePolicy; it is incompatible with %s.", + warning("Disabling UseAdaptiveSizePolicy; it is incompatible with %s.", collector_name); } FLAG_SET_DEFAULT(UseAdaptiveSizePolicy, false); @@ -1707,7 +1978,6 @@ void Arguments::set_gc_specific_flags() { } else if (UseG1GC) { set_g1_gc_flags(); } - check_deprecated_gc_flags(); if (AssumeMP && !UseSerialGC) { if (FLAG_IS_DEFAULT(ParallelGCThreads) && ParallelGCThreads == 1) { warning("If the number of processors is expected to increase from one, then" @@ -1737,11 +2007,6 @@ julong Arguments::limit_by_allocatable_memory(julong limit) { static const size_t DefaultHeapBaseMinAddress = HeapBaseMinAddress; void Arguments::set_heap_size() { - if (!FLAG_IS_DEFAULT(DefaultMaxRAMFraction)) { - // Deprecated flag - FLAG_SET_CMDLINE(uintx, MaxRAMFraction, DefaultMaxRAMFraction); - } - const julong phys_mem = FLAG_IS_DEFAULT(MaxRAM) ? MIN2(os::physical_memory(), (julong)MaxRAM) : (julong)MaxRAM; @@ -1844,6 +2109,122 @@ void Arguments::set_heap_size() { } } +// This option inspects the machine and attempts to set various +// parameters to be optimal for long-running, memory allocation +// intensive jobs. It is intended for machines with large +// amounts of cpu and memory. +jint Arguments::set_aggressive_heap_flags() { + // initHeapSize is needed since _initial_heap_size is 4 bytes on a 32 bit + // VM, but we may not be able to represent the total physical memory + // available (like having 8gb of memory on a box but using a 32bit VM). + // Thus, we need to make sure we're using a julong for intermediate + // calculations. + julong initHeapSize; + julong total_memory = os::physical_memory(); + + if (total_memory < (julong) 256 * M) { + jio_fprintf(defaultStream::error_stream(), + "You need at least 256mb of memory to use -XX:+AggressiveHeap\n"); + vm_exit(1); + } + + // The heap size is half of available memory, or (at most) + // all of possible memory less 160mb (leaving room for the OS + // when using ISM). This is the maximum; because adaptive sizing + // is turned on below, the actual space used may be smaller. + + initHeapSize = MIN2(total_memory / (julong) 2, + total_memory - (julong) 160 * M); + + initHeapSize = limit_by_allocatable_memory(initHeapSize); + + if (FLAG_IS_DEFAULT(MaxHeapSize)) { + if (FLAG_SET_CMDLINE(size_t, MaxHeapSize, initHeapSize) != Flag::SUCCESS) { + return JNI_EINVAL; + } + if (FLAG_SET_CMDLINE(size_t, InitialHeapSize, initHeapSize) != Flag::SUCCESS) { + return JNI_EINVAL; + } + // Currently the minimum size and the initial heap sizes are the same. + set_min_heap_size(initHeapSize); + } + if (FLAG_IS_DEFAULT(NewSize)) { + // Make the young generation 3/8ths of the total heap. + if (FLAG_SET_CMDLINE(size_t, NewSize, + ((julong) MaxHeapSize / (julong) 8) * (julong) 3) != Flag::SUCCESS) { + return JNI_EINVAL; + } + if (FLAG_SET_CMDLINE(size_t, MaxNewSize, NewSize) != Flag::SUCCESS) { + return JNI_EINVAL; + } + } + +#if !defined(_ALLBSD_SOURCE) && !defined(AIX) // UseLargePages is not yet supported on BSD and AIX. + FLAG_SET_DEFAULT(UseLargePages, true); +#endif + + // Increase some data structure sizes for efficiency + if (FLAG_SET_CMDLINE(size_t, BaseFootPrintEstimate, MaxHeapSize) != Flag::SUCCESS) { + return JNI_EINVAL; + } + if (FLAG_SET_CMDLINE(bool, ResizeTLAB, false) != Flag::SUCCESS) { + return JNI_EINVAL; + } + if (FLAG_SET_CMDLINE(size_t, TLABSize, 256 * K) != Flag::SUCCESS) { + return JNI_EINVAL; + } + + // See the OldPLABSize comment below, but replace 'after promotion' + // with 'after copying'. YoungPLABSize is the size of the survivor + // space per-gc-thread buffers. The default is 4kw. + if (FLAG_SET_CMDLINE(size_t, YoungPLABSize, 256 * K) != Flag::SUCCESS) { // Note: this is in words + return JNI_EINVAL; + } + + // OldPLABSize is the size of the buffers in the old gen that + // UseParallelGC uses to promote live data that doesn't fit in the + // survivor spaces. At any given time, there's one for each gc thread. + // The default size is 1kw. These buffers are rarely used, since the + // survivor spaces are usually big enough. For specjbb, however, there + // are occasions when there's lots of live data in the young gen + // and we end up promoting some of it. We don't have a definite + // explanation for why bumping OldPLABSize helps, but the theory + // is that a bigger PLAB results in retaining something like the + // original allocation order after promotion, which improves mutator + // locality. A minor effect may be that larger PLABs reduce the + // number of PLAB allocation events during gc. The value of 8kw + // was arrived at by experimenting with specjbb. + if (FLAG_SET_CMDLINE(size_t, OldPLABSize, 8 * K) != Flag::SUCCESS) { // Note: this is in words + return JNI_EINVAL; + } + + // Enable parallel GC and adaptive generation sizing + if (FLAG_SET_CMDLINE(bool, UseParallelGC, true) != Flag::SUCCESS) { + return JNI_EINVAL; + } + FLAG_SET_DEFAULT(ParallelGCThreads, + Abstract_VM_Version::parallel_worker_threads()); + + // Encourage steady state memory management + if (FLAG_SET_CMDLINE(uintx, ThresholdTolerance, 100) != Flag::SUCCESS) { + return JNI_EINVAL; + } + + // This appears to improve mutator locality + if (FLAG_SET_CMDLINE(bool, ScavengeBeforeFullGC, false) != Flag::SUCCESS) { + return JNI_EINVAL; + } + + // Get around early Solaris scheduling bug + // (affinity vs other jobs on system) + // but disallow DR and offlining (5008695). + if (FLAG_SET_CMDLINE(bool, BindGCTaskThreadsToCPUs, true) != Flag::SUCCESS) { + return JNI_EINVAL; + } + + return JNI_OK; +} + // This must be called after ergonomics. void Arguments::set_bytecode_flags() { if (!RewriteBytecodes) { @@ -2027,20 +2408,6 @@ bool Arguments::check_gc_consistency() { return true; } -void Arguments::check_deprecated_gc_flags() { - if (FLAG_IS_CMDLINE(UseParNewGC)) { - warning("The UseParNewGC flag is deprecated and will likely be removed in a future release"); - } - if (FLAG_IS_CMDLINE(MaxGCMinorPauseMillis)) { - warning("Using MaxGCMinorPauseMillis as minor pause goal is deprecated" - "and will likely be removed in future release"); - } - if (FLAG_IS_CMDLINE(DefaultMaxRAMFraction)) { - warning("DefaultMaxRAMFraction is deprecated and will likely be removed in a future release. " - "Use MaxRAMFraction instead."); - } -} - // Check the consistency of vm_init_args bool Arguments::check_vm_args_consistency() { // Method for adding checks for flag consistency. @@ -2576,7 +2943,7 @@ jint Arguments::parse_each_vm_init_arg(const JavaVMInitArgs* args, // All these options are deprecated in JDK 9 and will be removed in a future release char version[256]; JDK_Version::jdk(9).to_string(version, sizeof(version)); - warning("ignoring option %s; support was removed in %s", option->optionString, version); + warning("Ignoring option %s; support was removed in %s", option->optionString, version); } else if (match_option(option, "-XX:CodeCacheExpansionSize=", &tail)) { julong long_CodeCacheExpansionSize = 0; ArgsRange errcode = parse_memory_size(tail, &long_CodeCacheExpansionSize, os::vm_page_size()); @@ -2843,120 +3210,10 @@ jint Arguments::parse_each_vm_init_arg(const JavaVMInitArgs* args, _abort_hook = CAST_TO_FN_PTR(abort_hook_t, option->extraInfo); // -XX:+AggressiveHeap } else if (match_option(option, "-XX:+AggressiveHeap")) { - - // This option inspects the machine and attempts to set various - // parameters to be optimal for long-running, memory allocation - // intensive jobs. It is intended for machines with large - // amounts of cpu and memory. - - // initHeapSize is needed since _initial_heap_size is 4 bytes on a 32 bit - // VM, but we may not be able to represent the total physical memory - // available (like having 8gb of memory on a box but using a 32bit VM). - // Thus, we need to make sure we're using a julong for intermediate - // calculations. - julong initHeapSize; - julong total_memory = os::physical_memory(); - - if (total_memory < (julong)256*M) { - jio_fprintf(defaultStream::error_stream(), - "You need at least 256mb of memory to use -XX:+AggressiveHeap\n"); - vm_exit(1); + jint result = set_aggressive_heap_flags(); + if (result != JNI_OK) { + return result; } - - // The heap size is half of available memory, or (at most) - // all of possible memory less 160mb (leaving room for the OS - // when using ISM). This is the maximum; because adaptive sizing - // is turned on below, the actual space used may be smaller. - - initHeapSize = MIN2(total_memory / (julong)2, - total_memory - (julong)160*M); - - initHeapSize = limit_by_allocatable_memory(initHeapSize); - - if (FLAG_IS_DEFAULT(MaxHeapSize)) { - if (FLAG_SET_CMDLINE(size_t, MaxHeapSize, initHeapSize) != Flag::SUCCESS) { - return JNI_EINVAL; - } - if (FLAG_SET_CMDLINE(size_t, InitialHeapSize, initHeapSize) != Flag::SUCCESS) { - return JNI_EINVAL; - } - // Currently the minimum size and the initial heap sizes are the same. - set_min_heap_size(initHeapSize); - } - if (FLAG_IS_DEFAULT(NewSize)) { - // Make the young generation 3/8ths of the total heap. - if (FLAG_SET_CMDLINE(size_t, NewSize, - ((julong)MaxHeapSize / (julong)8) * (julong)3) != Flag::SUCCESS) { - return JNI_EINVAL; - } - if (FLAG_SET_CMDLINE(size_t, MaxNewSize, NewSize) != Flag::SUCCESS) { - return JNI_EINVAL; - } - } - -#if !defined(_ALLBSD_SOURCE) && !defined(AIX) // UseLargePages is not yet supported on BSD and AIX. - FLAG_SET_DEFAULT(UseLargePages, true); -#endif - - // Increase some data structure sizes for efficiency - if (FLAG_SET_CMDLINE(size_t, BaseFootPrintEstimate, MaxHeapSize) != Flag::SUCCESS) { - return JNI_EINVAL; - } - if (FLAG_SET_CMDLINE(bool, ResizeTLAB, false) != Flag::SUCCESS) { - return JNI_EINVAL; - } - if (FLAG_SET_CMDLINE(size_t, TLABSize, 256*K) != Flag::SUCCESS) { - return JNI_EINVAL; - } - - // See the OldPLABSize comment below, but replace 'after promotion' - // with 'after copying'. YoungPLABSize is the size of the survivor - // space per-gc-thread buffers. The default is 4kw. - if (FLAG_SET_CMDLINE(size_t, YoungPLABSize, 256*K) != Flag::SUCCESS) { // Note: this is in words - return JNI_EINVAL; - } - - // OldPLABSize is the size of the buffers in the old gen that - // UseParallelGC uses to promote live data that doesn't fit in the - // survivor spaces. At any given time, there's one for each gc thread. - // The default size is 1kw. These buffers are rarely used, since the - // survivor spaces are usually big enough. For specjbb, however, there - // are occasions when there's lots of live data in the young gen - // and we end up promoting some of it. We don't have a definite - // explanation for why bumping OldPLABSize helps, but the theory - // is that a bigger PLAB results in retaining something like the - // original allocation order after promotion, which improves mutator - // locality. A minor effect may be that larger PLABs reduce the - // number of PLAB allocation events during gc. The value of 8kw - // was arrived at by experimenting with specjbb. - if (FLAG_SET_CMDLINE(size_t, OldPLABSize, 8*K) != Flag::SUCCESS) { // Note: this is in words - return JNI_EINVAL; - } - - // Enable parallel GC and adaptive generation sizing - if (FLAG_SET_CMDLINE(bool, UseParallelGC, true) != Flag::SUCCESS) { - return JNI_EINVAL; - } - FLAG_SET_DEFAULT(ParallelGCThreads, - Abstract_VM_Version::parallel_worker_threads()); - - // Encourage steady state memory management - if (FLAG_SET_CMDLINE(uintx, ThresholdTolerance, 100) != Flag::SUCCESS) { - return JNI_EINVAL; - } - - // This appears to improve mutator locality - if (FLAG_SET_CMDLINE(bool, ScavengeBeforeFullGC, false) != Flag::SUCCESS) { - return JNI_EINVAL; - } - - // Get around early Solaris scheduling bug - // (affinity vs other jobs on system) - // but disallow DR and offlining (5008695). - if (FLAG_SET_CMDLINE(bool, BindGCTaskThreadsToCPUs, true) != Flag::SUCCESS) { - return JNI_EINVAL; - } - // Need to keep consistency of MaxTenuringThreshold and AlwaysTenure/NeverTenure; // and the last option wins. } else if (match_option(option, "-XX:+NeverTenure")) { @@ -3049,52 +3306,6 @@ jint Arguments::parse_each_vm_init_arg(const JavaVMInitArgs* args, return JNI_EINVAL; } #endif - } else if (match_option(option, "-XX:CMSMarkStackSize=", &tail) || - match_option(option, "-XX:G1MarkStackSize=", &tail)) { - julong stack_size = 0; - ArgsRange errcode = parse_memory_size(tail, &stack_size, 1); - if (errcode != arg_in_range) { - jio_fprintf(defaultStream::error_stream(), - "Invalid mark stack size: %s\n", option->optionString); - describe_range_error(errcode); - return JNI_EINVAL; - } - jio_fprintf(defaultStream::error_stream(), - "Please use -XX:MarkStackSize in place of " - "-XX:CMSMarkStackSize or -XX:G1MarkStackSize in the future\n"); - if (FLAG_SET_CMDLINE(size_t, MarkStackSize, stack_size) != Flag::SUCCESS) { - return JNI_EINVAL; - } - } else if (match_option(option, "-XX:CMSMarkStackSizeMax=", &tail)) { - julong max_stack_size = 0; - ArgsRange errcode = parse_memory_size(tail, &max_stack_size, 1); - if (errcode != arg_in_range) { - jio_fprintf(defaultStream::error_stream(), - "Invalid maximum mark stack size: %s\n", - option->optionString); - describe_range_error(errcode); - return JNI_EINVAL; - } - jio_fprintf(defaultStream::error_stream(), - "Please use -XX:MarkStackSizeMax in place of " - "-XX:CMSMarkStackSizeMax in the future\n"); - if (FLAG_SET_CMDLINE(size_t, MarkStackSizeMax, max_stack_size) != Flag::SUCCESS) { - return JNI_EINVAL; - } - } else if (match_option(option, "-XX:ParallelMarkingThreads=", &tail) || - match_option(option, "-XX:ParallelCMSThreads=", &tail)) { - uintx conc_threads = 0; - if (!parse_uintx(tail, &conc_threads, 1)) { - jio_fprintf(defaultStream::error_stream(), - "Invalid concurrent threads: %s\n", option->optionString); - return JNI_EINVAL; - } - jio_fprintf(defaultStream::error_stream(), - "Please use -XX:ConcGCThreads in place of " - "-XX:ParallelMarkingThreads or -XX:ParallelCMSThreads in the future\n"); - if (FLAG_SET_CMDLINE(uint, ConcGCThreads, conc_threads) != Flag::SUCCESS) { - return JNI_EINVAL; - } } else if (match_option(option, "-XX:MaxDirectMemorySize=", &tail)) { julong max_direct_memory_size = 0; ArgsRange errcode = parse_memory_size(tail, &max_direct_memory_size, 0); @@ -3114,19 +3325,6 @@ jint Arguments::parse_each_vm_init_arg(const JavaVMInitArgs* args, "ManagementServer is not supported in this VM.\n"); return JNI_ERR; #endif // INCLUDE_MANAGEMENT - // CreateMinidumpOnCrash is removed, and replaced by CreateCoredumpOnCrash - } else if (match_option(option, "-XX:+CreateMinidumpOnCrash")) { - if (FLAG_SET_CMDLINE(bool, CreateCoredumpOnCrash, true) != Flag::SUCCESS) { - return JNI_EINVAL; - } - jio_fprintf(defaultStream::output_stream(), - "CreateMinidumpOnCrash is replaced by CreateCoredumpOnCrash: CreateCoredumpOnCrash is on\n"); - } else if (match_option(option, "-XX:-CreateMinidumpOnCrash")) { - if (FLAG_SET_CMDLINE(bool, CreateCoredumpOnCrash, false) != Flag::SUCCESS) { - return JNI_EINVAL; - } - jio_fprintf(defaultStream::output_stream(), - "CreateMinidumpOnCrash is replaced by CreateCoredumpOnCrash: CreateCoredumpOnCrash is off\n"); } else if (match_option(option, "-XX:", &tail)) { // -XX:xxxx // Skip -XX:Flags= and -XX:VMOptionsFile= since those cases have // already been handled @@ -3623,7 +3821,7 @@ jint Arguments::parse_options_buffer(const char* name, char* buffer, const size_ void Arguments::set_shared_spaces_flags() { if (DumpSharedSpaces) { if (RequireSharedSpaces) { - warning("cannot dump shared archive while using shared archive"); + warning("Cannot dump shared archive while using shared archive"); } UseSharedSpaces = false; #ifdef _LP64 @@ -3848,6 +4046,7 @@ static void print_options(const JavaVMInitArgs *args) { // Parse entry point called from JNI_CreateJavaVM jint Arguments::parse(const JavaVMInitArgs* args) { + assert(verify_special_jvm_flags(), "deprecated and obsolete flag table inconsistent"); // Initialize ranges and constraints CommandLineFlagRangeList::init(); @@ -3984,7 +4183,7 @@ jint Arguments::parse(const JavaVMInitArgs* args) { if (ScavengeRootsInCode == 0) { if (!FLAG_IS_DEFAULT(ScavengeRootsInCode)) { - warning("forcing ScavengeRootsInCode non-zero"); + warning("Forcing ScavengeRootsInCode non-zero"); } ScavengeRootsInCode = 1; } diff --git a/hotspot/src/share/vm/runtime/arguments.hpp b/hotspot/src/share/vm/runtime/arguments.hpp index 99f78278633..3bd46e75fe2 100644 --- a/hotspot/src/share/vm/runtime/arguments.hpp +++ b/hotspot/src/share/vm/runtime/arguments.hpp @@ -364,6 +364,8 @@ class Arguments : AllStatic { // Aggressive optimization flags. static jint set_aggressive_opts_flags(); + static jint set_aggressive_heap_flags(); + // Argument parsing static void do_pd_flag_adjustments(); static bool parse_argument(const char* arg, Flag::Flags origin); @@ -427,11 +429,24 @@ class Arguments : AllStatic { short* methodsNum, short* methodsMax, char*** methods, bool** allClasses ); - // Returns true if the string s is in the list of flags that have recently - // been made obsolete. If we detect one of these flags on the command - // line, instead of failing we print a warning message and ignore the - // flag. This gives the user a release or so to stop using the flag. - static bool is_newly_obsolete(const char* s, JDK_Version* buffer); + // Returns true if the flag is obsolete (and not yet expired). + // In this case the 'version' buffer is filled in with + // the version number when the flag became obsolete. + static bool is_obsolete_flag(const char* flag_name, JDK_Version* version); + + // Returns 1 if the flag is deprecated (and not yet obsolete or expired). + // In this case the 'version' buffer is filled in with the version number when + // the flag became deprecated. + // Returns -1 if the flag is expired or obsolete. + // Returns 0 otherwise. + static int is_deprecated_flag(const char* flag_name, JDK_Version* version); + + // Return the real name for the flag passed on the command line (either an alias name or "flag_name"). + static const char* real_flag_name(const char *flag_name); + + // Return the "real" name for option arg if arg is an alias, and print a warning if arg is deprecated. + // Return NULL if the arg has expired. + static const char* handle_aliases_and_deprecation(const char* arg, bool warn); static short CompileOnlyClassesNum; static short CompileOnlyClassesMax; @@ -478,7 +493,6 @@ class Arguments : AllStatic { // Check for consistency in the selection of the garbage collector. static bool check_gc_consistency(); // Check user-selected gc - static void check_deprecated_gc_flags(); // Check consistency or otherwise of VM argument settings static bool check_vm_args_consistency(); // Used by os_solaris diff --git a/hotspot/src/share/vm/runtime/globals.hpp b/hotspot/src/share/vm/runtime/globals.hpp index bfe44edcaed..d690459c988 100644 --- a/hotspot/src/share/vm/runtime/globals.hpp +++ b/hotspot/src/share/vm/runtime/globals.hpp @@ -1599,7 +1599,7 @@ public: "(ParallelGC only)") \ \ product(bool, ScavengeBeforeFullGC, true, \ - "Scavenge young generation before each full GC.") \ + "Scavenge youngest generation before each full GC.") \ \ develop(bool, ScavengeWithObjectsInToSpace, false, \ "Allow scavenges to occur when to-space contains objects") \ @@ -2097,7 +2097,7 @@ public: "promotion failure") \ \ notproduct(bool, PromotionFailureALot, false, \ - "Use promotion failure handling on every young generation " \ + "Use promotion failure handling on every youngest generation " \ "collection") \ \ develop(uintx, PromotionFailureALotCount, 1000, \ @@ -2183,11 +2183,6 @@ public: "size") \ range(1, max_uintx) \ \ - product(uintx, DefaultMaxRAMFraction, 4, \ - "Maximum fraction (1/n) of real memory used for maximum heap " \ - "size; deprecated: to be renamed to MaxRAMFraction") \ - range(1, max_uintx) \ - \ product(uintx, MinRAMFraction, 2, \ "Minimum fraction (1/n) of real memory used for maximum heap " \ "size on systems with small physical memory size") \ diff --git a/hotspot/src/share/vm/runtime/java.hpp b/hotspot/src/share/vm/runtime/java.hpp index 703f5060cbf..710aac4d401 100644 --- a/hotspot/src/share/vm/runtime/java.hpp +++ b/hotspot/src/share/vm/runtime/java.hpp @@ -137,6 +137,14 @@ class JDK_Version VALUE_OBJ_CLASS_SPEC { return JDK_Version(major, 0, 0, update_number); } + static JDK_Version undefined() { + return JDK_Version(0); + } + + bool is_undefined() const { + return (_major == 0); + } + uint8_t major_version() const { return _major; } uint8_t minor_version() const { return _minor; } uint8_t micro_version() const { return _micro; } diff --git a/hotspot/test/TEST.groups b/hotspot/test/TEST.groups index 0b8a918ba71..5b1f9adf6b6 100644 --- a/hotspot/test/TEST.groups +++ b/hotspot/test/TEST.groups @@ -190,7 +190,6 @@ needs_full_vm_compact1 = \ gc/g1/TestShrinkToOneRegion.java \ gc/metaspace/G1AddMetaspaceDependency.java \ gc/startup_warnings/TestCMS.java \ - gc/startup_warnings/TestDefaultMaxRAMFraction.java \ gc/startup_warnings/TestDefNewCMS.java \ gc/startup_warnings/TestParallelGC.java \ gc/startup_warnings/TestParallelScavengeSerialOld.java \ diff --git a/hotspot/test/gc/startup_warnings/TestDefaultMaxRAMFraction.java b/hotspot/test/gc/startup_warnings/TestDefaultMaxRAMFraction.java deleted file mode 100644 index a9f462bdf46..00000000000 --- a/hotspot/test/gc/startup_warnings/TestDefaultMaxRAMFraction.java +++ /dev/null @@ -1,46 +0,0 @@ -/* -* Copyright (c) 2013, 2015, Oracle and/or its affiliates. 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. -* -* 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -* or visit www.oracle.com if you need additional information or have any -* questions. -*/ - -/* -* @test TestDefaultMaxRAMFraction -* @key gc -* @bug 8021967 -* @summary Test that the deprecated TestDefaultMaxRAMFraction flag print a warning message -* @library /testlibrary -* @modules java.base/sun.misc -* java.management -*/ - -import jdk.test.lib.OutputAnalyzer; -import jdk.test.lib.ProcessTools; - -public class TestDefaultMaxRAMFraction { - public static void main(String[] args) throws Exception { - ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:DefaultMaxRAMFraction=4", "-version"); - OutputAnalyzer output = new OutputAnalyzer(pb.start()); - output.shouldContain("warning: DefaultMaxRAMFraction is deprecated and will likely be removed in a future release. Use MaxRAMFraction instead."); - output.shouldNotContain("error"); - output.shouldHaveExitValue(0); - } - -} diff --git a/hotspot/test/gc/startup_warnings/TestNoParNew.java b/hotspot/test/gc/startup_warnings/TestNoParNew.java deleted file mode 100644 index 963e858e76e..00000000000 --- a/hotspot/test/gc/startup_warnings/TestNoParNew.java +++ /dev/null @@ -1,48 +0,0 @@ -/* -* Copyright (c) 2014, 2015, Oracle and/or its affiliates. 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. -* -* 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA -* or visit www.oracle.com if you need additional information or have any -* questions. -*/ - -/* -* @test TestNoParNew -* @key gc -* @bug 8065972 -* @summary Test that specifying -XX:-UseParNewGC on the command line logs a warning message -* @library /testlibrary -* @modules java.base/sun.misc -* java.management -*/ - -import jdk.test.lib.OutputAnalyzer; -import jdk.test.lib.ProcessTools; - - -public class TestNoParNew { - - public static void main(String args[]) throws Exception { - ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:-UseParNewGC", "-version"); - OutputAnalyzer output = new OutputAnalyzer(pb.start()); - output.shouldContain("warning: The UseParNewGC flag is deprecated and will likely be removed in a future release"); - output.shouldNotContain("error"); - output.shouldHaveExitValue(0); - } - -} diff --git a/hotspot/test/gc/startup_warnings/TestParNewCMS.java b/hotspot/test/gc/startup_warnings/TestParNewCMS.java index 4020f953b6f..6fc0b332e51 100644 --- a/hotspot/test/gc/startup_warnings/TestParNewCMS.java +++ b/hotspot/test/gc/startup_warnings/TestParNewCMS.java @@ -40,7 +40,7 @@ public class TestParNewCMS { public static void main(String args[]) throws Exception { ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseParNewGC", "-XX:+UseConcMarkSweepGC", "-version"); OutputAnalyzer output = new OutputAnalyzer(pb.start()); - output.shouldContain("warning: The UseParNewGC flag is deprecated and will likely be removed in a future release"); + output.shouldContain("warning: Option UseParNewGC was deprecated in version"); output.shouldNotContain("error"); output.shouldHaveExitValue(0); } diff --git a/hotspot/test/runtime/CommandLine/ObsoleteFlagErrorMessage.java b/hotspot/test/runtime/CommandLine/ObsoleteFlagErrorMessage.java index aa006990530..b65df44590f 100644 --- a/hotspot/test/runtime/CommandLine/ObsoleteFlagErrorMessage.java +++ b/hotspot/test/runtime/CommandLine/ObsoleteFlagErrorMessage.java @@ -46,7 +46,7 @@ public class ObsoleteFlagErrorMessage { "-XX:NmethodSweepFraction=10", "-version"); OutputAnalyzer output2 = new OutputAnalyzer(pb2.start()); - output2.shouldContain("ignoring option").shouldContain("support was removed"); + output2.shouldContain("Ignoring option").shouldContain("support was removed"); output2.shouldContain("NmethodSweepFraction"); } } diff --git a/hotspot/test/runtime/CommandLine/VMAliasOptions.java b/hotspot/test/runtime/CommandLine/VMAliasOptions.java new file mode 100644 index 00000000000..fbb350611b3 --- /dev/null +++ b/hotspot/test/runtime/CommandLine/VMAliasOptions.java @@ -0,0 +1,66 @@ +/* + * Copyright (c) 2015, Oracle and/or its affiliates. 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. + * + * 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +import jdk.test.lib.*; +import jdk.test.lib.cli.*; + +/* + * @test + * @bug 8061611 + * @summary Test that various alias options correctly set the target options. See aliased_jvm_flags in arguments.cpp. + * @library /testlibrary + */ +public class VMAliasOptions { + + /** + * each entry is {[0]: alias name, [1]: alias target, [2]: value to set + * (true/false/n/string)}. + */ + public static final String[][] ALIAS_OPTIONS = { + {"DefaultMaxRAMFraction", "MaxRAMFraction", "1032"}, + {"CMSMarkStackSizeMax", "MarkStackSizeMax", "1032"}, + {"CMSMarkStackSize", "MarkStackSize", "1032"}, + {"G1MarkStackSize", "MarkStackSize", "1032"}, + {"ParallelMarkingThreads", "ConcGCThreads", "2"}, + {"ParallelCMSThreads", "ConcGCThreads", "2"}, + {"CreateMinidumpOnCrash", "CreateCoredumpOnCrash", "false" }, + }; + + static void testAliases(String[][] optionInfo) throws Throwable { + String aliasNames[] = new String[optionInfo.length]; + String optionNames[] = new String[optionInfo.length]; + String expectedValues[] = new String[optionInfo.length]; + for (int i = 0; i < optionInfo.length; i++) { + aliasNames[i] = optionInfo[i][0]; + optionNames[i] = optionInfo[i][1]; + expectedValues[i] = optionInfo[i][2]; + } + + OutputAnalyzer output = CommandLineOptionTest.startVMWithOptions(aliasNames, expectedValues, "-XX:+PrintFlagsFinal"); + CommandLineOptionTest.verifyOptionValuesFromOutput(output, optionNames, expectedValues); + } + + public static void main(String[] args) throws Throwable { + testAliases(ALIAS_OPTIONS); + } +} diff --git a/hotspot/test/runtime/CommandLine/VMDeprecatedOptions.java b/hotspot/test/runtime/CommandLine/VMDeprecatedOptions.java new file mode 100644 index 00000000000..969e93c16fc --- /dev/null +++ b/hotspot/test/runtime/CommandLine/VMDeprecatedOptions.java @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2015, Oracle and/or its affiliates. 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. + * + * 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +import jdk.test.lib.*; +import jdk.test.lib.cli.*; + +/* + * @test + * @bug 8066821 + * @summary Test that various options are deprecated. See deprecated_jvm_flags in arguments.cpp. + * @library /testlibrary + */ +public class VMDeprecatedOptions { + + /** + * each entry is {[0]: option name, [1]: value to set + * (true/false/n/string)}. + */ + public static final String[][] DEPRECATED_OPTIONS = { + // deprecated non-alias flags: + {"MaxGCMinorPauseMillis", "1032"}, + {"UseParNewGC", "false"}, + + // deprecated alias flags (see also aliased_jvm_flags): + {"DefaultMaxRAMFraction", "4"}, + {"CMSMarkStackSizeMax", "1032"}, + {"CMSMarkStackSize", "1032"}, + {"G1MarkStackSize", "1032"}, + {"ParallelMarkingThreads", "2"}, + {"ParallelCMSThreads", "2"}, + {"CreateMinidumpOnCrash", "false"} + }; + + static String getDeprecationString(String optionName) { + return "Option " + optionName + + " was deprecated in version [\\S]+ and will likely be removed in a future release"; + } + + static void testDeprecated(String[][] optionInfo) throws Throwable { + String optionNames[] = new String[optionInfo.length]; + String expectedValues[] = new String[optionInfo.length]; + for (int i = 0; i < optionInfo.length; i++) { + optionNames[i] = optionInfo[i][0]; + expectedValues[i] = optionInfo[i][1]; + } + + OutputAnalyzer output = CommandLineOptionTest.startVMWithOptions(optionNames, expectedValues); + + // check for option deprecation messages: + output.shouldHaveExitValue(0); + for (String[] deprecated : optionInfo) { + String match = getDeprecationString(deprecated[0]); + output.shouldMatch(match); + } + } + + public static void main(String[] args) throws Throwable { + testDeprecated(DEPRECATED_OPTIONS); // Make sure that each deprecated option is mentioned in the output. + } +} diff --git a/hotspot/test/runtime/NMT/AutoshutdownNMT.java b/hotspot/test/runtime/NMT/AutoshutdownNMT.java index 3d8fc2d4b18..c7bba5e63da 100644 --- a/hotspot/test/runtime/NMT/AutoshutdownNMT.java +++ b/hotspot/test/runtime/NMT/AutoshutdownNMT.java @@ -41,6 +41,6 @@ public class AutoshutdownNMT { "-XX:-AutoShutdownNMT", "-version"); OutputAnalyzer output = new OutputAnalyzer(pb.start()); - output.shouldContain("ignoring option AutoShutdownNMT"); + output.shouldContain("Ignoring option AutoShutdownNMT"); } } diff --git a/hotspot/test/testlibrary/jdk/test/lib/cli/CommandLineOptionTest.java b/hotspot/test/testlibrary/jdk/test/lib/cli/CommandLineOptionTest.java index d7eb3a21097..031d58a4b54 100644 --- a/hotspot/test/testlibrary/jdk/test/lib/cli/CommandLineOptionTest.java +++ b/hotspot/test/testlibrary/jdk/test/lib/cli/CommandLineOptionTest.java @@ -260,6 +260,73 @@ public abstract class CommandLineOptionTest { } } + /** + * Start VM with given options and values. + * Generates command line option flags from + * {@code optionNames} and {@code optionValues}. + * + * @param optionNames names of options to pass in + * @param optionValues values of option + * @param additionalVMOpts additional options that should be + * passed to JVM. + * @return output from vm process + */ + public static OutputAnalyzer startVMWithOptions(String[] optionNames, + String[] optionValues, + String... additionalVMOpts) throws Throwable { + List vmOpts = new ArrayList<>(); + if (optionNames == null || optionValues == null || optionNames.length != optionValues.length) { + throw new IllegalArgumentException("optionNames and/or optionValues"); + } + + for (int i = 0; i < optionNames.length; i++) { + vmOpts.add(prepareFlag(optionNames[i], optionValues[i])); + } + Collections.addAll(vmOpts, additionalVMOpts); + Collections.addAll(vmOpts, "-version"); + + ProcessBuilder processBuilder = ProcessTools.createJavaProcessBuilder( + vmOpts.toArray(new String[vmOpts.size()])); + + return new OutputAnalyzer(processBuilder.start()); + } + + /** + * Verifies from the output that values of specified JVM options were the same as + * expected values. + * + * @param outputAnalyzer search output for expect options and values. + * @param optionNames names of tested options. + * @param expectedValues expected values of tested options. + * @throws Throwable if verification fails or some other issues occur. + */ + public static void verifyOptionValuesFromOutput(OutputAnalyzer outputAnalyzer, + String[] optionNames, + String[] expectedValues) throws Throwable { + outputAnalyzer.shouldHaveExitValue(0); + for (int i = 0; i < optionNames.length; i++) { + outputAnalyzer.shouldMatch(String.format( + CommandLineOptionTest.PRINT_FLAGS_FINAL_FORMAT, + optionNames[i], expectedValues[i])); + } + } + + /** + * Verifies that value of specified JVM options are the same as + * expected values. + * Generates command line option flags from + * {@code optionNames} and {@code expectedValues}. + * + * @param optionNames names of tested options. + * @param expectedValues expected values of tested options. + * @throws Throwable if verification fails or some other issues occur. + */ + public static void verifyOptionValues(String[] optionNames, + String[] expectedValues) throws Throwable { + OutputAnalyzer outputAnalyzer = startVMWithOptions(optionNames, expectedValues, "-XX:+PrintFlagsFinal"); + verifyOptionValuesFromOutput(outputAnalyzer, optionNames, expectedValues); + } + /** * Verifies that value of specified JVM when type of newly started VM * is the same as the type of current. @@ -311,6 +378,24 @@ public abstract class CommandLineOptionTest { return String.format("-XX:%s=%s", name, value.toString()); } + /** + * Prepares generic command line flag with name {@code name} by setting + * it's value to {@code value}. + * + * @param name the name of option to be prepared + * @param value the value of option ("+" or "-" can be used instead of "true" or "false") + * @return prepared command line flag + */ + public static String prepareFlag(String name, String value) { + if (value.equals("+") || value.equalsIgnoreCase("true")) { + return "-XX:+" + name; + } else if (value.equals("-") || value.equalsIgnoreCase("false")) { + return "-XX:-" + name; + } else { + return "-XX:" + name + "=" + value; + } + } + /** * Returns message that should occur in VM output if option * {@code optionName} if unrecognized. From 20b057fc29bf0dbe275be018f5c5a7fece7e1d9a Mon Sep 17 00:00:00 2001 From: Weijun Wang Date: Sun, 13 Sep 2015 10:55:58 +0800 Subject: [PATCH 30/77] 8136425: KeystoreImpl.m using wrong type for cert format Reviewed-by: vinnie --- jdk/src/java.base/macosx/native/libosxsecurity/KeystoreImpl.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/jdk/src/java.base/macosx/native/libosxsecurity/KeystoreImpl.m b/jdk/src/java.base/macosx/native/libosxsecurity/KeystoreImpl.m index 179151440da..cdc39aa7923 100644 --- a/jdk/src/java.base/macosx/native/libosxsecurity/KeystoreImpl.m +++ b/jdk/src/java.base/macosx/native/libosxsecurity/KeystoreImpl.m @@ -508,7 +508,7 @@ JNF_COCOA_ENTER(env); SecKeychainRef defaultKeychain = NULL; SecKeychainCopyDefault(&defaultKeychain); - SecExternalItemType dataType = (isCertificate == JNI_TRUE ? kSecFormatX509Cert : kSecFormatWrappedPKCS8); + SecExternalFormat dataFormat = (isCertificate == JNI_TRUE ? kSecFormatX509Cert : kSecFormatWrappedPKCS8); // Convert the password obj into a CFStringRef that the keychain importer can use for encryption. SecKeyImportExportParameters paramBlock; @@ -533,7 +533,7 @@ JNF_COCOA_ENTER(env); paramBlock.keyUsage = CSSM_KEYUSE_ANY; paramBlock.keyAttributes = CSSM_KEYATTR_RETURN_DEFAULT; - err = SecKeychainItemImport(cfDataToImport, NULL, &dataType, NULL, + err = SecKeychainItemImport(cfDataToImport, NULL, &dataFormat, NULL, 0, ¶mBlock, defaultKeychain, &createdItems); if (err == noErr) { From 863837299285950707f9c9d8a320c38fa32ba838 Mon Sep 17 00:00:00 2001 From: Alexander Stepanov Date: Sun, 13 Sep 2015 23:31:47 +0300 Subject: [PATCH 31/77] 8133650: replace some tags (obsolete in html5) in CORBA docs Reviewed-by: lancea --- .../com/sun/corba/se/impl/ior/ByteBuffer.java | 16 +- .../corba/se/impl/javax/rmi/CORBA/Util.java | 28 +- .../rmi/JNDIStateFactoryImpl.java | 2 +- .../legacy/connection/ORBSocketFactory.java | 2 +- .../share/classes/javax/rmi/CORBA/Util.java | 63 +- .../classes/org/omg/CORBA/AnyHolder.java | 42 +- .../classes/org/omg/CORBA/AnySeqHelper.java | 40 +- .../classes/org/omg/CORBA/AnySeqHolder.java | 16 +- .../classes/org/omg/CORBA/BAD_POLICY.java | 4 +- .../org/omg/CORBA/BAD_POLICY_TYPE.java | 4 +- .../classes/org/omg/CORBA/BAD_TYPECODE.java | 14 +- .../classes/org/omg/CORBA/BooleanHolder.java | 48 +- .../org/omg/CORBA/BooleanSeqHelper.java | 40 +- .../org/omg/CORBA/BooleanSeqHolder.java | 16 +- .../classes/org/omg/CORBA/ByteHolder.java | 44 +- .../classes/org/omg/CORBA/CharHolder.java | 44 +- .../classes/org/omg/CORBA/CharSeqHelper.java | 40 +- .../classes/org/omg/CORBA/CharSeqHolder.java | 16 +- .../org/omg/CORBA/CompletionStatusHelper.java | 14 +- .../share/classes/org/omg/CORBA/Current.java | 10 +- .../classes/org/omg/CORBA/CurrentHelper.java | 16 +- .../classes/org/omg/CORBA/CurrentHolder.java | 16 +- .../org/omg/CORBA/CurrentOperations.java | 18 +- .../classes/org/omg/CORBA/CustomMarshal.java | 2 +- .../org/omg/CORBA/DefinitionKindHelper.java | 16 +- .../classes/org/omg/CORBA/DomainManager.java | 9 +- .../omg/CORBA/DomainManagerOperations.java | 9 +- .../classes/org/omg/CORBA/DoubleHolder.java | 40 +- .../org/omg/CORBA/DoubleSeqHelper.java | 40 +- .../org/omg/CORBA/DoubleSeqHolder.java | 16 +- .../share/classes/org/omg/CORBA/DynAny.java | 555 ++++++++--------- .../share/classes/org/omg/CORBA/DynArray.java | 5 +- .../share/classes/org/omg/CORBA/DynEnum.java | 9 +- .../org/omg/CORBA/FieldNameHelper.java | 14 +- .../classes/org/omg/CORBA/FixedHolder.java | 12 +- .../classes/org/omg/CORBA/FloatHolder.java | 38 +- .../classes/org/omg/CORBA/FloatSeqHelper.java | 40 +- .../classes/org/omg/CORBA/FloatSeqHolder.java | 16 +- .../classes/org/omg/CORBA/IDLTypeHelper.java | 16 +- .../org/omg/CORBA/IDLTypeOperations.java | 12 +- .../classes/org/omg/CORBA/INV_OBJREF.java | 14 +- .../classes/org/omg/CORBA/INV_POLICY.java | 10 +- .../org/omg/CORBA/IRObjectOperations.java | 22 +- .../org/omg/CORBA/IdentifierHelper.java | 16 +- .../classes/org/omg/CORBA/IntHolder.java | 54 +- .../classes/org/omg/CORBA/LocalObject.java | 210 +++---- .../classes/org/omg/CORBA/LongHolder.java | 38 +- .../org/omg/CORBA/LongLongSeqHelper.java | 40 +- .../org/omg/CORBA/LongLongSeqHolder.java | 16 +- .../classes/org/omg/CORBA/LongSeqHelper.java | 40 +- .../classes/org/omg/CORBA/LongSeqHolder.java | 16 +- .../share/classes/org/omg/CORBA/MARSHAL.java | 10 +- .../classes/org/omg/CORBA/NO_IMPLEMENT.java | 18 +- .../classes/org/omg/CORBA/NameValuePair.java | 16 +- .../org/omg/CORBA/NameValuePairHelper.java | 14 +- .../share/classes/org/omg/CORBA/ORB.java | 562 +++++++++--------- .../classes/org/omg/CORBA/ObjectHelper.java | 8 +- .../classes/org/omg/CORBA/ObjectHolder.java | 42 +- .../classes/org/omg/CORBA/OctetSeqHelper.java | 40 +- .../classes/org/omg/CORBA/OctetSeqHolder.java | 16 +- .../share/classes/org/omg/CORBA/Policy.java | 30 +- .../classes/org/omg/CORBA/PolicyHelper.java | 16 +- .../classes/org/omg/CORBA/PolicyHolder.java | 16 +- .../org/omg/CORBA/PolicyListHelper.java | 16 +- .../org/omg/CORBA/PolicyListHolder.java | 16 +- .../org/omg/CORBA/PolicyOperations.java | 28 +- .../org/omg/CORBA/PolicyTypeHelper.java | 16 +- .../org/omg/CORBA/PrincipalHolder.java | 32 +- .../org/omg/CORBA/RepositoryIdHelper.java | 18 +- .../org/omg/CORBA/ServiceDetailHelper.java | 8 +- .../org/omg/CORBA/ServiceInformation.java | 5 +- .../omg/CORBA/ServiceInformationHelper.java | 8 +- .../omg/CORBA/ServiceInformationHolder.java | 54 +- .../org/omg/CORBA/SetOverrideTypeHelper.java | 2 +- .../classes/org/omg/CORBA/ShortHolder.java | 44 +- .../classes/org/omg/CORBA/ShortSeqHelper.java | 2 +- .../classes/org/omg/CORBA/ShortSeqHolder.java | 2 +- .../classes/org/omg/CORBA/StringHolder.java | 46 +- .../org/omg/CORBA/StringValueHelper.java | 2 +- .../org/omg/CORBA/StructMemberHelper.java | 2 +- .../classes/org/omg/CORBA/TypeCodeHolder.java | 46 +- .../org/omg/CORBA/ULongLongSeqHelper.java | 2 +- .../org/omg/CORBA/ULongLongSeqHolder.java | 2 +- .../classes/org/omg/CORBA/ULongSeqHelper.java | 2 +- .../classes/org/omg/CORBA/ULongSeqHolder.java | 2 +- .../org/omg/CORBA/UNSUPPORTED_POLICY.java | 4 +- .../omg/CORBA/UNSUPPORTED_POLICY_VALUE.java | 4 +- .../org/omg/CORBA/UShortSeqHelper.java | 2 +- .../org/omg/CORBA/UShortSeqHolder.java | 2 +- .../org/omg/CORBA/UnionMemberHelper.java | 2 +- .../omg/CORBA/UnknownUserExceptionHelper.java | 2 +- .../omg/CORBA/UnknownUserExceptionHolder.java | 2 +- .../org/omg/CORBA/ValueBaseHelper.java | 2 +- .../org/omg/CORBA/ValueBaseHolder.java | 40 +- .../org/omg/CORBA/ValueMemberHelper.java | 2 +- .../org/omg/CORBA/VersionSpecHelper.java | 2 +- .../org/omg/CORBA/VisibilityHelper.java | 2 +- .../classes/org/omg/CORBA/WCharSeqHelper.java | 2 +- .../classes/org/omg/CORBA/WCharSeqHolder.java | 2 +- .../org/omg/CORBA/WStringValueHelper.java | 2 +- .../org/omg/CORBA/WrongTransactionHelper.java | 2 +- .../org/omg/CORBA/WrongTransactionHolder.java | 2 +- .../classes/org/omg/CORBA/_IDLTypeStub.java | 10 +- .../classes/org/omg/CORBA/_PolicyStub.java | 6 +- .../org/omg/CORBA/doc-files/compliance.html | 42 +- .../omg/CORBA/doc-files/generatedfiles.html | 64 +- .../share/classes/org/omg/CORBA/package.html | 552 ++++++++--------- .../NamingContextExtPackage/package.html | 18 +- .../NamingContextPackage/package.html | 20 +- .../classes/org/omg/CosNaming/nameservice.idl | 6 +- .../classes/org/omg/CosNaming/package.html | 59 +- .../classes/org/omg/Dynamic/package.html | 10 +- .../DynAnyFactoryPackage/package.html | 12 +- .../omg/DynamicAny/DynAnyPackage/package.html | 10 +- .../classes/org/omg/DynamicAny/package.html | 12 +- .../share/classes/org/omg/IOP/package.html | 12 +- .../classes/org/omg/Messaging/package.html | 12 +- .../ORBInitInfoPackage/package.html | 14 +- .../PortableServer/POAPackage/package.html | 29 +- .../ServantLocatorPackage/package.html | 14 +- .../org/omg/PortableServer/package.html | 82 +-- .../omg/PortableServer/portable/package.html | 12 +- .../org/omg/stub/java/rmi/package.html | 4 +- 123 files changed, 2062 insertions(+), 2035 deletions(-) diff --git a/corba/src/java.corba/share/classes/com/sun/corba/se/impl/ior/ByteBuffer.java b/corba/src/java.corba/share/classes/com/sun/corba/se/impl/ior/ByteBuffer.java index 3d75294506e..39affb193ad 100644 --- a/corba/src/java.corba/share/classes/com/sun/corba/se/impl/ior/ByteBuffer.java +++ b/corba/src/java.corba/share/classes/com/sun/corba/se/impl/ior/ByteBuffer.java @@ -37,9 +37,9 @@ public class ByteBuffer { protected byte elementData[]; /** - * The number of valid components in this ByteBuffer object. - * Components elementData[0] through - * elementData[elementCount-1] are the actual items. + * The number of valid components in this {@code ByteBuffer} object. + * Components {@code elementData[0]} through + * {@code elementData[elementCount-1]} are the actual items. * * @serial */ @@ -88,7 +88,7 @@ public class ByteBuffer { /** * Constructs an empty ByteBuffer so that its internal data array - * has size 10 and its standard capacity increment is + * has size {@code 10} and its standard capacity increment is * zero. */ public ByteBuffer() { @@ -99,7 +99,7 @@ public class ByteBuffer { * Trims the capacity of this ByteBuffer to be the ByteBuffer's current * size. If the capacity of this cector is larger than its current * size, then the capacity is changed to equal the size by replacing - * its internal data array, kept in the field elementData, + * its internal data array, kept in the field {@code elementData}, * with a smaller one. An application can use this operation to * minimize the storage of a ByteBuffer. */ @@ -138,7 +138,7 @@ public class ByteBuffer { * Returns the current capacity of this ByteBuffer. * * @return the current capacity (the length of its internal - * data arary, kept in the field elementData + * data arary, kept in the field {@code elementData} * of this ByteBuffer. */ public int capacity() { @@ -157,9 +157,9 @@ public class ByteBuffer { /** * Tests if this ByteBuffer has no components. * - * @return true if and only if this ByteBuffer has + * @return {@code true} if and only if this ByteBuffer has * no components, that is, its size is zero; - * false otherwise. + * {@code false} otherwise. */ public boolean isEmpty() { return elementCount == 0; diff --git a/corba/src/java.corba/share/classes/com/sun/corba/se/impl/javax/rmi/CORBA/Util.java b/corba/src/java.corba/share/classes/com/sun/corba/se/impl/javax/rmi/CORBA/Util.java index 866d22c4370..24996d51ed0 100644 --- a/corba/src/java.corba/share/classes/com/sun/corba/se/impl/javax/rmi/CORBA/Util.java +++ b/corba/src/java.corba/share/classes/com/sun/corba/se/impl/javax/rmi/CORBA/Util.java @@ -438,11 +438,11 @@ public class Util implements javax.rmi.CORBA.UtilDelegate } /** - * Writes a java.lang.Object as a CORBA Object. If obj is + * Writes a java.lang.Object as a CORBA Object. If {@code obj} is * an exported RMI-IIOP server object, the tie is found - * and wired to obj, then written to out.write_Object(org.omg.CORBA.Object). - * If obj is a CORBA Object, it is written to - * out.write_Object(org.omg.CORBA.Object). + * and wired to {@code obj}, then written to {@code out.write_Object(org.omg.CORBA.Object)}. + * If {@code obj} is a CORBA Object, it is written to + * {@code out.write_Object(org.omg.CORBA.Object)}. * @param out the stream in which to write the object. * @param obj the object to write. */ @@ -457,10 +457,10 @@ public class Util implements javax.rmi.CORBA.UtilDelegate /** * Writes a java.lang.Object as either a value or a CORBA Object. - * If obj is a value object or a stub object, it is written to - * out.write_abstract_interface(java.lang.Object). If obj is an exported - * RMI-IIOP server object, the tie is found and wired to obj, - * then written to out.write_abstract_interface(java.lang.Object). + * If {@code obj} is a value object or a stub object, it is written to + * {@code out.write_abstract_interface(java.lang.Object)}. If {@code obj} is an exported + * RMI-IIOP server object, the tie is found and wired to {@code obj}, + * then written to {@code out.write_abstract_interface(java.lang.Object)}. * @param out the stream in which to write the object. * @param obj the object to write. */ @@ -595,7 +595,7 @@ public class Util implements javax.rmi.CORBA.UtilDelegate * the class might be found. May be null. * @param loader a class whose ClassLoader may be used to * load the class if all other methods fail. - * @return the Class object representing the loaded class. + * @return the {@code Class} object representing the loaded class. * @exception ClassNotFoundException if class cannot be loaded. */ public Class loadClass( String className, String remoteCodebase, @@ -605,20 +605,20 @@ public class Util implements javax.rmi.CORBA.UtilDelegate } /** - * The isLocal method has the same semantics as the + * The {@code isLocal} method has the same semantics as the * ObjectImpl._is_local method, except that it can throw a RemoteException. * (no it doesn't but the spec says it should.) * - * The _is_local() method is provided so that stubs may determine + * The {@code _is_local()} method is provided so that stubs may determine * if a particular object is implemented by a local servant and hence local * invocation APIs may be used. * * @param stub the stub to test. * - * @return The _is_local() method returns true if + * @return The {@code _is_local()} method returns true if * the servant incarnating the object is located in the same process as - * the stub and they both share the same ORB instance. The _is_local() - * method returns false otherwise. The default behavior of _is_local() is + * the stub and they both share the same ORB instance. The {@code _is_local()} + * method returns false otherwise. The default behavior of {@code _is_local()} is * to return false. * * @throws RemoteException The Java to IDL specification does to diff --git a/corba/src/java.corba/share/classes/com/sun/corba/se/impl/presentation/rmi/JNDIStateFactoryImpl.java b/corba/src/java.corba/share/classes/com/sun/corba/se/impl/presentation/rmi/JNDIStateFactoryImpl.java index e19187e73f8..51816274a60 100644 --- a/corba/src/java.corba/share/classes/com/sun/corba/se/impl/presentation/rmi/JNDIStateFactoryImpl.java +++ b/corba/src/java.corba/share/classes/com/sun/corba/se/impl/presentation/rmi/JNDIStateFactoryImpl.java @@ -93,7 +93,7 @@ public class JNDIStateFactoryImpl implements StateFactory * @param name Ignored * @param ctx The non-null CNCtx whose ORB to use. * @param env Ignored - * @return The CORBA object for orig or null. + * @return The CORBA object for {@code orig} or null. * @exception ConfigurationException If the CORBA object cannot be obtained * due to configuration problems * @exception NamingException If some other problem prevented a CORBA diff --git a/corba/src/java.corba/share/classes/com/sun/corba/se/spi/legacy/connection/ORBSocketFactory.java b/corba/src/java.corba/share/classes/com/sun/corba/se/spi/legacy/connection/ORBSocketFactory.java index baf4eb7e560..d75aaa12005 100644 --- a/corba/src/java.corba/share/classes/com/sun/corba/se/spi/legacy/connection/ORBSocketFactory.java +++ b/corba/src/java.corba/share/classes/com/sun/corba/se/spi/legacy/connection/ORBSocketFactory.java @@ -165,7 +165,7 @@ public interface ORBSocketFactory * If number is 0 then use an emphemeral port for the listener of * the associated type.

    * - * If number is greater then 0 use that port number.

    + * If number is greater than 0 use that port number.

    * * An ORB creates a listener socket for each type * specified by the user by calling diff --git a/corba/src/java.corba/share/classes/javax/rmi/CORBA/Util.java b/corba/src/java.corba/share/classes/javax/rmi/CORBA/Util.java index 5a18212765a..b8473ce31e7 100644 --- a/corba/src/java.corba/share/classes/javax/rmi/CORBA/Util.java +++ b/corba/src/java.corba/share/classes/javax/rmi/CORBA/Util.java @@ -108,12 +108,12 @@ public class Util { } /** - * Writes a java.lang.Object as a CORBA Object. If obj is + * Writes a java.lang.Object as a CORBA Object. If {@code obj} is * an exported RMI-IIOP server object, the tie is found - * and wired to obj, then written to -out.write_Object(org.omg.CORBA.Object). - * If obj is a CORBA Object, it is written to - * out.write_Object(org.omg.CORBA.Object). + * and wired to {@code obj}, then written to + * {@code out.write_Object(org.omg.CORBA.Object)}. + * If {@code obj} is a CORBA Object, it is written to + * {@code out.write_Object(org.omg.CORBA.Object)}. * @param out the stream in which to write the object. * @param obj the object to write. */ @@ -128,12 +128,11 @@ public class Util { /** * Writes a java.lang.Object as either a value or a CORBA Object. - * If obj is a value object or a stub object, it is written to - * out.write_abstract_interface(java.lang.Object). If obj -is -an exported - * RMI-IIOP server object, the tie is found and wired to obj, - * then written to out.write_abstract_interface(java.lang.Object). + * If {@code obj} is a value object or a stub object, it is written to + * {@code out.write_abstract_interface(java.lang.Object)}. + * If {@code obj} is an exported + * RMI-IIOP server object, the tie is found and wired to {@code obj}, + * then written to {@code out.write_abstract_interface(java.lang.Object)}. * @param out the stream in which to write the object. * @param obj the object to write. */ @@ -161,8 +160,8 @@ an exported } /** - * Removes the associated tie from an internal table and calls {@link -Tie#deactivate} + * Removes the associated tie from an internal table + * and calls {@link Tie#deactivate} * to deactivate the object. * @param target the object to unexport. */ @@ -219,27 +218,27 @@ Tie#deactivate} *

    The spec for this method is the "Java to IDL language * mapping", ptc/00-01-06. *

    In Java SE Platform, this method works as follows: - *

    • Find the first non-null ClassLoader on the + *
      • Find the first non-null {@code ClassLoader} on the * call stack and attempt to load the class using this - * ClassLoader. - *
      • If the first step fails, and if remoteCodebase + * {@code ClassLoader}. + *
      • If the first step fails, and if {@code remoteCodebase} * is non-null and - * useCodebaseOnly is false, then call - * java.rmi.server.RMIClassLoader.loadClass(remoteCodebase, className). - *
      • If remoteCodebase is null or useCodebaseOnly - * is true, then call java.rmi.server.RMIClassLoader.loadClass(className). + * {@code useCodebaseOnly} is false, then call + * {@code java.rmi.server.RMIClassLoader.loadClass(remoteCodebase, className)}. + *
      • If {@code remoteCodebase} is null or {@code useCodebaseOnly} + * is true, then call {@code java.rmi.server.RMIClassLoader.loadClass(className)}. *
      • If a class was not successfully loaded by step 1, 2, or 3, - * and loader is non-null, then call loader.loadClass(className). + * and {@code loader} is non-null, then call {@code loader.loadClass(className)}. *
      • If a class was successfully loaded by step 1, 2, 3, or 4, then - * return the loaded class, else throw ClassNotFoundException. + * return the loaded class, else throw {@code ClassNotFoundException}. *
      * * @param className the name of the class. * @param remoteCodebase a space-separated list of URLs at which * the class might be found. May be null. - * @param loader a ClassLoader that may be used to + * @param loader a {@code ClassLoader} that may be used to * load the class if all other methods fail. - * @return the Class object representing the loaded class. + * @return the {@code Class} object representing the loaded class. * @exception ClassNotFoundException if class cannot be loaded. */ public static Class loadClass(String className, @@ -254,24 +253,24 @@ Tie#deactivate} /** - * The isLocal method has the same semantics as the - * ObjectImpl._is_local - * method, except that it can throw a RemoteException. + * The {@code isLocal} method has the same semantics as the + * {@code ObjectImpl._is_local} + * method, except that it can throw a {@code RemoteException}. * - * The _is_local() method is provided so that stubs may determine if a + * The {@code _is_local()} method is provided so that stubs may determine if a * particular object is implemented by a local servant and hence local * invocation APIs may be used. * * @param stub the stub to test. * - * @return The _is_local() method returns true if + * @return The {@code _is_local()} method returns true if * the servant incarnating the object is located in the same process as - * the stub and they both share the same ORB instance. The _is_local() - * method returns false otherwise. The default behavior of _is_local() is + * the stub and they both share the same ORB instance. The {@code _is_local()} + * method returns false otherwise. The default behavior of {@code _is_local()} is * to return false. * * @throws RemoteException The Java to IDL specification does not - * specify the conditions that cause a RemoteException to be thrown. + * specify the conditions that cause a {@code RemoteException} to be thrown. */ public static boolean isLocal(Stub stub) throws RemoteException { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/AnyHolder.java b/corba/src/java.corba/share/classes/org/omg/CORBA/AnyHolder.java index 8bf10914492..fed1979665f 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/AnyHolder.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/AnyHolder.java @@ -30,52 +30,52 @@ import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; /** - * The Holder for Any. For more information on + * The Holder for {@code Any}. For more information on * Holder files, see * "Generated Files: Holder Files".

      - * A Holder class for Any objects + * A Holder class for {@code Any} objects * that is used to store "out" and "inout" parameters in IDL methods. - * If an IDL method signature has an IDL any as an "out" + * If an IDL method signature has an IDL {@code any} as an "out" * or "inout" parameter, the programmer must pass an instance of - * AnyHolder as the corresponding + * {@code AnyHolder} as the corresponding * parameter in the method invocation; for "inout" parameters, the programmer * must also fill the "in" value to be sent to the server. * Before the method invocation returns, the ORB will fill in the * value corresponding to the "out" value returned from the server. *

      - * If myAnyHolder is an instance of AnyHolder, - * the value stored in its value field can be accessed with - * myAnyHolder.value. + * If {@code myAnyHolder} is an instance of {@code AnyHolder}, + * the value stored in its {@code value} field can be accessed with + * {@code myAnyHolder.value}. * * @since JDK1.2 */ public final class AnyHolder implements Streamable { /** - * The Any value held by this AnyHolder object. + * The {@code Any} value held by this {@code AnyHolder} object. */ public Any value; /** - * Constructs a new AnyHolder object with its - * value field initialized to null. + * Constructs a new {@code AnyHolder} object with its + * {@code value} field initialized to {@code null}. */ public AnyHolder() { } /** - * Constructs a new AnyHolder object for the given - * Any object. - * @param initial the Any object with which to initialize - * the value field of the new - * AnyHolder object + * Constructs a new {@code AnyHolder} object for the given + * {@code Any} object. + * @param initial the {@code Any} object with which to initialize + * the {@code value} field of the new + * {@code AnyHolder} object */ public AnyHolder(Any initial) { value = initial; } /** - * Reads from input and initalizes the value in the Holder + * Reads from {@code input} and initalizes the value in the Holder * with the unmarshalled data. * * @param input the InputStream containing CDR formatted data from the wire. @@ -85,8 +85,8 @@ public final class AnyHolder implements Streamable { } /** - * Marshals to output the value in - * this AnyHolder object. + * Marshals to {@code output} the value in + * this {@code AnyHolder} object. * * @param output the OutputStream which will contain the CDR formatted data. */ @@ -95,11 +95,11 @@ public final class AnyHolder implements Streamable { } /** - * Returns the TypeCode object corresponding to the value - * held in this AnyHolder object. + * Returns the {@code TypeCode} object corresponding to the value + * held in this {@code AnyHolder} object. * * @return the TypeCode of the value held in - * this AnyHolder object + * this {@code AnyHolder} object */ public TypeCode _type() { return ORB.init().get_primitive_tc(TCKind.tk_any); diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/AnySeqHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/AnySeqHelper.java index e01c8110ef4..1897a8ecc58 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/AnySeqHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/AnySeqHelper.java @@ -26,26 +26,26 @@ package org.omg.CORBA; /** -* The Helper for AnySeq. For more information on -* Helper files, see -* "Generated Files: Helper Files".

      -* org/omg/CORBA/AnySeqHelper.java -* Generated by the IDL-to-Java compiler (portable), version "3.0" -* from streams.idl -* 13 May 1999 22:41:36 o'clock GMT+00:00 -* -* The class definition has been modified to conform to the following -* OMG specifications : -*

      -*/ + * The Helper for {@code AnySeq}. For more information on + * Helper files, see + * "Generated Files: Helper Files".

      + * org/omg/CORBA/AnySeqHelper.java + * Generated by the IDL-to-Java compiler (portable), version "3.0" + * from streams.idl + * 13 May 1999 22:41:36 o'clock GMT+00:00 + * + * The class definition has been modified to conform to the following + * OMG specifications : + *

        + *
      • ORB core as defined by CORBA 2.3.1 + * (formal/99-10-07) + *
      • + * + *
      • IDL/Java Language Mapping as defined in + * ptc/00-01-08 + *
      • + *
      + */ public abstract class AnySeqHelper { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/AnySeqHolder.java b/corba/src/java.corba/share/classes/org/omg/CORBA/AnySeqHolder.java index baf5afe7d2b..4f5dd5975d7 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/AnySeqHolder.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/AnySeqHolder.java @@ -26,14 +26,14 @@ package org.omg.CORBA; /** -* The Holder for AnySeq. For more information on -* Holder files, see -* "Generated Files: Holder Files".

      -* org/omg/CORBA/AnySeqHolder.java -* Generated by the IDL-to-Java compiler (portable), version "3.0" -* from streams.idl -* 13 May 1999 22:41:36 o'clock GMT+00:00 -*/ + * The Holder for {@code AnySeq}. For more information on + * Holder files, see + * "Generated Files: Holder Files".

      + * org/omg/CORBA/AnySeqHolder.java + * Generated by the IDL-to-Java compiler (portable), version "3.0" + * from streams.idl + * 13 May 1999 22:41:36 o'clock GMT+00:00 + */ public final class AnySeqHolder implements org.omg.CORBA.portable.Streamable { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/BAD_POLICY.java b/corba/src/java.corba/share/classes/org/omg/CORBA/BAD_POLICY.java index b613949d13b..91ff0f65d72 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/BAD_POLICY.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/BAD_POLICY.java @@ -25,8 +25,8 @@ package org.omg.CORBA; /** - * A PolicyErrorCode which would be filled in - * the PolicyError exception. + * A {@code PolicyErrorCode} which would be filled in + * the {@code PolicyError} exception. * * @author rip-dev */ diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/BAD_POLICY_TYPE.java b/corba/src/java.corba/share/classes/org/omg/CORBA/BAD_POLICY_TYPE.java index 868c3c2d1b7..532797d1de8 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/BAD_POLICY_TYPE.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/BAD_POLICY_TYPE.java @@ -26,8 +26,8 @@ package org.omg.CORBA; /** - * A PolicyErrorCode which would be filled in - * the PolicyError exception. + * A {@code PolicyErrorCode} which would be filled in + * the {@code PolicyError} exception. * * @author rip-dev */ diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/BAD_TYPECODE.java b/corba/src/java.corba/share/classes/org/omg/CORBA/BAD_TYPECODE.java index a6514cd9a12..b9ddfbd47e2 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/BAD_TYPECODE.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/BAD_TYPECODE.java @@ -27,7 +27,7 @@ package org.omg.CORBA; /** * Exception thrown when the ORB has encountered a malformed type code - * (for example, a type code with an invalid TCKind value).

      + * (for example, a type code with an invalid {@code TCKind} value).

      * It contains a minor code, which gives more detailed information about * what caused the exception, and a completion status. It may also contain * a string describing the exception. @@ -40,7 +40,7 @@ package org.omg.CORBA; public final class BAD_TYPECODE extends SystemException { /** - * Constructs a BAD_TYPECODE exception with a default + * Constructs a {@code BAD_TYPECODE} exception with a default * minor code of 0 and a completion state of COMPLETED_NO. */ public BAD_TYPECODE() { @@ -48,7 +48,7 @@ public final class BAD_TYPECODE extends SystemException { } /** - * Constructs a BAD_TYPECODE exception with the specified detail, + * Constructs a {@code BAD_TYPECODE} exception with the specified detail, * a minor code of 0, and a completion state of COMPLETED_NO. * * @param s the String containing a detail message @@ -58,10 +58,10 @@ public final class BAD_TYPECODE extends SystemException { } /** - * Constructs a BAD_TYPECODE exception with the specified + * Constructs a {@code BAD_TYPECODE} exception with the specified * minor code and completion status. * @param minor the minor code - * @param completed an instance of CompletionStatus indicating + * @param completed an instance of {@code CompletionStatus} indicating * the completion status */ public BAD_TYPECODE(int minor, CompletionStatus completed) { @@ -69,12 +69,12 @@ public final class BAD_TYPECODE extends SystemException { } /** - * Constructs a BAD_TYPECODE exception with the specified detail + * Constructs a {@code BAD_TYPECODE} exception with the specified detail * message, minor code, and completion status. * A detail message is a String that describes this particular exception. * @param s the String containing a detail message * @param minor the minor code - * @param completed an instance of CompletionStatus indicating + * @param completed an instance of {@code CompletionStatus} indicating * the completion status */ public BAD_TYPECODE(String s, int minor, CompletionStatus completed) { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/BooleanHolder.java b/corba/src/java.corba/share/classes/org/omg/CORBA/BooleanHolder.java index 9b6d06f4bc7..f0f14e6e249 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/BooleanHolder.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/BooleanHolder.java @@ -30,56 +30,56 @@ import org.omg.CORBA.portable.OutputStream; /** - * The Holder for Boolean. For more information on + * The Holder for {@code Boolean}. For more information on * Holder files, see * "Generated Files: Holder Files".

      - * A Holder class for a boolean + * A Holder class for a {@code boolean} * that is used to store "out" and "inout" parameters in IDL methods. - * If an IDL method signature has an IDL boolean as an "out" + * If an IDL method signature has an IDL {@code boolean} as an "out" * or "inout" parameter, the programmer must pass an instance of - * BooleanHolder as the corresponding + * {@code BooleanHolder} as the corresponding * parameter in the method invocation; for "inout" parameters, the programmer * must also fill the "in" value to be sent to the server. * Before the method invocation returns, the ORB will fill in the * value corresponding to the "out" value returned from the server. *

      - * If myBooleanHolder is an instance of BooleanHolder, - * the value stored in its value field can be accessed with - * myBooleanHolder.value. + * If {@code myBooleanHolder} is an instance of {@code BooleanHolder}, + * the value stored in its {@code value} field can be accessed with + * {@code myBooleanHolder.value}. * * @since JDK1.2 */ public final class BooleanHolder implements Streamable { /** - * The boolean value held by this BooleanHolder + * The {@code boolean} value held by this {@code BooleanHolder} * object. */ public boolean value; /** - * Constructs a new BooleanHolder object with its - * value field initialized to false. + * Constructs a new {@code BooleanHolder} object with its + * {@code value} field initialized to {@code false}. */ public BooleanHolder() { } /** - * Constructs a new BooleanHolder object with its - * value field initialized with the given boolean. - * @param initial the boolean with which to initialize - * the value field of the newly-created - * BooleanHolder object + * Constructs a new {@code BooleanHolder} object with its + * {@code value} field initialized with the given {@code boolean}. + * @param initial the {@code boolean} with which to initialize + * the {@code value} field of the newly-created + * {@code BooleanHolder} object */ public BooleanHolder(boolean initial) { value = initial; } /** - * Reads unmarshalled data from input and assigns it to this - * BooleanHolder object's value field. + * Reads unmarshalled data from {@code input} and assigns it to this + * {@code BooleanHolder} object's {@code value} field. * - * @param input the InputStream object containing + * @param input the {@code InputStream} object containing * CDR formatted data from the wire */ public void _read(InputStream input) { @@ -87,8 +87,8 @@ public final class BooleanHolder implements Streamable { } /** - * Marshals the value in this BooleanHolder object's - * value field to the output stream output. + * Marshals the value in this {@code BooleanHolder} object's + * {@code value} field to the output stream {@code output}. * * @param output the OutputStream which will contain the CDR formatted data */ @@ -97,11 +97,11 @@ public final class BooleanHolder implements Streamable { } /** - * Retrieves the TypeCode object that corresponds to the - * value held in this BooleanHolder object. + * Retrieves the {@code TypeCode} object that corresponds to the + * value held in this {@code BooleanHolder} object. * - * @return the TypeCode for the value held - * in this BooleanHolder object + * @return the {@code TypeCode} for the value held + * in this {@code BooleanHolder} object */ public TypeCode _type() { return ORB.init().get_primitive_tc(TCKind.tk_boolean); diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/BooleanSeqHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/BooleanSeqHelper.java index 661de0a1255..c072b5f53a6 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/BooleanSeqHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/BooleanSeqHelper.java @@ -26,26 +26,26 @@ package org.omg.CORBA; /** -* The Helper for BooleanSeq. For more information on -* Helper files, see -* "Generated Files: Helper Files".

      -* org/omg/CORBA/BooleanSeqHelper.java -* Generated by the IDL-to-Java compiler (portable), version "3.0" -* from streams.idl -* 13 May 1999 22:41:36 o'clock GMT+00:00 -* -* The class definition has been modified to conform to the following -* OMG specifications : -*

      -*/ + * The Helper for {@code BooleanSeq}. For more information on + * Helper files, see + * "Generated Files: Helper Files".

      + * org/omg/CORBA/BooleanSeqHelper.java + * Generated by the IDL-to-Java compiler (portable), version "3.0" + * from streams.idl + * 13 May 1999 22:41:36 o'clock GMT+00:00 + * + * The class definition has been modified to conform to the following + * OMG specifications : + *

        + *
      • ORB core as defined by CORBA 2.3.1 + * (formal/99-10-07) + *
      • + * + *
      • IDL/Java Language Mapping as defined in + * ptc/00-01-08 + *
      • + *
      + */ public abstract class BooleanSeqHelper { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/BooleanSeqHolder.java b/corba/src/java.corba/share/classes/org/omg/CORBA/BooleanSeqHolder.java index b7030de5f11..0c45eff8907 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/BooleanSeqHolder.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/BooleanSeqHolder.java @@ -26,14 +26,14 @@ package org.omg.CORBA; /** -* The Holder for BooleanSeq. For more information on -* Holder files, see -* "Generated Files: Holder Files".

      -* org/omg/CORBA/BooleanSeqHolder.java -* Generated by the IDL-to-Java compiler (portable), version "3.0" -* from streams.idl -* 13 May 1999 22:41:36 o'clock GMT+00:00 -*/ + * The Holder for {@code BooleanSeq}. For more information on + * Holder files, see + * "Generated Files: Holder Files".

      + * org/omg/CORBA/BooleanSeqHolder.java + * Generated by the IDL-to-Java compiler (portable), version "3.0" + * from streams.idl + * 13 May 1999 22:41:36 o'clock GMT+00:00 + */ public final class BooleanSeqHolder implements org.omg.CORBA.portable.Streamable { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/ByteHolder.java b/corba/src/java.corba/share/classes/org/omg/CORBA/ByteHolder.java index 83104f93bb1..75c76c5bb61 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/ByteHolder.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/ByteHolder.java @@ -31,54 +31,54 @@ import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; /** - * The Holder for Byte. For more information on + * The Holder for {@code Byte}. For more information on * Holder files, see * "Generated Files: Holder Files".

      - * A Holder class for a byte + * A Holder class for a {@code byte} * that is used to store "out" and "inout" parameters in IDL methods. - * If an IDL method signature has an IDL octet as an "out" + * If an IDL method signature has an IDL {@code octet} as an "out" * or "inout" parameter, the programmer must pass an instance of - * ByteHolder as the corresponding + * {@code ByteHolder} as the corresponding * parameter in the method invocation; for "inout" parameters, the programmer * must also fill the "in" value to be sent to the server. * Before the method invocation returns, the ORB will fill in the * value corresponding to the "out" value returned from the server. *

      - * If myByteHolder is an instance of ByteHolder, - * the value stored in its value field can be accessed with - * myByteHolder.value. + * If {@code myByteHolder} is an instance of {@code ByteHolder}, + * the value stored in its {@code value} field can be accessed with + * {@code myByteHolder.value}. * * @since JDK1.2 */ public final class ByteHolder implements Streamable { /** - * The byte value held by this ByteHolder + * The {@code byte} value held by this {@code ByteHolder} * object. */ public byte value; /** - * Constructs a new ByteHolder object with its - * value field initialized to 0. + * Constructs a new {@code ByteHolder} object with its + * {@code value} field initialized to 0. */ public ByteHolder() { } /** - * Constructs a new ByteHolder object for the given - * byte. - * @param initial the byte with which to initialize - * the value field of the new - * ByteHolder object + * Constructs a new {@code ByteHolder} object for the given + * {@code byte}. + * @param initial the {@code byte} with which to initialize + * the {@code value} field of the new + * {@code ByteHolder} object */ public ByteHolder(byte initial) { value = initial; } /** - * Reads from input and initalizes the value in - * this ByteHolder object + * Reads from {@code input} and initalizes the value in + * this {@code ByteHolder} object * with the unmarshalled data. * * @param input the InputStream containing CDR formatted data from the wire. @@ -88,8 +88,8 @@ public final class ByteHolder implements Streamable { } /** - * Marshals to output the value in - * this ByteHolder object. + * Marshals to {@code output} the value in + * this {@code ByteHolder} object. * * @param output the OutputStream which will contain the CDR formatted data. */ @@ -99,10 +99,10 @@ public final class ByteHolder implements Streamable { /** * Returns the TypeCode corresponding to the value held in - * this ByteHolder object. + * this {@code ByteHolder} object. * - * @return the TypeCode of the value held in - * this ByteHolder object + * @return the TypeCode of the value held in + * this {@code ByteHolder} object */ public org.omg.CORBA.TypeCode _type() { return ORB.init().get_primitive_tc(TCKind.tk_octet); diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/CharHolder.java b/corba/src/java.corba/share/classes/org/omg/CORBA/CharHolder.java index 4f7a510867c..35ce03c640e 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/CharHolder.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/CharHolder.java @@ -31,54 +31,54 @@ import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; /** - * The Holder for Char. For more information on + * The Holder for {@code Char}. For more information on * Holder files, see * "Generated Files: Holder Files".

      - * A Holder class for a char + * A Holder class for a {@code char} * that is used to store "out" and "inout" parameters in IDL methods. - * If an IDL method signature has an IDL char as an "out" + * If an IDL method signature has an IDL {@code char} as an "out" * or "inout" parameter, the programmer must pass an instance of - * CharHolder as the corresponding + * {@code CharHolder} as the corresponding * parameter in the method invocation; for "inout" parameters, the programmer * must also fill the "in" value to be sent to the server. * Before the method invocation returns, the ORB will fill in the * value corresponding to the "out" value returned from the server. *

      - * If myCharHolder is an instance of CharHolder, - * the value stored in its value field can be accessed with - * myCharHolder.value. + * If {@code myCharHolder} is an instance of {@code CharHolder}, + * the value stored in its {@code value} field can be accessed with + * {@code myCharHolder.value}. * * @since JDK1.2 */ public final class CharHolder implements Streamable { /** - * The char value held by this CharHolder + * The {@code char} value held by this {@code CharHolder} * object. */ public char value; /** - * Constructs a new CharHolder object with its - * value field initialized to 0. + * Constructs a new {@code CharHolder} object with its + * {@code value} field initialized to {@code 0}. */ public CharHolder() { } /** - * Constructs a new CharHolder object for the given - * char. - * @param initial the char with which to initialize - * the value field of the new - * CharHolder object + * Constructs a new {@code CharHolder} object for the given + * {@code char}. + * @param initial the {@code char} with which to initialize + * the {@code value} field of the new + * {@code CharHolder} object */ public CharHolder(char initial) { value = initial; } /** - * Reads from input and initalizes the value in - * this CharHolder object + * Reads from {@code input} and initalizes the value in + * this {@code CharHolder} object * with the unmarshalled data. * * @param input the InputStream containing CDR formatted data from the wire @@ -88,8 +88,8 @@ public final class CharHolder implements Streamable { } /** - * Marshals to output the value in - * this CharHolder object. + * Marshals to {@code output} the value in + * this {@code CharHolder} object. * * @param output the OutputStream which will contain the CDR formatted data */ @@ -98,12 +98,12 @@ public final class CharHolder implements Streamable { } /** - * Returns the TypeCode object corresponding + * Returns the {@code TypeCode} object corresponding * to the value held in - * this CharHolder object. + * this {@code CharHolder} object. * * @return the TypeCode of the value held in - * this CharHolder object + * this {@code CharHolder} object */ public org.omg.CORBA.TypeCode _type() { return ORB.init().get_primitive_tc(TCKind.tk_char); diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/CharSeqHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/CharSeqHelper.java index 15bdec03432..2a0f112f2e2 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/CharSeqHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/CharSeqHelper.java @@ -26,26 +26,26 @@ package org.omg.CORBA; /** -* The Helper for CharSeq. For more information on -* Helper files, see -* "Generated Files: Helper Files".

      -* org/omg/CORBA/CharSeqHelper.java -* Generated by the IDL-to-Java compiler (portable), version "3.0" -* from streams.idl -* 13 May 1999 22:41:36 o'clock GMT+00:00 -* -* The class definition has been modified to conform to the following -* OMG specifications : -*

      -*/ + * The Helper for {@code CharSeq}. For more information on + * Helper files, see + * "Generated Files: Helper Files".

      + * org/omg/CORBA/CharSeqHelper.java + * Generated by the IDL-to-Java compiler (portable), version "3.0" + * from streams.idl + * 13 May 1999 22:41:36 o'clock GMT+00:00 + * + * The class definition has been modified to conform to the following + * OMG specifications : + *

        + *
      • ORB core as defined by CORBA 2.3.1 + * (formal/99-10-07) + *
      • + * + *
      • IDL/Java Language Mapping as defined in + * ptc/00-01-08 + *
      • + *
      + */ public abstract class CharSeqHelper { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/CharSeqHolder.java b/corba/src/java.corba/share/classes/org/omg/CORBA/CharSeqHolder.java index ab2196a9897..739a1281bcb 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/CharSeqHolder.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/CharSeqHolder.java @@ -26,14 +26,14 @@ package org.omg.CORBA; /** -* The Holder for CharSeq. For more information on -* Holder files, see -* "Generated Files: Holder Files".

      -* org/omg/CORBA/CharSeqHolder.java -* Generated by the IDL-to-Java compiler (portable), version "3.0" -* from streams.idl -* 13 May 1999 22:41:36 o'clock GMT+00:00 -*/ + * The Holder for {@code CharSeq}. For more information on + * Holder files, see + * "Generated Files: Holder Files".

      + * org/omg/CORBA/CharSeqHolder.java + * Generated by the IDL-to-Java compiler (portable), version "3.0" + * from streams.idl + * 13 May 1999 22:41:36 o'clock GMT+00:00 + */ public final class CharSeqHolder implements org.omg.CORBA.portable.Streamable { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/CompletionStatusHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/CompletionStatusHelper.java index f4aaba05db3..1be74d5d92c 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/CompletionStatusHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/CompletionStatusHelper.java @@ -26,13 +26,13 @@ package org.omg.CORBA; /** -* The Helper for CompletionStatus. For more information on -* Helper files, see -* "Generated Files: Helper Files".

      -* org/omg/CORBA/CompletionStatusHelper.java -* Generated by the IDL-to-Java compiler (portable), version "3.0" -* 03 June 1999 11:52:03 o'clock GMT+00:00 -*/ + * The Helper for {@code CompletionStatus}. For more information on + * Helper files, see + * "Generated Files: Helper Files".

      + * org/omg/CORBA/CompletionStatusHelper.java + * Generated by the IDL-to-Java compiler (portable), version "3.0" + * 03 June 1999 11:52:03 o'clock GMT+00:00 + */ abstract public class CompletionStatusHelper { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/Current.java b/corba/src/java.corba/share/classes/org/omg/CORBA/Current.java index d5e081557e0..a71334946e7 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/Current.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/Current.java @@ -26,16 +26,16 @@ package org.omg.CORBA; /** -* Interfaces derived from the Current interface enable ORB and CORBA +* Interfaces derived from the {@code Current} interface enable ORB and CORBA * services to provide access to information (context) associated with * the thread of execution in which they are running. This information * is accessed in a structured manner using interfaces derived from the -* Current interface defined in the CORBA module. +* {@code Current} interface defined in the CORBA module. * *

      Each ORB or CORBA service that needs its own context derives an -* interface from the CORBA module's Current. Users of the -* service can obtain an instance of the appropriate Current -* interface by invoking ORB::resolve_initial_references.

      +* interface from the CORBA module's {@code Current}. Users of the +* service can obtain an instance of the appropriate {@code Current} +* interface by invoking {@code ORB::resolve_initial_references}.

      * * org/omg/CORBA/Current.java * Generated by the IDL-to-Java compiler (portable), version "3.0" diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/CurrentHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/CurrentHelper.java index b614816d643..f838de5d9f3 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/CurrentHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/CurrentHelper.java @@ -26,14 +26,14 @@ package org.omg.CORBA; /** -* The Helper for Current. For more information on -* Helper files, see -* "Generated Files: Helper Files".

      -* org/omg/CORBA/CurrentHelper.java -* Generated by the IDL-to-Java compiler (portable), version "3.0" -* from ../../../../../src/share/classes/org/omg/PortableServer/corba.idl -* Saturday, July 17, 1999 12:26:21 AM PDT -*/ + * The Helper for {@code Current}. For more information on + * Helper files, see + * "Generated Files: Helper Files".

      + * org/omg/CORBA/CurrentHelper.java + * Generated by the IDL-to-Java compiler (portable), version "3.0" + * from ../../../../../src/share/classes/org/omg/PortableServer/corba.idl + * Saturday, July 17, 1999 12:26:21 AM PDT + */ abstract public class CurrentHelper { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/CurrentHolder.java b/corba/src/java.corba/share/classes/org/omg/CORBA/CurrentHolder.java index d842b084253..74f16d3ab6b 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/CurrentHolder.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/CurrentHolder.java @@ -25,14 +25,14 @@ package org.omg.CORBA; /** -* The Holder for Current. For more information on -* Holder files, see -* "Generated Files: Holder Files".

      -* org/omg/CORBA/CurrentHolder.java -* Generated by the IDL-to-Java compiler (portable), version "3.0" -* from ../../../../../src/share/classes/org/omg/PortableServer/corba.idl -* Saturday, July 17, 1999 12:26:21 AM PDT -*/ + * The Holder for {@code Current}. For more information on + * Holder files, see + * "Generated Files: Holder Files".

      + * org/omg/CORBA/CurrentHolder.java + * Generated by the IDL-to-Java compiler (portable), version "3.0" + * from ../../../../../src/share/classes/org/omg/PortableServer/corba.idl + * Saturday, July 17, 1999 12:26:21 AM PDT + */ public final class CurrentHolder implements org.omg.CORBA.portable.Streamable { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/CurrentOperations.java b/corba/src/java.corba/share/classes/org/omg/CORBA/CurrentOperations.java index fc3017b173d..f058e662647 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/CurrentOperations.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/CurrentOperations.java @@ -26,15 +26,15 @@ package org.omg.CORBA; /** -* The interface for Current. For more information on -* Operations interfaces, see -* "Generated Files". -* -* org/omg/CORBA/CurrentOperations.java -* Generated by the IDL-to-Java compiler (portable), version "3.0" -* from ../../../../../src/share/classes/org/omg/PortableServer/corba.idl -* Saturday, July 17, 1999 12:26:21 AM PDT. -*/ + * The interface for {@code Current}. For more information on + * Operations interfaces, see + * "Generated Files". + * + * org/omg/CORBA/CurrentOperations.java + * Generated by the IDL-to-Java compiler (portable), version "3.0" + * from ../../../../../src/share/classes/org/omg/PortableServer/corba.idl + * Saturday, July 17, 1999 12:26:21 AM PDT. + */ public interface CurrentOperations { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/CustomMarshal.java b/corba/src/java.corba/share/classes/org/omg/CORBA/CustomMarshal.java index 54da67847e4..793739105ef 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/CustomMarshal.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/CustomMarshal.java @@ -34,7 +34,7 @@ import org.omg.CORBA.DataInputStream; * as a custom value type's implicit base class, although the custom * valuetype does not actually inherit it in IDL. The implementer * of a custom value type shall provide an implementation of the - * CustomMarshal operations. The manner in which this is done is + * {@code CustomMarshal} operations. The manner in which this is done is * specified in the IDL to Java langauge mapping. Each custom * marshaled value type shall have its own implementation. * @see DataInputStream diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/DefinitionKindHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/DefinitionKindHelper.java index 0c5e013c9af..945ceebf379 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/DefinitionKindHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/DefinitionKindHelper.java @@ -26,14 +26,14 @@ package org.omg.CORBA; /** -* The Helper for DefinitionKind. For more information on -* Helper files, see -* "Generated Files: Helper Files".

      -* org/omg/CORBA/DefinitionKindHelper.java -* Generated by the IDL-to-Java compiler (portable), version "3.0" -* from ir.idl -* 03 June 1999 11:33:43 o'clock GMT+00:00 -*/ + * The Helper for {@code DefinitionKind}. For more information on + * Helper files, see + * "Generated Files: Helper Files".

      + * org/omg/CORBA/DefinitionKindHelper.java + * Generated by the IDL-to-Java compiler (portable), version "3.0" + * from ir.idl + * 03 June 1999 11:33:43 o'clock GMT+00:00 + */ abstract public class DefinitionKindHelper { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/DomainManager.java b/corba/src/java.corba/share/classes/org/omg/CORBA/DomainManager.java index f2a207f9492..2bdc89f9147 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/DomainManager.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/DomainManager.java @@ -25,11 +25,12 @@ package org.omg.CORBA; -/** Provides mechanisms for establishing and navigating relationships to +/** + * Provides mechanisms for establishing and navigating relationships to * superior and subordinate domains, as well as for creating and accessing - * policies. The DomainManager has associated with it the policy - * objects for a - * particular domain. The domain manager also records the membership of + * policies. The {@code DomainManager} has associated with it the policy + * objects for a particular domain. + * The domain manager also records the membership of * the domain and provides the means to add and remove members. The domain * manager is itself a member of a domain, possibly the domain it manages. * The domain manager provides mechanisms for establishing and navigating diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/DomainManagerOperations.java b/corba/src/java.corba/share/classes/org/omg/CORBA/DomainManagerOperations.java index cb62697cc3d..4324b1b6136 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/DomainManagerOperations.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/DomainManagerOperations.java @@ -26,9 +26,9 @@ package org.omg.CORBA; /** - * Provides the DomainManager with the means to access policies. + * Provides the {@code DomainManager} with the means to access policies. *

      - * The DomainManager has associated with it the policy objects for a + * The {@code DomainManager} has associated with it the policy objects for a * particular domain. The domain manager also records the membership of * the domain and provides the means to add and remove members. The domain * manager is itself a member of a domain, possibly the domain it manages. @@ -39,11 +39,12 @@ package org.omg.CORBA; public interface DomainManagerOperations { - /** This returns the policy of the specified type for objects in + /** + * This returns the policy of the specified type for objects in * this domain. The types of policies available are domain specific. * See the CORBA specification for a list of standard ORB policies. * - *@param policy_type Type of policy to request + * @param policy_type Type of policy to request */ public org.omg.CORBA.Policy get_domain_policy(int policy_type); } diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/DoubleHolder.java b/corba/src/java.corba/share/classes/org/omg/CORBA/DoubleHolder.java index e1e85768711..3d1cd7300b5 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/DoubleHolder.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/DoubleHolder.java @@ -30,47 +30,47 @@ import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; /** - * The Holder for Double. For more information on + * The Holder for {@code Double}. For more information on * Holder files, see * "Generated Files: Holder Files".

      - * A Holder class for a double + * A Holder class for a {@code double} * that is used to store "out" and "inout" parameters in IDL methods. - * If an IDL method signature has an IDL double as an "out" + * If an IDL method signature has an IDL {@code double} as an "out" * or "inout" parameter, the programmer must pass an instance of - * DoubleHolder as the corresponding + * {@code DoubleHolder} as the corresponding * parameter in the method invocation; for "inout" parameters, the programmer * must also fill the "in" value to be sent to the server. * Before the method invocation returns, the ORB will fill in the * value corresponding to the "out" value returned from the server. *

      - * If myDoubleHolder is an instance of DoubleHolder, - * the value stored in its value field can be accessed with - * myDoubleHolder.value. + * If {@code myDoubleHolder} is an instance of {@code DoubleHolder}, + * the value stored in its {@code value} field can be accessed with + * {@code myDoubleHolder.value}. * * @since JDK1.2 */ public final class DoubleHolder implements Streamable { /** - * The double value held by this DoubleHolder + * The {@code double} value held by this {@code DoubleHolder} * object. */ public double value; /** - * Constructs a new DoubleHolder object with its - * value field initialized to 0.0. + * Constructs a new {@code DoubleHolder} object with its + * {@code value} field initialized to 0.0. */ public DoubleHolder() { } /** - * Constructs a new DoubleHolder object for the given - * double. - * @param initial the double with which to initialize - * the value field of the new - * DoubleHolder object + * Constructs a new {@code DoubleHolder} object for the given + * {@code double}. + * @param initial the {@code double} with which to initialize + * the {@code value} field of the new + * {@code DoubleHolder} object */ public DoubleHolder(double initial) { value = initial; @@ -80,7 +80,7 @@ public final class DoubleHolder implements Streamable { * Read a double value from the input stream and store it in the * value member. * - * @param input the InputStream to read from. + * @param input the {@code InputStream} to read from. */ public void _read(InputStream input) { value = input.read_double(); @@ -88,18 +88,18 @@ public final class DoubleHolder implements Streamable { /** * Write the double value stored in this holder to an - * OutputStream. + * {@code OutputStream}. * - * @param output the OutputStream to write into. + * @param output the {@code OutputStream} to write into. */ public void _write(OutputStream output) { output.write_double(value); } /** - * Return the TypeCode of this holder object. + * Return the {@code TypeCode} of this holder object. * - * @return the TypeCode object. + * @return the {@code TypeCode} object. */ public org.omg.CORBA.TypeCode _type() { return ORB.init().get_primitive_tc(TCKind.tk_double); diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/DoubleSeqHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/DoubleSeqHelper.java index 307f1254b5c..5c63c491b22 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/DoubleSeqHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/DoubleSeqHelper.java @@ -26,26 +26,26 @@ package org.omg.CORBA; /** -* The Helper for DoubleSeq. For more information on -* Helper files, see -* "Generated Files: Helper Files".

      -* org/omg/CORBA/DoubleSeqHelper.java -* Generated by the IDL-to-Java compiler (portable), version "3.0" -* from streams.idl -* 13 May 1999 22:41:37 o'clock GMT+00:00 -* -* The class definition has been modified to conform to the following -* OMG specifications : -*

      -*/ + * The Helper for {@code DoubleSeq}. For more information on + * Helper files, see + * "Generated Files: Helper Files".

      + * org/omg/CORBA/DoubleSeqHelper.java + * Generated by the IDL-to-Java compiler (portable), version "3.0" + * from streams.idl + * 13 May 1999 22:41:37 o'clock GMT+00:00 + * + * The class definition has been modified to conform to the following + * OMG specifications : + *

        + *
      • ORB core as defined by CORBA 2.3.1 + * (formal/99-10-07) + *
      • + * + *
      • IDL/Java Language Mapping as defined in + * ptc/00-01-08 + *
      • + *
      + */ public abstract class DoubleSeqHelper { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/DoubleSeqHolder.java b/corba/src/java.corba/share/classes/org/omg/CORBA/DoubleSeqHolder.java index 45c778a9ffa..d71651c6877 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/DoubleSeqHolder.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/DoubleSeqHolder.java @@ -26,14 +26,14 @@ package org.omg.CORBA; /** -* The Holder for DoubleSeq. For more information on -* Holder files, see -* "Generated Files: Holder Files".

      -* org/omg/CORBA/DoubleSeqHolder.java -* Generated by the IDL-to-Java compiler (portable), version "3.0" -* from streams.idl -* 13 May 1999 22:41:37 o'clock GMT+00:00 -*/ + * The Holder for {@code DoubleSeq}. For more information on + * Holder files, see + * "Generated Files: Holder Files".

      + * org/omg/CORBA/DoubleSeqHolder.java + * Generated by the IDL-to-Java compiler (portable), version "3.0" + * from streams.idl + * 13 May 1999 22:41:37 o'clock GMT+00:00 + */ public final class DoubleSeqHolder implements org.omg.CORBA.portable.Streamable { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/DynAny.java b/corba/src/java.corba/share/classes/org/omg/CORBA/DynAny.java index 5d0af777e54..0d45b25b29e 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/DynAny.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/DynAny.java @@ -27,367 +27,368 @@ package org.omg.CORBA; -/** Enables org.omg.CORBA.Any values to be dynamically +/** + * Enables {@code org.omg.CORBA.Any} values to be dynamically * interpreted (traversed) and - * constructed. A DynAny object is associated with a data value - * which may correspond to a copy of the value inserted into an Any. - * The DynAny APIs enable traversal of the data value associated with an - * Any at runtime and extraction of the primitive constituents of the - * data value. + * constructed. A {@code DynAny} object is associated with a data value + * which may correspond to a copy of the value inserted into an {@code Any}. + * The {@code DynAny} APIs enable traversal of the data value associated with an + * Any at runtime and extraction of the primitive constituents of the + * data value. * @deprecated Use the new DynAny instead */ @Deprecated public interface DynAny extends org.omg.CORBA.Object { /** - * Returns the TypeCode of the object inserted into - * this DynAny. + * Returns the {@code TypeCode} of the object inserted into + * this {@code DynAny}. * - * @return the TypeCode object. + * @return the {@code TypeCode} object. */ public org.omg.CORBA.TypeCode type() ; /** * Copy the contents from one Dynamic Any into another. * - * @param dyn_any the DynAny object whose contents - * are assigned to this DynAny. + * @param dyn_any the {@code DynAny} object whose contents + * are assigned to this {@code DynAny}. * @throws org.omg.CORBA.DynAnyPackage.Invalid if the source - * DynAny is invalid + * {@code DynAny} is invalid */ public void assign(org.omg.CORBA.DynAny dyn_any) throws org.omg.CORBA.DynAnyPackage.Invalid; /** - * Make a DynAny object from an Any + * Make a {@code DynAny} object from an {@code Any} * object. * - * @param value the Any object. + * @param value the {@code Any} object. * @throws org.omg.CORBA.DynAnyPackage.Invalid if the source - * Any object is empty or bad + * {@code Any} object is empty or bad */ public void from_any(org.omg.CORBA.Any value) throws org.omg.CORBA.DynAnyPackage.Invalid; /** - * Convert a DynAny object to an Any + * Convert a {@code DynAny} object to an {@code Any} * object. * - * @return the Any object. + * @return the {@code Any} object. * @throws org.omg.CORBA.DynAnyPackage.Invalid if this - * DynAny is empty or bad. + * {@code DynAny} is empty or bad. * created or does not contain a meaningful value */ public org.omg.CORBA.Any to_any() throws org.omg.CORBA.DynAnyPackage.Invalid; /** - * Destroys this DynAny object and frees any resources + * Destroys this {@code DynAny} object and frees any resources * used to represent the data value associated with it. This method - * also destroys all DynAny objects obtained from it. + * also destroys all {@code DynAny} objects obtained from it. *

      - * Destruction of DynAny objects should be handled with + * Destruction of {@code DynAny} objects should be handled with * care, taking into account issues dealing with the representation of - * data values associated with DynAny objects. A programmer - * who wants to destroy a DynAny object but still be able + * data values associated with {@code DynAny} objects. A programmer + * who wants to destroy a {@code DynAny} object but still be able * to manipulate some component of the data value associated with it, - * should first create a DynAny object for the component - * and then make a copy of the created DynAny object. + * should first create a {@code DynAny} object for the component + * and then make a copy of the created {@code DynAny} object. */ public void destroy() ; /** - * Clones this DynAny object. + * Clones this {@code DynAny} object. * - * @return a copy of this DynAny object + * @return a copy of this {@code DynAny} object */ public org.omg.CORBA.DynAny copy() ; /** - * Inserts the given boolean as the value for this - * DynAny object. + * Inserts the given {@code boolean} as the value for this + * {@code DynAny} object. * - *

      If this method is called on a constructed DynAny + *

      If this method is called on a constructed {@code DynAny} * object, it initializes the next component of the constructed data - * value associated with this DynAny object. + * value associated with this {@code DynAny} object. * - * @param value the boolean to insert into this - * DynAny object + * @param value the {@code boolean} to insert into this + * {@code DynAny} object * @throws org.omg.CORBA.DynAnyPackage.InvalidValue * if the value inserted is not consistent with the type - * of the accessed component in this DynAny object + * of the accessed component in this {@code DynAny} object */ public void insert_boolean(boolean value) throws org.omg.CORBA.DynAnyPackage.InvalidValue; /** - * Inserts the given byte as the value for this - * DynAny object. + * Inserts the given {@code byte} as the value for this + * {@code DynAny} object. * - *

      If this method is called on a constructed DynAny + *

      If this method is called on a constructed {@code DynAny} * object, it initializes the next component of the constructed data - * value associated with this DynAny object. + * value associated with this {@code DynAny} object. * - * @param value the byte to insert into this - * DynAny object + * @param value the {@code byte} to insert into this + * {@code DynAny} object * @throws org.omg.CORBA.DynAnyPackage.InvalidValue * if the value inserted is not consistent with the type - * of the accessed component in this DynAny object + * of the accessed component in this {@code DynAny} object */ public void insert_octet(byte value) throws org.omg.CORBA.DynAnyPackage.InvalidValue; /** - * Inserts the given char as the value for this - * DynAny object. + * Inserts the given {@code char} as the value for this + * {@code DynAny} object. * - *

      If this method is called on a constructed DynAny + *

      If this method is called on a constructed {@code DynAny} * object, it initializes the next component of the constructed data - * value associated with this DynAny object. + * value associated with this {@code DynAny} object. * - * @param value the char to insert into this - * DynAny object + * @param value the {@code char} to insert into this + * {@code DynAny} object * @throws org.omg.CORBA.DynAnyPackage.InvalidValue * if the value inserted is not consistent with the type - * of the accessed component in this DynAny object + * of the accessed component in this {@code DynAny} object */ public void insert_char(char value) throws org.omg.CORBA.DynAnyPackage.InvalidValue; /** - * Inserts the given short as the value for this - * DynAny object. + * Inserts the given {@code short} as the value for this + * {@code DynAny} object. * - *

      If this method is called on a constructed DynAny + *

      If this method is called on a constructed {@code DynAny} * object, it initializes the next component of the constructed data - * value associated with this DynAny object. + * value associated with this {@code DynAny} object. * - * @param value the short to insert into this - * DynAny object + * @param value the {@code short} to insert into this + * {@code DynAny} object * @throws org.omg.CORBA.DynAnyPackage.InvalidValue * if the value inserted is not consistent with the type - * of the accessed component in this DynAny object + * of the accessed component in this {@code DynAny} object */ public void insert_short(short value) throws org.omg.CORBA.DynAnyPackage.InvalidValue; /** - * Inserts the given short as the value for this - * DynAny object. + * Inserts the given {@code short} as the value for this + * {@code DynAny} object. * - *

      If this method is called on a constructed DynAny + *

      If this method is called on a constructed {@code DynAny} * object, it initializes the next component of the constructed data - * value associated with this DynAny object. + * value associated with this {@code DynAny} object. * - * @param value the short to insert into this - * DynAny object + * @param value the {@code short} to insert into this + * {@code DynAny} object * @throws org.omg.CORBA.DynAnyPackage.InvalidValue * if the value inserted is not consistent with the type - * of the accessed component in this DynAny object + * of the accessed component in this {@code DynAny} object */ public void insert_ushort(short value) throws org.omg.CORBA.DynAnyPackage.InvalidValue; /** - * Inserts the given int as the value for this - * DynAny object. + * Inserts the given {@code int} as the value for this + * {@code DynAny} object. * - *

      If this method is called on a constructed DynAny + *

      If this method is called on a constructed {@code DynAny} * object, it initializes the next component of the constructed data - * value associated with this DynAny object. + * value associated with this {@code DynAny} object. * - * @param value the int to insert into this - * DynAny object + * @param value the {@code int} to insert into this + * {@code DynAny} object * @throws org.omg.CORBA.DynAnyPackage.InvalidValue * if the value inserted is not consistent with the type - * of the accessed component in this DynAny object + * of the accessed component in this {@code DynAny} object */ public void insert_long(int value) throws org.omg.CORBA.DynAnyPackage.InvalidValue; /** - * Inserts the given int as the value for this - * DynAny object. + * Inserts the given {@code int} as the value for this + * {@code DynAny} object. * - *

      If this method is called on a constructed DynAny + *

      If this method is called on a constructed {@code DynAny} * object, it initializes the next component of the constructed data - * value associated with this DynAny object. + * value associated with this {@code DynAny} object. * - * @param value the int to insert into this - * DynAny object + * @param value the {@code int} to insert into this + * {@code DynAny} object * @throws org.omg.CORBA.DynAnyPackage.InvalidValue * if the value inserted is not consistent with the type - * of the accessed component in this DynAny object + * of the accessed component in this {@code DynAny} object */ public void insert_ulong(int value) throws org.omg.CORBA.DynAnyPackage.InvalidValue; /** - * Inserts the given float as the value for this - * DynAny object. + * Inserts the given {@code float} as the value for this + * {@code DynAny} object. * - *

      If this method is called on a constructed DynAny + *

      If this method is called on a constructed {@code DynAny} * object, it initializes the next component of the constructed data - * value associated with this DynAny object. + * value associated with this {@code DynAny} object. * - * @param value the float to insert into this - * DynAny object + * @param value the {@code float} to insert into this + * {@code DynAny} object * @throws org.omg.CORBA.DynAnyPackage.InvalidValue * if the value inserted is not consistent with the type - * of the accessed component in this DynAny object + * of the accessed component in this {@code DynAny} object */ public void insert_float(float value) throws org.omg.CORBA.DynAnyPackage.InvalidValue; /** - * Inserts the given double as the value for this - * DynAny object. + * Inserts the given {@code double} as the value for this + * {@code DynAny} object. * - *

      If this method is called on a constructed DynAny + *

      If this method is called on a constructed {@code DynAny} * object, it initializes the next component of the constructed data - * value associated with this DynAny object. + * value associated with this {@code DynAny} object. * - * @param value the double to insert into this - * DynAny object + * @param value the {@code double} to insert into this + * {@code DynAny} object * @throws org.omg.CORBA.DynAnyPackage.InvalidValue * if the value inserted is not consistent with the type - * of the accessed component in this DynAny object + * of the accessed component in this {@code DynAny} object */ public void insert_double(double value) throws org.omg.CORBA.DynAnyPackage.InvalidValue; /** - * Inserts the given String object as the value for this - * DynAny object. + * Inserts the given {@code String} object as the value for this + * {@code DynAny} object. * - *

      If this method is called on a constructed DynAny + *

      If this method is called on a constructed {@code DynAny} * object, it initializes the next component of the constructed data - * value associated with this DynAny object. + * value associated with this {@code DynAny} object. * - * @param value the String to insert into this - * DynAny object + * @param value the {@code String} to insert into this + * {@code DynAny} object * @throws org.omg.CORBA.DynAnyPackage.InvalidValue * if the value inserted is not consistent with the type - * of the accessed component in this DynAny object + * of the accessed component in this {@code DynAny} object */ public void insert_string(String value) throws org.omg.CORBA.DynAnyPackage.InvalidValue; /** - * Inserts the given org.omg.CORBA.Object as the value for this - * DynAny object. + * Inserts the given {@code org.omg.CORBA.Object} as the value for this + * {@code DynAny} object. * - *

      If this method is called on a constructed DynAny + *

      If this method is called on a constructed {@code DynAny} * object, it initializes the next component of the constructed data - * value associated with this DynAny object. + * value associated with this {@code DynAny} object. * - * @param value the org.omg.CORBA.Object to insert into this - * DynAny object + * @param value the {@code org.omg.CORBA.Object} to insert into this + * {@code DynAny} object * @throws org.omg.CORBA.DynAnyPackage.InvalidValue * if the value inserted is not consistent with the type - * of the accessed component in this DynAny object + * of the accessed component in this {@code DynAny} object */ public void insert_reference(org.omg.CORBA.Object value) throws org.omg.CORBA.DynAnyPackage.InvalidValue; /** - * Inserts the given org.omg.CORBA.TypeCode as the value for this - * DynAny object. + * Inserts the given {@code org.omg.CORBA.TypeCode} as the value for this + * {@code DynAny} object. * - *

      If this method is called on a constructed DynAny + *

      If this method is called on a constructed {@code DynAny} * object, it initializes the next component of the constructed data - * value associated with this DynAny object. + * value associated with this {@code DynAny} object. * - * @param value the org.omg.CORBA.TypeCode to insert into this - * DynAny object + * @param value the {@code org.omg.CORBA.TypeCode} to insert into this + * {@code DynAny} object * @throws org.omg.CORBA.DynAnyPackage.InvalidValue * if the value inserted is not consistent with the type - * of the accessed component in this DynAny object + * of the accessed component in this {@code DynAny} object */ public void insert_typecode(org.omg.CORBA.TypeCode value) throws org.omg.CORBA.DynAnyPackage.InvalidValue; /** - * Inserts the given long as the value for this - * DynAny object. + * Inserts the given {@code long} as the value for this + * {@code DynAny} object. * - *

      If this method is called on a constructed DynAny + *

      If this method is called on a constructed {@code DynAny} * object, it initializes the next component of the constructed data - * value associated with this DynAny object. + * value associated with this {@code DynAny} object. * - * @param value the long to insert into this - * DynAny object + * @param value the {@code long} to insert into this + * {@code DynAny} object * @throws org.omg.CORBA.DynAnyPackage.InvalidValue * if the value inserted is not consistent with the type - * of the accessed component in this DynAny object + * of the accessed component in this {@code DynAny} object */ public void insert_longlong(long value) throws org.omg.CORBA.DynAnyPackage.InvalidValue; /** - * Inserts the given long as the value for this - * DynAny object. + * Inserts the given {@code long} as the value for this + * {@code DynAny} object. * - *

      If this method is called on a constructed DynAny + *

      If this method is called on a constructed {@code DynAny} * object, it initializes the next component of the constructed data - * value associated with this DynAny object. + * value associated with this {@code DynAny} object. * - * @param value the long to insert into this - * DynAny object + * @param value the {@code long} to insert into this + * {@code DynAny} object * @throws org.omg.CORBA.DynAnyPackage.InvalidValue * if the value inserted is not consistent with the type - * of the accessed component in this DynAny object + * of the accessed component in this {@code DynAny} object */ public void insert_ulonglong(long value) throws org.omg.CORBA.DynAnyPackage.InvalidValue; /** - * Inserts the given char as the value for this - * DynAny object. + * Inserts the given {@code char} as the value for this + * {@code DynAny} object. * - *

      If this method is called on a constructed DynAny + *

      If this method is called on a constructed {@code DynAny} * object, it initializes the next component of the constructed data - * value associated with this DynAny object. + * value associated with this {@code DynAny} object. * - * @param value the char to insert into this - * DynAny object + * @param value the {@code char} to insert into this + * {@code DynAny} object * @throws org.omg.CORBA.DynAnyPackage.InvalidValue * if the value inserted is not consistent with the type - * of the accessed component in this DynAny object + * of the accessed component in this {@code DynAny} object */ public void insert_wchar(char value) throws org.omg.CORBA.DynAnyPackage.InvalidValue; /** - * Inserts the given String as the value for this - * DynAny object. + * Inserts the given {@code String} as the value for this + * {@code DynAny} object. * - *

      If this method is called on a constructed DynAny + *

      If this method is called on a constructed {@code DynAny} * object, it initializes the next component of the constructed data - * value associated with this DynAny object. + * value associated with this {@code DynAny} object. * - * @param value the String to insert into this - * DynAny object + * @param value the {@code String} to insert into this + * {@code DynAny} object * @throws org.omg.CORBA.DynAnyPackage.InvalidValue * if the value inserted is not consistent with the type - * of the accessed component in this DynAny object + * of the accessed component in this {@code DynAny} object */ public void insert_wstring(String value) throws org.omg.CORBA.DynAnyPackage.InvalidValue; /** - * Inserts the given org.omg.CORBA.Any object as the value for this - * DynAny object. + * Inserts the given {@code org.omg.CORBA.Any} object as the value for this + * {@code DynAny} object. * - *

      If this method is called on a constructed DynAny + *

      If this method is called on a constructed {@code DynAny} * object, it initializes the next component of the constructed data - * value associated with this DynAny object. + * value associated with this {@code DynAny} object. * - * @param value the org.omg.CORBA.Any object to insert into this - * DynAny object + * @param value the {@code org.omg.CORBA.Any} object to insert into this + * {@code DynAny} object * @throws org.omg.CORBA.DynAnyPackage.InvalidValue * if the value inserted is not consistent with the type - * of the accessed component in this DynAny object + * of the accessed component in this {@code DynAny} object */ public void insert_any(org.omg.CORBA.Any value) throws org.omg.CORBA.DynAnyPackage.InvalidValue; @@ -395,32 +396,32 @@ public interface DynAny extends org.omg.CORBA.Object // orbos 98-01-18: Objects By Value -- begin /** - * Inserts the given java.io.Serializable object as the value for this - * DynAny object. + * Inserts the given {@code java.io.Serializable} object as the value for this + * {@code DynAny} object. * - *

      If this method is called on a constructed DynAny + *

      If this method is called on a constructed {@code DynAny} * object, it initializes the next component of the constructed data - * value associated with this DynAny object. + * value associated with this {@code DynAny} object. * - * @param value the java.io.Serializable object to insert into this - * DynAny object + * @param value the {@code java.io.Serializable} object to insert into this + * {@code DynAny} object * @throws org.omg.CORBA.DynAnyPackage.InvalidValue * if the value inserted is not consistent with the type - * of the accessed component in this DynAny object + * of the accessed component in this {@code DynAny} object */ public void insert_val(java.io.Serializable value) throws org.omg.CORBA.DynAnyPackage.InvalidValue; /** - * Retrieves the java.io.Serializable object contained - * in this DynAny object. + * Retrieves the {@code java.io.Serializable} object contained + * in this {@code DynAny} object. * - * @return the java.io.Serializable object that is the - * value for this DynAny object + * @return the {@code java.io.Serializable} object that is the + * value for this {@code DynAny} object * @throws org.omg.CORBA.DynAnyPackage.TypeMismatch * if the type code of the accessed component in this - * DynAny object is not equivalent to - * the type code for a java.io.Serializable object + * {@code DynAny} object is not equivalent to + * the type code for a {@code java.io.Serializable} object */ public java.io.Serializable get_val() throws org.omg.CORBA.DynAnyPackage.TypeMismatch; @@ -428,284 +429,284 @@ public interface DynAny extends org.omg.CORBA.Object // orbos 98-01-18: Objects By Value -- end /** - * Retrieves the boolean contained - * in this DynAny object. + * Retrieves the {@code boolean} contained + * in this {@code DynAny} object. * - * @return the boolean that is the - * value for this DynAny object + * @return the {@code boolean} that is the + * value for this {@code DynAny} object * @throws org.omg.CORBA.DynAnyPackage.TypeMismatch * if the type code of the accessed component in this - * DynAny object is not equivalent to - * the type code for a boolean + * {@code DynAny} object is not equivalent to + * the type code for a {@code boolean} */ public boolean get_boolean() throws org.omg.CORBA.DynAnyPackage.TypeMismatch; /** - * Retrieves the byte contained - * in this DynAny object. + * Retrieves the {@code byte} contained + * in this {@code DynAny} object. * - * @return the byte that is the - * value for this DynAny object + * @return the {@code byte} that is the + * value for this {@code DynAny} object * @throws org.omg.CORBA.DynAnyPackage.TypeMismatch * if the type code of the accessed component in this - * DynAny object is not equivalent to - * the type code for a byte + * {@code DynAny} object is not equivalent to + * the type code for a {@code byte} */ public byte get_octet() throws org.omg.CORBA.DynAnyPackage.TypeMismatch; /** - * Retrieves the char contained - * in this DynAny object. + * Retrieves the {@code char} contained + * in this {@code DynAny} object. * - * @return the char that is the - * value for this DynAny object + * @return the {@code char} that is the + * value for this {@code DynAny} object * @throws org.omg.CORBA.DynAnyPackage.TypeMismatch * if the type code of the accessed component in this - * DynAny object is not equivalent to - * the type code for a char + * {@code DynAny} object is not equivalent to + * the type code for a {@code char} */ public char get_char() throws org.omg.CORBA.DynAnyPackage.TypeMismatch; /** - * Retrieves the short contained - * in this DynAny object. + * Retrieves the {@code short} contained + * in this {@code DynAny} object. * - * @return the short that is the - * value for this DynAny object + * @return the {@code short} that is the + * value for this {@code DynAny} object * @throws org.omg.CORBA.DynAnyPackage.TypeMismatch * if the type code of the accessed component in this - * DynAny object is not equivalent to - * the type code for a short + * {@code DynAny} object is not equivalent to + * the type code for a {@code short} */ public short get_short() throws org.omg.CORBA.DynAnyPackage.TypeMismatch; /** - * Retrieves the short contained - * in this DynAny object. + * Retrieves the {@code short} contained + * in this {@code DynAny} object. * - * @return the short that is the - * value for this DynAny object + * @return the {@code short} that is the + * value for this {@code DynAny} object * @throws org.omg.CORBA.DynAnyPackage.TypeMismatch * if the type code of the accessed component in this - * DynAny object is not equivalent to - * the type code for a short + * {@code DynAny} object is not equivalent to + * the type code for a {@code short} */ public short get_ushort() throws org.omg.CORBA.DynAnyPackage.TypeMismatch; /** - * Retrieves the int contained - * in this DynAny object. + * Retrieves the {@code int} contained + * in this {@code DynAny} object. * - * @return the int that is the - * value for this DynAny object + * @return the {@code int} that is the + * value for this {@code DynAny} object * @throws org.omg.CORBA.DynAnyPackage.TypeMismatch * if the type code of the accessed component in this - * DynAny object is not equivalent to - * the type code for a int + * {@code DynAny} object is not equivalent to + * the type code for a {@code int} */ public int get_long() throws org.omg.CORBA.DynAnyPackage.TypeMismatch; /** - * Retrieves the int contained - * in this DynAny object. + * Retrieves the {@code int} contained + * in this {@code DynAny} object. * - * @return the int that is the - * value for this DynAny object + * @return the {@code int} that is the + * value for this {@code DynAny} object * @throws org.omg.CORBA.DynAnyPackage.TypeMismatch * if the type code of the accessed component in this - * DynAny object is not equivalent to - * the type code for a int + * {@code DynAny} object is not equivalent to + * the type code for a {@code int} */ public int get_ulong() throws org.omg.CORBA.DynAnyPackage.TypeMismatch; /** - * Retrieves the float contained - * in this DynAny object. + * Retrieves the {@code float} contained + * in this {@code DynAny} object. * - * @return the float that is the - * value for this DynAny object + * @return the {@code float} that is the + * value for this {@code DynAny} object * @throws org.omg.CORBA.DynAnyPackage.TypeMismatch * if the type code of the accessed component in this - * DynAny object is not equivalent to - * the type code for a float + * {@code DynAny} object is not equivalent to + * the type code for a {@code float} */ public float get_float() throws org.omg.CORBA.DynAnyPackage.TypeMismatch; /** - * Retrieves the double contained - * in this DynAny object. + * Retrieves the {@code double} contained + * in this {@code DynAny} object. * - * @return the double that is the - * value for this DynAny object + * @return the {@code double} that is the + * value for this {@code DynAny} object * @throws org.omg.CORBA.DynAnyPackage.TypeMismatch * if the type code of the accessed component in this - * DynAny object is not equivalent to - * the type code for a double + * {@code DynAny} object is not equivalent to + * the type code for a {@code double} */ public double get_double() throws org.omg.CORBA.DynAnyPackage.TypeMismatch; /** - * Retrieves the String contained - * in this DynAny object. + * Retrieves the {@code String} contained + * in this {@code DynAny} object. * - * @return the String that is the - * value for this DynAny object + * @return the {@code String} that is the + * value for this {@code DynAny} object * @throws org.omg.CORBA.DynAnyPackage.TypeMismatch * if the type code of the accessed component in this - * DynAny object is not equivalent to - * the type code for a String + * {@code DynAny} object is not equivalent to + * the type code for a {@code String} */ public String get_string() throws org.omg.CORBA.DynAnyPackage.TypeMismatch; /** - * Retrieves the org.omg.CORBA.Other contained - * in this DynAny object. + * Retrieves the {@code org.omg.CORBA.Other} contained + * in this {@code DynAny} object. * - * @return the org.omg.CORBA.Other that is the - * value for this DynAny object + * @return the {@code org.omg.CORBA.Other} that is the + * value for this {@code DynAny} object * @throws org.omg.CORBA.DynAnyPackage.TypeMismatch * if the type code of the accessed component in this - * DynAny object is not equivalent to - * the type code for an org.omg.CORBA.Other + * {@code DynAny} object is not equivalent to + * the type code for an {@code org.omg.CORBA.Other} */ public org.omg.CORBA.Object get_reference() throws org.omg.CORBA.DynAnyPackage.TypeMismatch; /** - * Retrieves the org.omg.CORBA.TypeCode contained - * in this DynAny object. + * Retrieves the {@code org.omg.CORBA.TypeCode} contained + * in this {@code DynAny} object. * - * @return the org.omg.CORBA.TypeCode that is the - * value for this DynAny object + * @return the {@code org.omg.CORBA.TypeCode} that is the + * value for this {@code DynAny} object * @throws org.omg.CORBA.DynAnyPackage.TypeMismatch * if the type code of the accessed component in this - * DynAny object is not equivalent to - * the type code for a org.omg.CORBA.TypeCode + * {@code DynAny} object is not equivalent to + * the type code for a {@code org.omg.CORBA.TypeCode} */ public org.omg.CORBA.TypeCode get_typecode() throws org.omg.CORBA.DynAnyPackage.TypeMismatch; /** - * Retrieves the long contained - * in this DynAny object. + * Retrieves the {@code long} contained + * in this {@code DynAny} object. * - * @return the long that is the - * value for this DynAny object + * @return the {@code long} that is the + * value for this {@code DynAny} object * @throws org.omg.CORBA.DynAnyPackage.TypeMismatch * if the type code of the accessed component in this - * DynAny object is not equivalent to - * the type code for a long + * {@code DynAny} object is not equivalent to + * the type code for a {@code long} */ public long get_longlong() throws org.omg.CORBA.DynAnyPackage.TypeMismatch; /** - * Retrieves the long contained - * in this DynAny object. + * Retrieves the {@code long} contained + * in this {@code DynAny} object. * - * @return the long that is the - * value for this DynAny object + * @return the {@code long} that is the + * value for this {@code DynAny} object * @throws org.omg.CORBA.DynAnyPackage.TypeMismatch * if the type code of the accessed component in this - * DynAny object is not equivalent to - * the type code for a long + * {@code DynAny} object is not equivalent to + * the type code for a {@code long} */ public long get_ulonglong() throws org.omg.CORBA.DynAnyPackage.TypeMismatch; /** - * Retrieves the char contained - * in this DynAny object. + * Retrieves the {@code char} contained + * in this {@code DynAny} object. * - * @return the char that is the - * value for this DynAny object + * @return the {@code char} that is the + * value for this {@code DynAny} object * @throws org.omg.CORBA.DynAnyPackage.TypeMismatch * if the type code of the accessed component in this - * DynAny object is not equivalent to - * the type code for a char + * {@code DynAny} object is not equivalent to + * the type code for a {@code char} */ public char get_wchar() throws org.omg.CORBA.DynAnyPackage.TypeMismatch; /** - * Retrieves the String contained - * in this DynAny object. + * Retrieves the {@code String} contained + * in this {@code DynAny} object. * - * @return the String that is the - * value for this DynAny object + * @return the {@code String} that is the + * value for this {@code DynAny} object * @throws org.omg.CORBA.DynAnyPackage.TypeMismatch * if the type code of the accessed component in this - * DynAny object is not equivalent to - * the type code for a String + * {@code DynAny} object is not equivalent to + * the type code for a {@code String} */ public String get_wstring() throws org.omg.CORBA.DynAnyPackage.TypeMismatch; /** - * Retrieves the org.omg.CORBA.Any contained - * in this DynAny object. + * Retrieves the {@code org.omg.CORBA.Any} contained + * in this {@code DynAny} object. * - * @return the org.omg.CORBA.Any that is the - * value for this DynAny object + * @return the {@code org.omg.CORBA.Any} that is the + * value for this {@code DynAny} object * @throws org.omg.CORBA.DynAnyPackage.TypeMismatch * if the type code of the accessed component in this - * DynAny object is not equivalent to - * the type code for an org.omg.CORBA.Any + * {@code DynAny} object is not equivalent to + * the type code for an {@code org.omg.CORBA.Any} */ public org.omg.CORBA.Any get_any() throws org.omg.CORBA.DynAnyPackage.TypeMismatch; /** - * Returns a DynAny object reference that can + * Returns a {@code DynAny} object reference that can * be used to get/set the value of the component currently accessed. - * The appropriate insert method - * can be called on the resulting DynAny object + * The appropriate {@code insert} method + * can be called on the resulting {@code DynAny} object * to initialize the component. - * The appropriate get method - * can be called on the resulting DynAny object + * The appropriate {@code get} method + * can be called on the resulting {@code DynAny} object * to extract the value of the component. * - * @return a DynAny object reference that can be + * @return a {@code DynAny} object reference that can be * used to retrieve or set the value of the component currently * accessed */ public org.omg.CORBA.DynAny current_component() ; /** - * Moves to the next component of this DynAny object. + * Moves to the next component of this {@code DynAny} object. * This method is used for iterating through the components of * a constructed type, effectively moving a pointer from one * component to the next. The pointer starts out on the first - * component when a DynAny object is created. + * component when a {@code DynAny} object is created. * - * @return true if the pointer points to a component; - * false if there are no more components or this - * DynAny is associated with a basic type rather than + * @return {@code true} if the pointer points to a component; + * {@code false} if there are no more components or this + * {@code DynAny} is associated with a basic type rather than * a constructed type */ public boolean next() ; @@ -714,12 +715,12 @@ public interface DynAny extends org.omg.CORBA.Object * Moves the internal pointer to the given index. Logically, this method * sets a new offset for this pointer. * - * @param index an int indicating the position to which + * @param index an {@code int} indicating the position to which * the pointer should move. The first position is 0. - * @return true if the pointer points to a component; - * false if there is no component at the designated - * index. If this DynAny object is associated with a - * basic type, this method returns false for any index + * @return {@code true} if the pointer points to a component; + * {@code false} if there is no component at the designated + * index. If this {@code DynAny} object is associated with a + * basic type, this method returns {@code false} for any index * other than 0. */ public boolean seek(int index) ; diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/DynArray.java b/corba/src/java.corba/share/classes/org/omg/CORBA/DynArray.java index 14559e4a681..83236a076fd 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/DynArray.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/DynArray.java @@ -27,8 +27,9 @@ package org.omg.CORBA; -/** Represents a DynAny object associated - * with an array. +/** + * Represents a {@code DynAny} object associated with an array. + * * @deprecated Use the new DynArray instead */ @Deprecated diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/DynEnum.java b/corba/src/java.corba/share/classes/org/omg/CORBA/DynEnum.java index 63f1470b6db..d98957c1425 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/DynEnum.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/DynEnum.java @@ -26,8 +26,9 @@ package org.omg.CORBA; -/** Represents a DynAny object associated - * with an IDL enum. +/** + * Represents a {@code DynAny} object associated with an IDL enum. + * * @deprecated Use the new DynEnum instead */ @Deprecated @@ -35,14 +36,14 @@ public interface DynEnum extends org.omg.CORBA.Object, org.omg.CORBA.DynAny { /** * Return the value of the IDL enum stored in this - * DynEnum as a string. + * {@code DynEnum} as a string. * * @return the stringified value. */ public String value_as_string(); /** - * Set a particular enum in this DynEnum. + * Set a particular enum in this {@code DynEnum}. * * @param arg the string corresponding to the value. */ diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/FieldNameHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/FieldNameHelper.java index 027f33e6403..9e97bcabf1e 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/FieldNameHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/FieldNameHelper.java @@ -26,13 +26,13 @@ package org.omg.CORBA; /** -* The Helper for FieldName. For more information on -* Helper files, see -* "Generated Files: Helper Files".

      -* org/omg/CORBA/FieldNameHelper.java -* Generated by the IDL-to-Java compiler (portable), version "3.0" -* 03 June 1999 11:52:03 o'clock GMT+00:00 -*/ + * The Helper for {@code FieldName}. For more information on + * Helper files, see + * "Generated Files: Helper Files".

      + * org/omg/CORBA/FieldNameHelper.java + * Generated by the IDL-to-Java compiler (portable), version "3.0" + * 03 June 1999 11:52:03 o'clock GMT+00:00 + */ abstract public class FieldNameHelper { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/FixedHolder.java b/corba/src/java.corba/share/classes/org/omg/CORBA/FixedHolder.java index d9a54fb15c7..c51e9025688 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/FixedHolder.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/FixedHolder.java @@ -31,7 +31,7 @@ import org.omg.CORBA.portable.OutputStream; /** - * The Holder for Fixed. For more information on + * The Holder for {@code Fixed}. For more information on * Holder files, see * "Generated Files: Holder Files".

      * FixedHolder is a container class for values of IDL type "fixed", @@ -69,7 +69,7 @@ public final class FixedHolder implements Streamable { * Read a fixed point value from the input stream and store it in * the value member. * - * @param input the InputStream to read from. + * @param input the {@code InputStream} to read from. */ public void _read(InputStream input) { value = input.read_fixed(); @@ -77,9 +77,9 @@ public final class FixedHolder implements Streamable { /** * Write the fixed point value stored in this holder to an - * OutputStream. + * {@code OutputStream}. * - * @param output the OutputStream to write into. + * @param output the {@code OutputStream} to write into. */ public void _write(OutputStream output) { output.write_fixed(value); @@ -87,9 +87,9 @@ public final class FixedHolder implements Streamable { /** - * Return the TypeCode of this holder object. + * Return the {@code TypeCode} of this holder object. * - * @return the TypeCode object. + * @return the {@code TypeCode} object. */ public org.omg.CORBA.TypeCode _type() { return ORB.init().get_primitive_tc(TCKind.tk_fixed); diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/FloatHolder.java b/corba/src/java.corba/share/classes/org/omg/CORBA/FloatHolder.java index b5f6710f530..3199974ec11 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/FloatHolder.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/FloatHolder.java @@ -31,45 +31,45 @@ import org.omg.CORBA.portable.OutputStream; /** - * The Holder for Float. For more information on + * The Holder for {@code Float}. For more information on * Holder files, see * "Generated Files: Holder Files".

      - * A Holder class for a float + * A Holder class for a {@code float} * that is used to store "out" and "inout" parameters in IDL methods. - * If an IDL method signature has an IDL float as an "out" + * If an IDL method signature has an IDL {@code float} as an "out" * or "inout" parameter, the programmer must pass an instance of - * FloatHolder as the corresponding + * {@code FloatHolder} as the corresponding * parameter in the method invocation; for "inout" parameters, the programmer * must also fill the "in" value to be sent to the server. * Before the method invocation returns, the ORB will fill in the * value corresponding to the "out" value returned from the server. *

      - * If myFloatHolder is an instance of FloatHolder, - * the value stored in its value field can be accessed with - * myFloatHolder.value. + * If {@code myFloatHolder} is an instance of {@code FloatHolder}, + * the value stored in its {@code value} field can be accessed with + * {@code myFloatHolder.value}. * * @since JDK1.2 */ public final class FloatHolder implements Streamable { /** - * The float value held by this FloatHolder + * The {@code float} value held by this {@code FloatHolder} * object. */ public float value; /** - * Constructs a new FloatHolder object with its - * value field initialized to 0.0. + * Constructs a new {@code FloatHolder} object with its + * {@code value} field initialized to 0.0. */ public FloatHolder() { } /** - * Constructs a new FloatHolder object for the given - * float. - * @param initial the float with which to initialize - * the value field of the new - * FloatHolder object + * Constructs a new {@code FloatHolder} object for the given + * {@code float}. + * @param initial the {@code float} with which to initialize + * the {@code value} field of the new + * {@code FloatHolder} object */ public FloatHolder(float initial) { value = initial; @@ -79,7 +79,7 @@ public final class FloatHolder implements Streamable { * Read a float from an input stream and initialize the value * member with the float value. * - * @param input the InputStream to read from. + * @param input the {@code InputStream} to read from. */ public void _read(InputStream input) { value = input.read_float(); @@ -88,16 +88,16 @@ public final class FloatHolder implements Streamable { /** * Write the float value into an output stream. * - * @param output the OutputStream to write into. + * @param output the {@code OutputStream} to write into. */ public void _write(OutputStream output) { output.write_float(value); } /** - * Return the TypeCode of this Streamable. + * Return the {@code TypeCode} of this Streamable. * - * @return the TypeCode object. + * @return the {@code TypeCode} object. */ public org.omg.CORBA.TypeCode _type() { return ORB.init().get_primitive_tc(TCKind.tk_float); diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/FloatSeqHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/FloatSeqHelper.java index 8cf9684c585..a8684b5c5d0 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/FloatSeqHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/FloatSeqHelper.java @@ -26,26 +26,26 @@ package org.omg.CORBA; /** -* The Helper for FloatSeq. For more information on -* Helper files, see -* "Generated Files: Helper Files".

      -* org/omg/CORBA/FloatSeqHelper.java -* Generated by the IDL-to-Java compiler (portable), version "3.0" -* from streams.idl -* 13 May 1999 22:41:37 o'clock GMT+00:00 -* -* The class definition has been modified to conform to the following -* OMG specifications : -*

      -*/ + * The Helper for {@code FloatSeq}. For more information on + * Helper files, see + * "Generated Files: Helper Files".

      + * org/omg/CORBA/FloatSeqHelper.java + * Generated by the IDL-to-Java compiler (portable), version "3.0" + * from streams.idl + * 13 May 1999 22:41:37 o'clock GMT+00:00 + * + * The class definition has been modified to conform to the following + * OMG specifications : + *

        + *
      • ORB core as defined by CORBA 2.3.1 + * (formal/99-10-07) + *
      • + * + *
      • IDL/Java Language Mapping as defined in + * ptc/00-01-08 + *
      • + *
      + */ public abstract class FloatSeqHelper { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/FloatSeqHolder.java b/corba/src/java.corba/share/classes/org/omg/CORBA/FloatSeqHolder.java index 98b9b21ec4a..645bbb9ecb9 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/FloatSeqHolder.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/FloatSeqHolder.java @@ -26,14 +26,14 @@ package org.omg.CORBA; /** -* The Holder for FloatSeq. For more information on -* Holder files, see -* "Generated Files: Holder Files".

      -* org/omg/CORBA/FloatSeqHolder.java -* Generated by the IDL-to-Java compiler (portable), version "3.0" -* from streams.idl -* 13 May 1999 22:41:37 o'clock GMT+00:00 -*/ + * The Holder for {@code FloatSeq}. For more information on + * Holder files, see + * "Generated Files: Holder Files".

      + * org/omg/CORBA/FloatSeqHolder.java + * Generated by the IDL-to-Java compiler (portable), version "3.0" + * from streams.idl + * 13 May 1999 22:41:37 o'clock GMT+00:00 + */ public final class FloatSeqHolder implements org.omg.CORBA.portable.Streamable { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/IDLTypeHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/IDLTypeHelper.java index 075abc11051..76bdbe42402 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/IDLTypeHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/IDLTypeHelper.java @@ -26,14 +26,14 @@ package org.omg.CORBA; /** -* The Helper for IDLType. For more information on -* Helper files, see -* "Generated Files: Helper Files".

      -* org/omg/CORBA/IDLTypeHelper.java -* Generated by the IDL-to-Java compiler (portable), version "3.0" -* from ir.idl -* 03 June 1999 11:33:44 o'clock GMT+00:00 -*/ + * The Helper for {@code IDLType}. For more information on + * Helper files, see + * "Generated Files: Helper Files".

      + * org/omg/CORBA/IDLTypeHelper.java + * Generated by the IDL-to-Java compiler (portable), version "3.0" + * from ir.idl + * 03 June 1999 11:33:44 o'clock GMT+00:00 + */ abstract public class IDLTypeHelper { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/IDLTypeOperations.java b/corba/src/java.corba/share/classes/org/omg/CORBA/IDLTypeOperations.java index 0f311205d26..ac2eabac731 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/IDLTypeOperations.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/IDLTypeOperations.java @@ -25,10 +25,10 @@ package org.omg.CORBA; /** -* The interface for IDLType. For more information on -* Operations interfaces, see -* "Generated Files: Operations files". -*/ + * The interface for {@code IDLType}. For more information on + * Operations interfaces, see + * "Generated Files: Operations files". + */ /* tempout/org/omg/CORBA/IDLTypeOperations.java @@ -51,8 +51,8 @@ public interface IDLTypeOperations extends org.omg.CORBA.IRObjectOperations { /** * The type attribute describes the type defined by an object - * derived from IDLType. - * @return the TypeCode defined by this object. + * derived from {@code IDLType}. + * @return the {@code TypeCode} defined by this object. */ org.omg.CORBA.TypeCode type (); } // interface IDLTypeOperations diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/INV_OBJREF.java b/corba/src/java.corba/share/classes/org/omg/CORBA/INV_OBJREF.java index e10455ce8c9..718a46aee7c 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/INV_OBJREF.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/INV_OBJREF.java @@ -32,7 +32,7 @@ package org.omg.CORBA; * exception is raised by ORB::string_to_object if the passed * string does not decode correctly. An ORB may choose to detect * calls via nil references (but is not obliged to do detect them). - * INV_OBJREF is used to indicate this.

      + * {@code INV_OBJREF} is used to indicate this.

      * It contains a minor code, which gives more detailed information about * what caused the exception, and a completion status. It may also contain * a string describing the exception. @@ -47,7 +47,7 @@ package org.omg.CORBA; public final class INV_OBJREF extends SystemException { /** - * Constructs an INV_OBJREF exception with a default + * Constructs an {@code INV_OBJREF} exception with a default * minor code of 0 and a completion state of COMPLETED_NO. */ public INV_OBJREF() { @@ -55,7 +55,7 @@ public final class INV_OBJREF extends SystemException { } /** - * Constructs an INV_OBJREF exception with the specified detail + * Constructs an {@code INV_OBJREF} exception with the specified detail * message, a minor code of 0, and a completion state of COMPLETED_NO. * @param s the String containing a detail message */ @@ -64,10 +64,10 @@ public final class INV_OBJREF extends SystemException { } /** - * Constructs an INV_OBJREF exception with the specified + * Constructs an {@code INV_OBJREF} exception with the specified * minor code and completion status. * @param minor the minor code - * @param completed a CompletionStatus instance indicating + * @param completed a {@code CompletionStatus} instance indicating * the completion status */ public INV_OBJREF(int minor, CompletionStatus completed) { @@ -75,12 +75,12 @@ public final class INV_OBJREF extends SystemException { } /** - * Constructs an INV_OBJREF exception with the specified detail + * Constructs an {@code INV_OBJREF} exception with the specified detail * message, minor code, and completion status. * A detail message is a String that describes this particular exception. * @param s the String containing a detail message * @param minor the minor code - * @param completed a CompletionStatus instance indicating + * @param completed a {@code CompletionStatus} instance indicating * the completion status */ public INV_OBJREF(String s, int minor, CompletionStatus completed) { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/INV_POLICY.java b/corba/src/java.corba/share/classes/org/omg/CORBA/INV_POLICY.java index 294015d6903..0f3f9f778df 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/INV_POLICY.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/INV_POLICY.java @@ -28,7 +28,7 @@ package org.omg.CORBA; /** * Standard exception thrown * when an invocation cannot be made because of an incompatibility between - * Policy overrides that apply to the particular invocation. + * {@code Policy} overrides that apply to the particular invocation. * It contains a minor code, which gives more detailed information about * what caused the exception, and a completion status. It may also contain * a string describing the exception. @@ -39,7 +39,7 @@ package org.omg.CORBA; public final class INV_POLICY extends SystemException { /** - * Constructs a INV_POLICY exception with a default minor code + * Constructs a {@code INV_POLICY} exception with a default minor code * of 0, a completion state of CompletionStatus.COMPLETED_NO, * and a null description. */ @@ -48,7 +48,7 @@ public final class INV_POLICY extends SystemException { } /** - * Constructs a INV_POLICY exception with the + * Constructs a {@code INV_POLICY} exception with the * specified description message, * a minor code of 0, and a completion state of COMPLETED_NO. * @param s the String containing a detail message @@ -58,7 +58,7 @@ public final class INV_POLICY extends SystemException { } /** - * Constructs a INV_POLICY exception with the specified + * Constructs a {@code INV_POLICY} exception with the specified * minor code and completion status. * @param minor the minor code * @param completed the completion status @@ -68,7 +68,7 @@ public final class INV_POLICY extends SystemException { } /** - * Constructs a INV_POLICY exception with the + * Constructs a {@code INV_POLICY} exception with the * specified description message, minor code, and completion status. * @param s the String containing a description message * @param minor the minor code diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/IRObjectOperations.java b/corba/src/java.corba/share/classes/org/omg/CORBA/IRObjectOperations.java index 1470dd40fe3..bd38f6b263e 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/IRObjectOperations.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/IRObjectOperations.java @@ -26,10 +26,10 @@ package org.omg.CORBA; /** -* The interface for IRObject. For more information on -* Operations interfaces, see -* "Generated Files: Operations files". -*/ + * The interface for {@code IRObject}. For more information on + * Operations interfaces, see + * "Generated Files: Operations files". + */ /* tempout/org/omg/CORBA/IRObjectOperations.java @@ -39,7 +39,7 @@ package org.omg.CORBA; */ /** - * This is the Operations interface for the mapping from IRObject. + * This is the Operations interface for the mapping from {@code IRObject}. * Several interfaces are used as base interfaces for objects in * the Interface Repository (IR). These base interfaces are not instantiable. * A common set of operations is used to locate objects within the @@ -59,8 +59,8 @@ public interface IRObjectOperations // read interface /** - * Returns the DefinitionKind corresponding to this Interface Repository object. - * @return the DefinitionKind corresponding to this Interface Repository object. + * Returns the {@code DefinitionKind} corresponding to this Interface Repository object. + * @return the {@code DefinitionKind} corresponding to this Interface Repository object. */ org.omg.CORBA.DefinitionKind def_kind (); @@ -70,13 +70,13 @@ public interface IRObjectOperations * this method is applied to all its contents. If the object contains an IDLType * attribute for an anonymous type, that IDLType is destroyed. * If the object is currently contained in some other object, it is removed. - * If the method is invoked on a Repository or on a PrimitiveDef - * then the BAD_INV_ORDER exception is raised with minor value 2. + * If the method is invoked on a {@code Repository} or on a {@code PrimitiveDef} + * then the {@code BAD_INV_ORDER} exception is raised with minor value 2. * An attempt to destroy an object that would leave the repository in an - * incoherent state causes BAD_INV_ORDER exception to be raised + * incoherent state causes {@code BAD_INV_ORDER} exception to be raised * with the minor code 1. * @exception BAD_INV_ORDER if this method is invoked on a repository or - * PrimitiveDef, or if an attempt to destroy an + * {@code PrimitiveDef}, or if an attempt to destroy an * object would leave the repository in an incoherent state */ void destroy (); diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/IdentifierHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/IdentifierHelper.java index d316733becf..665e23c80a3 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/IdentifierHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/IdentifierHelper.java @@ -26,14 +26,14 @@ package org.omg.CORBA; /** -* The Helper for Identifier. For more information on -* Helper files, see -* "Generated Files: Helper Files".

      -* org/omg/CORBA/IdentifierHelper.java -* Generated by the IDL-to-Java compiler (portable), version "3.0" -* from ir.idl -* 03 June 1999 11:33:42 o'clock GMT+00:00 -*/ + * The Helper for {@code Identifier}. For more information on + * Helper files, see + * "Generated Files: Helper Files".

      + * org/omg/CORBA/IdentifierHelper.java + * Generated by the IDL-to-Java compiler (portable), version "3.0" + * from ir.idl + * 03 June 1999 11:33:42 o'clock GMT+00:00 + */ abstract public class IdentifierHelper { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/IntHolder.java b/corba/src/java.corba/share/classes/org/omg/CORBA/IntHolder.java index c51a9ff0f9e..2b43131f199 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/IntHolder.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/IntHolder.java @@ -30,57 +30,57 @@ import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; /** - * The Holder for Int. For more information on + * The Holder for {@code Int}. For more information on * Holder files, see * "Generated Files: Holder Files".

      - * A Holder class for an int + * A Holder class for an {@code int} * that is used to store "out" and "inout" parameters in IDL methods. - * If an IDL method signature has an IDL long as an "out" + * If an IDL method signature has an IDL {@code long} as an "out" * or "inout" parameter, the programmer must pass an instance of - * IntHolder as the corresponding + * {@code IntHolder} as the corresponding * parameter in the method invocation; for "inout" parameters, the programmer * must also fill the "in" value to be sent to the server. * Before the method invocation returns, the ORB will fill in the * value corresponding to the "out" value returned from the server. *

      - * If myIntHolder is an instance of IntHolder, - * the value stored in its value field can be accessed with - * myIntHolder.value. + * If {@code myIntHolder} is an instance of {@code IntHolder}, + * the value stored in its {@code value} field can be accessed with + * {@code myIntHolder.value}. * * @since JDK1.2 */ public final class IntHolder implements Streamable { /** - * The int value held by this IntHolder - * object in its value field. + * The {@code int} value held by this {@code IntHolder} + * object in its {@code value} field. */ public int value; /** - * Constructs a new IntHolder object with its - * value field initialized to 0. + * Constructs a new {@code IntHolder} object with its + * {@code value} field initialized to {@code 0}. */ public IntHolder() { } /** - * Constructs a new IntHolder object with its - * value field initialized to the given - * int. - * @param initial the int with which to initialize - * the value field of the newly-created - * IntHolder object + * Constructs a new {@code IntHolder} object with its + * {@code value} field initialized to the given + * {@code int}. + * @param initial the {@code int} with which to initialize + * the {@code value} field of the newly-created + * {@code IntHolder} object */ public IntHolder(int initial) { value = initial; } /** - * Reads unmarshalled data from input and assigns it to - * the value field in this IntHolder object. + * Reads unmarshalled data from {@code input} and assigns it to + * the {@code value} field in this {@code IntHolder} object. * - * @param input the InputStream object containing CDR + * @param input the {@code InputStream} object containing CDR * formatted data from the wire */ public void _read(InputStream input) { @@ -88,10 +88,10 @@ public final class IntHolder implements Streamable { } /** - * Marshals the value in this IntHolder object's - * value field to the output stream output. + * Marshals the value in this {@code IntHolder} object's + * {@code value} field to the output stream {@code output}. * - * @param output the OutputStream object that will contain + * @param output the {@code OutputStream} object that will contain * the CDR formatted data */ public void _write(OutputStream output) { @@ -99,11 +99,11 @@ public final class IntHolder implements Streamable { } /** - * Retrieves the TypeCode object that corresponds - * to the value held in this IntHolder object's - * value field. + * Retrieves the {@code TypeCode} object that corresponds + * to the value held in this {@code IntHolder} object's + * {@code value} field. * - * @return the type code for the value held in this IntHolder + * @return the type code for the value held in this {@code IntHolder} * object */ public org.omg.CORBA.TypeCode _type() { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/LocalObject.java b/corba/src/java.corba/share/classes/org/omg/CORBA/LocalObject.java index 4dee33450b1..fedbead0516 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/LocalObject.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/LocalObject.java @@ -30,26 +30,26 @@ import org.omg.CORBA.portable.*; /** * Used as a base class for implementation of a local IDL interface in the * Java language mapping. It is a class which implements all the operations - * in the org.omg.CORBA.Object interface. + * in the {@code org.omg.CORBA.Object} interface. *

      Local interfaces are implemented by using CORBA::LocalObject - * to provide implementations of Object pseudo - * operations and any other ORB-specific support mechanisms that are - * appropriate for such objects. Object implementation techniques are - * inherently language-mapping specific. Therefore, the - * LocalObject type is not defined in IDL, but is specified - * in each language mapping. - *

      Methods that do not apply to local objects throw - * an org.omg.CORBA.NO_IMPLEMENT exception with the message, - * "This is a locally contrained object." Attempting to use a - * LocalObject to create a DII request results in NO_IMPLEMENT - * system exception. Attempting to marshal or stringify a - * LocalObject results in a MARSHAL system exception. Narrowing - * and widening references to LocalObjects must work as for regular - * object references. - *

      LocalObject is to be used as the base class of locally - * constrained objects, such as those in the PortableServer module. - * The specification here is based on the CORBA Components - * Volume I - orbos/99-07-01 + * to provide implementations of {@code Object} pseudo + * operations and any other ORB-specific support mechanisms that are + * appropriate for such objects. Object implementation techniques are + * inherently language-mapping specific. Therefore, the + * {@code LocalObject} type is not defined in IDL, but is specified + * in each language mapping. + *

      Methods that do not apply to local objects throw + * an {@code org.omg.CORBA.NO_IMPLEMENT} exception with the message, + * "This is a locally contrained object." Attempting to use a + * {@code LocalObject} to create a DII request results in NO_IMPLEMENT + * system exception. Attempting to marshal or stringify a + * {@code LocalObject} results in a MARSHAL system exception. Narrowing + * and widening references to {@code LocalObjects} must work as for regular + * object references. + *

      {@code LocalObject} is to be used as the base class of locally + * constrained objects, such as those in the PortableServer module. + * The specification here is based on the CORBA Components + * Volume I - orbos/99-07-01 * * @see CORBA package * comments for unimplemented features @@ -60,7 +60,7 @@ public class LocalObject implements org.omg.CORBA.Object private static String reason = "This is a locally constrained object."; /** - * Constructs a default LocalObject instance. + * Constructs a default {@code LocalObject} instance. */ public LocalObject() {} @@ -75,9 +75,9 @@ public class LocalObject implements org.omg.CORBA.Object *

      Default implementation of the org.omg.CORBA.Object method. * * @param that the object reference with which to check for equivalence - * @return true if this object reference is known to be + * @return {@code true} if this object reference is known to be * equivalent to the given object reference. - * Note that false indicates only that the two + * Note that {@code false} indicates only that the two * object references are distinct, not necessarily that * they reference distinct objects. */ @@ -86,11 +86,11 @@ public class LocalObject implements org.omg.CORBA.Object } /** - * Always returns false. + * Always returns {@code false}. * This method is the default implementation of the - * org.omg.CORBA.Object method. + * {@code org.omg.CORBA.Object} method. * - * @return false + * @return {@code false} */ public boolean _non_existent() { return false; @@ -100,9 +100,9 @@ public class LocalObject implements org.omg.CORBA.Object * Returns a hash value that is consistent for the * lifetime of the object, using the given number as the maximum. * This method is the default implementation of the - * org.omg.CORBA.Object method. + * {@code org.omg.CORBA.Object} method. * - * @param maximum an int identifying maximum value of + * @param maximum an {@code int} identifying maximum value of * the hashcode * @return this instance's hashcode */ @@ -111,13 +111,13 @@ public class LocalObject implements org.omg.CORBA.Object } /** - * Throws an org.omg.CORBA.NO_IMPLEMENT exception with + * Throws an {@code org.omg.CORBA.NO_IMPLEMENT} exception with * the message "This is a locally constrained object." This method * does not apply to local objects and is therefore not implemented. * This method is the default implementation of the - * org.omg.CORBA.Object method. + * {@code org.omg.CORBA.Object} method. * - * @param repository_id a String + * @param repository_id a {@code String} * @return NO_IMPLEMENT because this is a locally constrained object * and this method does not apply to local objects * @exception NO_IMPLEMENT because this is a locally constrained object @@ -130,12 +130,12 @@ public class LocalObject implements org.omg.CORBA.Object } /** - * Throws an org.omg.CORBA.NO_IMPLEMENT exception with + * Throws an {@code org.omg.CORBA.NO_IMPLEMENT} exception with * the message "This is a locally constrained object." * This method is the default implementation of the - * org.omg.CORBA.Object method. + * {@code org.omg.CORBA.Object} method. * - * @return a duplicate of this LocalObject instance. + * @return a duplicate of this {@code LocalObject} instance. * @exception NO_IMPLEMENT * @see CORBA package * comments for unimplemented features @@ -145,10 +145,10 @@ public class LocalObject implements org.omg.CORBA.Object } /** - * Throws an org.omg.CORBA.NO_IMPLEMENT exception with + * Throws an {@code org.omg.CORBA.NO_IMPLEMENT} exception with * the message "This is a locally constrained object." * This method is the default implementation of the - * org.omg.CORBA.Object method. + * {@code org.omg.CORBA.Object} method. * * @exception NO_IMPLEMENT * @see CORBA package @@ -159,14 +159,14 @@ public class LocalObject implements org.omg.CORBA.Object } /** - * Throws an org.omg.CORBA.NO_IMPLEMENT exception with + * Throws an {@code org.omg.CORBA.NO_IMPLEMENT} exception with * the message "This is a locally constrained object." * This method is the default implementation of the - * org.omg.CORBA.Object method. + * {@code org.omg.CORBA.Object} method. * - * @param operation a String giving the name of an operation + * @param operation a {@code String} giving the name of an operation * to be performed by the request that is returned - * @return a Request object with the given operation + * @return a {@code Request} object with the given operation * @exception NO_IMPLEMENT * @see CORBA package * comments for unimplemented features @@ -176,20 +176,20 @@ public class LocalObject implements org.omg.CORBA.Object } /** - * Throws an org.omg.CORBA.NO_IMPLEMENT exception with + * Throws an {@code org.omg.CORBA.NO_IMPLEMENT} exception with * the message "This is a locally constrained object." * This method is the default implementation of the - * org.omg.CORBA.Object method. + * {@code org.omg.CORBA.Object} method. * - * @param ctx a Context object containing + * @param ctx a {@code Context} object containing * a list of properties - * @param operation the String representing the name of the + * @param operation the {@code String} representing the name of the * method to be invoked - * @param arg_list an NVList containing the actual arguments + * @param arg_list an {@code NVList} containing the actual arguments * to the method being invoked - * @param result a NamedValue object to serve as a + * @param result a {@code NamedValue} object to serve as a * container for the method's return value - * @return a new Request object initialized with the given + * @return a new {@code Request} object initialized with the given * arguments * @exception NO_IMPLEMENT * @see CORBA package @@ -203,25 +203,25 @@ public class LocalObject implements org.omg.CORBA.Object } /** - * Throws an org.omg.CORBA.NO_IMPLEMENT exception with + * Throws an {@code org.omg.CORBA.NO_IMPLEMENT} exception with * the message "This is a locally constrained object." * This method is the default implementation of the - * org.omg.CORBA.Object method. + * {@code org.omg.CORBA.Object} method. * - * @param ctx a Context object containing + * @param ctx a {@code Context} object containing * a list of properties * @param operation the name of the method to be invoked - * @param arg_list an NVList containing the actual arguments + * @param arg_list an {@code NVList} containing the actual arguments * to the method being invoked - * @param result a NamedValue object to serve as a + * @param result a {@code NamedValue} object to serve as a * container for the method's return value - * @param exceptions an ExceptionList object containing a + * @param exceptions an {@code ExceptionList} object containing a * list of possible exceptions the method can throw - * @param contexts a ContextList object containing a list of + * @param contexts a {@code ContextList} object containing a list of * context strings that need to be resolved and sent * with the - * Request instance - * @return the new Request object initialized with the given + * {@code Request} instance + * @return the new {@code Request} object initialized with the given * arguments * @exception NO_IMPLEMENT * @see CORBA package @@ -237,11 +237,11 @@ public class LocalObject implements org.omg.CORBA.Object } /** - * Throws an org.omg.CORBA.NO_IMPLEMENT exception with + * Throws an {@code org.omg.CORBA.NO_IMPLEMENT} exception with * the message "This is a locally constrained object." This method * does not apply to local objects and is therefore not implemented. * This method is the default implementation of the - * org.omg.CORBA.Object method. + * {@code org.omg.CORBA.Object} method. * * @return NO_IMPLEMENT because this is a locally constrained object * and this method does not apply to local objects @@ -256,10 +256,10 @@ public class LocalObject implements org.omg.CORBA.Object } /** - * Throws an org.omg.CORBA.NO_IMPLEMENT exception with + * Throws an {@code org.omg.CORBA.NO_IMPLEMENT} exception with * the message "This is a locally constrained object." * This method is the default implementation of the - * org.omg.CORBA.Object method. + * {@code org.omg.CORBA.Object} method. * * @exception NO_IMPLEMENT * @see CORBA package @@ -278,12 +278,12 @@ public class LocalObject implements org.omg.CORBA.Object } /** - * Throws an org.omg.CORBA.NO_IMPLEMENT exception with + * Throws an {@code org.omg.CORBA.NO_IMPLEMENT} exception with * the message "This is a locally constrained object." * This method is the default implementation of the - * org.omg.CORBA.Object method. + * {@code org.omg.CORBA.Object} method. * @return the ORB instance that created the Delegate contained in this - * ObjectImpl + * {@code ObjectImpl} * @exception NO_IMPLEMENT * @see CORBA package * comments for unimplemented features @@ -293,13 +293,13 @@ public class LocalObject implements org.omg.CORBA.Object } /** - * Throws an org.omg.CORBA.NO_IMPLEMENT exception with + * Throws an {@code org.omg.CORBA.NO_IMPLEMENT} exception with * the message "This is a locally constrained object." This method * does not apply to local objects and is therefore not implemented. * This method is the default implementation of the - * org.omg.CORBA.Object method. + * {@code org.omg.CORBA.Object} method. * - * @param policy_type an int + * @param policy_type an {@code int} * @return NO_IMPLEMENT because this is a locally constrained object * and this method does not apply to local objects * @exception NO_IMPLEMENT because this is a locally constrained object @@ -313,11 +313,11 @@ public class LocalObject implements org.omg.CORBA.Object /** - * Throws an org.omg.CORBA.NO_IMPLEMENT exception with + * Throws an {@code org.omg.CORBA.NO_IMPLEMENT} exception with * the message "This is a locally constrained object." This method * does not apply to local objects and is therefore not implemented. * This method is the default implementation of the - * org.omg.CORBA.Object method. + * {@code org.omg.CORBA.Object} method. * * @exception NO_IMPLEMENT * @see CORBA package @@ -328,11 +328,11 @@ public class LocalObject implements org.omg.CORBA.Object } /** - * Throws an org.omg.CORBA.NO_IMPLEMENT exception with + * Throws an {@code org.omg.CORBA.NO_IMPLEMENT} exception with * the message "This is a locally constrained object." This method * does not apply to local objects and is therefore not implemented. * This method is the default implementation of the - * org.omg.CORBA.Object method. + * {@code org.omg.CORBA.Object} method. * * @param policies an array * @param set_add a flag @@ -351,13 +351,13 @@ public class LocalObject implements org.omg.CORBA.Object /** - * Throws an org.omg.CORBA.NO_IMPLEMENT exception with + * Throws an {@code org.omg.CORBA.NO_IMPLEMENT} exception with * the message "This is a locally constrained object." * This method is the default implementation of the - * org.omg.CORBA.Object method.

      - * Returns true for this LocalObject instance. + * {@code org.omg.CORBA.Object} method.

      + * Returns {@code true} for this {@code LocalObject} instance. * - * @return true always + * @return {@code true} always * @exception NO_IMPLEMENT * @see CORBA package * comments for unimplemented features @@ -367,12 +367,12 @@ public class LocalObject implements org.omg.CORBA.Object } /** - * Throws an org.omg.CORBA.NO_IMPLEMENT exception with + * Throws an {@code org.omg.CORBA.NO_IMPLEMENT} exception with * the message "This is a locally constrained object." * This method is the default implementation of the - * org.omg.CORBA.Object method. + * {@code org.omg.CORBA.Object} method. * - * @param operation a String indicating which operation + * @param operation a {@code String} indicating which operation * to preinvoke * @param expectedType the class of the type of operation mentioned above * @return NO_IMPLEMENT because this is a locally constrained object @@ -388,10 +388,10 @@ public class LocalObject implements org.omg.CORBA.Object } /** - * Throws an org.omg.CORBA.NO_IMPLEMENT exception with + * Throws an {@code org.omg.CORBA.NO_IMPLEMENT} exception with * the message "This is a locally constrained object." * This method is the default implementation of the - * org.omg.CORBA.Object method. + * {@code org.omg.CORBA.Object} method. * * @param servant the servant object on which to post-invoke * @exception NO_IMPLEMENT @@ -408,17 +408,17 @@ public class LocalObject implements org.omg.CORBA.Object */ /** - * Throws an org.omg.CORBA.NO_IMPLEMENT exception with + * Throws an {@code org.omg.CORBA.NO_IMPLEMENT} exception with * the message "This is a locally constrained object." * This method is the default implementation of the - * org.omg.CORBA.Object method. + * {@code org.omg.CORBA.Object} method. *

      Called by a stub to obtain an OutputStream for * marshaling arguments. The stub must supply the operation name, * and indicate if a response is expected (i.e is this a oneway call). * * @param operation the name of the operation being requested - * @param responseExpected true if a response is expected, - * false if it is a one-way call + * @param responseExpected {@code true} if a response is expected, + * {@code false} if it is a one-way call * @return NO_IMPLEMENT because this is a locally constrained object * and this method does not apply to local objects * @exception NO_IMPLEMENT because this is a locally constrained object @@ -432,32 +432,32 @@ public class LocalObject implements org.omg.CORBA.Object } /** - * Throws an org.omg.CORBA.NO_IMPLEMENT exception with + * Throws an {@code org.omg.CORBA.NO_IMPLEMENT} exception with * the message "This is a locally constrained object." * This method is the default implementation of the - * org.omg.CORBA.Object method. + * {@code org.omg.CORBA.Object} method. *

      Called to invoke an operation. The stub provides an - * OutputStream that was previously returned by a - * _request() - * call. _invoke returns an InputStream which + * {@code OutputStream} that was previously returned by a + * {@code _request()} + * call. {@code _invoke} returns an {@code InputStream} which * contains the - * marshaled reply. If an exception occurs, _invoke may throw an - * ApplicationException object which contains an - * InputStream from + * marshaled reply. If an exception occurs, {@code _invoke} may throw an + * {@code ApplicationException} object which contains an + * {@code InputStream} from * which the user exception state may be unmarshaled. * - * @param output the OutputStream to invoke + * @param output the {@code OutputStream} to invoke * @return NO_IMPLEMENT because this is a locally constrained object * and this method does not apply to local objects * @throws ApplicationException If an exception occurs, - * _invoke may throw an - * ApplicationException object which contains - * an InputStream from + * {@code _invoke} may throw an + * {@code ApplicationException} object which contains + * an {@code InputStream} from * which the user exception state may be unmarshaled. * @throws RemarshalException If an exception occurs, - * _invoke may throw an - * ApplicationException object which contains - * an InputStream from + * {@code _invoke} may throw an + * {@code ApplicationException} object which contains + * an {@code InputStream} from * which the user exception state may be unmarshaled. * @exception NO_IMPLEMENT because this is a locally constrained object * and this method does not apply to local objects @@ -471,17 +471,17 @@ public class LocalObject implements org.omg.CORBA.Object } /** - * Throws an org.omg.CORBA.NO_IMPLEMENT exception with + * Throws an {@code org.omg.CORBA.NO_IMPLEMENT} exception with * the message "This is a locally constrained object." * This method is the default implementation of the - * org.omg.CORBA.Object method. + * {@code org.omg.CORBA.Object} method. *

      May optionally be called by a stub to release a * reply stream back to the ORB when the unmarshaling has - * completed. The stub passes the InputStream returned by - * _invoke() or - * ApplicationException.getInputStream(). + * completed. The stub passes the {@code InputStream} returned by + * {@code _invoke()} or + * {@code ApplicationException.getInputStream()}. * A null - * value may also be passed to _releaseReply, in which case the + * value may also be passed to {@code _releaseReply}, in which case the * method is a no-op. * * @param input the reply stream back to the ORB or null @@ -494,11 +494,11 @@ public class LocalObject implements org.omg.CORBA.Object } /** - * Throws an org.omg.CORBA.NO_IMPLEMENT exception with + * Throws an {@code org.omg.CORBA.NO_IMPLEMENT} exception with * the message "This is a locally constrained object." This method * does not apply to local objects and is therefore not implemented. * This method is the default implementation of the - * org.omg.CORBA.Object method. + * {@code org.omg.CORBA.Object} method. * * @return NO_IMPLEMENT because this is a locally constrained object * and this method does not apply to local objects diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/LongHolder.java b/corba/src/java.corba/share/classes/org/omg/CORBA/LongHolder.java index 6665295d8a4..670bec57d67 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/LongHolder.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/LongHolder.java @@ -30,54 +30,54 @@ import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; /** - * The Holder for Long. For more information on + * The Holder for {@code Long}. For more information on * Holder files, see * "Generated Files: Holder Files".

      - * A Holder class for a long + * A Holder class for a {@code long} * that is used to store "out" and "inout" parameters in IDL methods. - * If an IDL method signature has an IDL long long as an "out" + * If an IDL method signature has an IDL {@code long long} as an "out" * or "inout" parameter, the programmer must pass an instance of - * LongHolder as the corresponding + * {@code LongHolder} as the corresponding * parameter in the method invocation; for "inout" parameters, the programmer * must also fill the "in" value to be sent to the server. * Before the method invocation returns, the ORB will fill in the * value corresponding to the "out" value returned from the server. *

      - * If myLongHolder is an instance of LongHolder, - * the value stored in its value field can be accessed with - * myLongHolder.value. + * If {@code myLongHolder} is an instance of {@code LongHolder}, + * the value stored in its {@code value} field can be accessed with + * {@code myLongHolder.value}. * * @since JDK1.2 */ public final class LongHolder implements Streamable { /** - * The long value held by this LongHolder + * The {@code long} value held by this {@code LongHolder} * object. */ public long value; /** - * Constructs a new LongHolder object with its - * value field initialized to 0. + * Constructs a new {@code LongHolder} object with its + * {@code value} field initialized to {@code 0}. */ public LongHolder() { } /** - * Constructs a new LongHolder object with its - * value field initialized to the given - * long. - * @param initial the long with which to initialize - * the value field of the newly-created - * LongHolder object + * Constructs a new {@code LongHolder} object with its + * {@code value} field initialized to the given + * {@code long}. + * @param initial the {@code long} with which to initialize + * the {@code value} field of the newly-created + * {@code LongHolder} object */ public LongHolder(long initial) { value = initial; } /** - * Reads from input and initalizes the value in the Holder + * Reads from {@code input} and initalizes the value in the Holder * with the unmarshalled data. * * @param input the InputStream containing CDR formatted data from the wire @@ -87,7 +87,7 @@ public final class LongHolder implements Streamable { } /** - * Marshals to output the value in the Holder. + * Marshals to {@code output} the value in the Holder. * * @param output the OutputStream which will contain the CDR formatted data */ @@ -96,7 +96,7 @@ public final class LongHolder implements Streamable { } /** - * Returns the TypeCode object + * Returns the {@code TypeCode} object * corresponding to the value held in the Holder. * * @return the TypeCode of the value held in the holder diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/LongLongSeqHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/LongLongSeqHelper.java index cad08837d5c..63b77c446b6 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/LongLongSeqHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/LongLongSeqHelper.java @@ -26,26 +26,26 @@ package org.omg.CORBA; /** -* The Helper for LongLongSeq. For more information on -* Helper files, see -* "Generated Files: Helper Files".

      -* org/omg/CORBA/LongLongSeqHelper.java -* Generated by the IDL-to-Java compiler (portable), version "3.0" -* from streams.idl -* 13 May 1999 22:41:37 o'clock GMT+00:00 -* -* The class definition has been modified to conform to the following -* OMG specifications : -*

      -*/ + * The Helper for {@code LongLongSeq}. For more information on + * Helper files, see + * "Generated Files: Helper Files".

      + * org/omg/CORBA/LongLongSeqHelper.java + * Generated by the IDL-to-Java compiler (portable), version "3.0" + * from streams.idl + * 13 May 1999 22:41:37 o'clock GMT+00:00 + * + * The class definition has been modified to conform to the following + * OMG specifications : + *

        + *
      • ORB core as defined by CORBA 2.3.1 + * (formal/99-10-07) + *
      • + * + *
      • IDL/Java Language Mapping as defined in + * ptc/00-01-08 + *
      • + *
      + */ public abstract class LongLongSeqHelper { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/LongLongSeqHolder.java b/corba/src/java.corba/share/classes/org/omg/CORBA/LongLongSeqHolder.java index c645d7cd528..abc01230c43 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/LongLongSeqHolder.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/LongLongSeqHolder.java @@ -26,14 +26,14 @@ package org.omg.CORBA; /** -* The Holder for LongLongSeq. For more information on -* Holder files, see -* "Generated Files: Holder Files".

      -* org/omg/CORBA/LongLongSeqHolder.java -* Generated by the IDL-to-Java compiler (portable), version "3.0" -* from streams.idl -* 13 May 1999 22:41:36 o'clock GMT+00:00 -*/ + * The Holder for {@code LongLongSeq}. For more information on + * Holder files, see + * "Generated Files: Holder Files".

      + * org/omg/CORBA/LongLongSeqHolder.java + * Generated by the IDL-to-Java compiler (portable), version "3.0" + * from streams.idl + * 13 May 1999 22:41:36 o'clock GMT+00:00 + */ public final class LongLongSeqHolder implements org.omg.CORBA.portable.Streamable { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/LongSeqHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/LongSeqHelper.java index eae18b59c1a..2c9eb2ab49d 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/LongSeqHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/LongSeqHelper.java @@ -26,26 +26,26 @@ package org.omg.CORBA; /** -* The Helper for LongSeqHelper. For more information on -* Helper files, see -* "Generated Files: Helper Files".

      -* org/omg/CORBA/LongSeqHelper.java -* Generated by the IDL-to-Java compiler (portable), version "3.0" -* from streams.idl -* 13 May 1999 22:41:36 o'clock GMT+00:00 -* -* The class definition has been modified to conform to the following -* OMG specifications : -*

      -*/ + * The Helper for {@code LongSeqHelper}. For more information on + * Helper files, see + * "Generated Files: Helper Files".

      + * org/omg/CORBA/LongSeqHelper.java + * Generated by the IDL-to-Java compiler (portable), version "3.0" + * from streams.idl + * 13 May 1999 22:41:36 o'clock GMT+00:00 + * + * The class definition has been modified to conform to the following + * OMG specifications : + *

        + *
      • ORB core as defined by CORBA 2.3.1 + * (formal/99-10-07) + *
      • + * + *
      • IDL/Java Language Mapping as defined in + * ptc/00-01-08 + *
      • + *
      + */ public abstract class LongSeqHelper { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/LongSeqHolder.java b/corba/src/java.corba/share/classes/org/omg/CORBA/LongSeqHolder.java index a07239d04e2..6ff9e6a9a91 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/LongSeqHolder.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/LongSeqHolder.java @@ -26,14 +26,14 @@ package org.omg.CORBA; /** -* The Holder for LongSeq. For more information on -* Holder files, see -* "Generated Files: Holder Files".

      -* org/omg/CORBA/LongSeqHolder.java -* Generated by the IDL-to-Java compiler (portable), version "3.0" -* from streams.idl -* 13 May 1999 22:41:36 o'clock GMT+00:00 -*/ + * The Holder for {@code LongSeq}. For more information on + * Holder files, see + * "Generated Files: Holder Files".

      + * org/omg/CORBA/LongSeqHolder.java + * Generated by the IDL-to-Java compiler (portable), version "3.0" + * from streams.idl + * 13 May 1999 22:41:36 o'clock GMT+00:00 + */ public final class LongSeqHolder implements org.omg.CORBA.portable.Streamable { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/MARSHAL.java b/corba/src/java.corba/share/classes/org/omg/CORBA/MARSHAL.java index fa0b4306dfe..ce479c243ec 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/MARSHAL.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/MARSHAL.java @@ -31,7 +31,7 @@ package org.omg.CORBA; * or server-side run time. For example, if a reply from the server * indicates that the message contains 1000 bytes, but the actual * message is shorter or longer than 1000 bytes, the ORB raises - * this exception. MARSHAL can also be caused by using + * this exception. {@code MARSHAL} can also be caused by using * the DII or DSI incorrectly, for example, if the type of the * actual parameters sent does not agree with IDL signature of an * operation.

      @@ -47,7 +47,7 @@ package org.omg.CORBA; public final class MARSHAL extends SystemException { /** - * Constructs a MARSHAL exception with a default minor code + * Constructs a {@code MARSHAL} exception with a default minor code * of 0, a completion state of CompletionStatus.COMPLETED_NO, * and a null description. */ @@ -56,7 +56,7 @@ public final class MARSHAL extends SystemException { } /** - * Constructs a MARSHAL exception with the specified description message, + * Constructs a {@code MARSHAL} exception with the specified description message, * a minor code of 0, and a completion state of COMPLETED_NO. * @param s the String containing a description of the exception */ @@ -65,7 +65,7 @@ public final class MARSHAL extends SystemException { } /** - * Constructs a MARSHAL exception with the specified + * Constructs a {@code MARSHAL} exception with the specified * minor code and completion status. * @param minor the minor code * @param completed the completion status @@ -75,7 +75,7 @@ public final class MARSHAL extends SystemException { } /** - * Constructs a MARSHAL exception with the specified description + * Constructs a {@code MARSHAL} exception with the specified description * message, minor code, and completion status. * @param s the String containing a description message * @param minor the minor code diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/NO_IMPLEMENT.java b/corba/src/java.corba/share/classes/org/omg/CORBA/NO_IMPLEMENT.java index 6ad967a9ac6..e1379a07d05 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/NO_IMPLEMENT.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/NO_IMPLEMENT.java @@ -28,7 +28,7 @@ package org.omg.CORBA; /** * This exception indicates that even though the operation that * was invoked exists (it has an IDL definition), no implementation - * for that operation exists. NO_IMPLEMENT can, for + * for that operation exists. {@code NO_IMPLEMENT} can, for * example, be raised by an ORB if a client asks for an object's * type definition from the interface repository, but no interface * repository is provided by the ORB.

      @@ -44,7 +44,7 @@ package org.omg.CORBA; public final class NO_IMPLEMENT extends SystemException { /** - * Constructs a NO_IMPLEMENT exception with a default minor code + * Constructs a {@code NO_IMPLEMENT} exception with a default minor code * of 0, a completion state of CompletionStatus.COMPLETED_NO, * and a null description. */ @@ -53,7 +53,7 @@ public final class NO_IMPLEMENT extends SystemException { } /** - * Constructs a NO_IMPLEMENT exception with the specified description message, + * Constructs a {@code NO_IMPLEMENT} exception with the specified description message, * a minor code of 0, and a completion state of COMPLETED_NO. * @param s the String containing a description of the exception */ @@ -62,10 +62,10 @@ public final class NO_IMPLEMENT extends SystemException { } /** - * Constructs a NO_IMPLEMENT exception with the specified + * Constructs a {@code NO_IMPLEMENT} exception with the specified * minor code and completion status. - * @param minor an int specifying the minor code - * @param completed a CompletionStatus instance indicating + * @param minor an {@code int} specifying the minor code + * @param completed a {@code CompletionStatus} instance indicating * the completion status */ public NO_IMPLEMENT(int minor, CompletionStatus completed) { @@ -73,11 +73,11 @@ public final class NO_IMPLEMENT extends SystemException { } /** - * Constructs a NO_IMPLEMENT exception with the specified description + * Constructs a {@code NO_IMPLEMENT} exception with the specified description * message, minor code, and completion status. * @param s the String containing a description message - * @param minor an int specifying the minor code - * @param completed a CompletionStatus instance indicating + * @param minor an {@code int} specifying the minor code + * @param completed a {@code CompletionStatus} instance indicating * the completion status */ public NO_IMPLEMENT(String s, int minor, CompletionStatus completed) { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/NameValuePair.java b/corba/src/java.corba/share/classes/org/omg/CORBA/NameValuePair.java index 0fde3d4e560..bd851c3e314 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/NameValuePair.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/NameValuePair.java @@ -28,33 +28,33 @@ package org.omg.CORBA; /** * Associates a name with a value that is an - * attribute of an IDL struct, and is used in the DynStruct APIs. + * attribute of an IDL struct, and is used in the {@code DynStruct} APIs. */ public final class NameValuePair implements org.omg.CORBA.portable.IDLEntity { /** - * The name to be associated with a value by this NameValuePair object. + * The name to be associated with a value by this {@code NameValuePair} object. */ public String id; /** - * The value to be associated with a name by this NameValuePair object. + * The value to be associated with a name by this {@code NameValuePair} object. */ public org.omg.CORBA.Any value; /** - * Constructs an empty NameValuePair object. + * Constructs an empty {@code NameValuePair} object. * To associate a name with a value after using this constructor, the fields * of this object have to be accessed individually. */ public NameValuePair() { } /** - * Constructs a NameValuePair object that associates - * the given name with the given org.omg.CORBA.Any object. - * @param __id the name to be associated with the given Any object - * @param __value the Any object to be associated with the given name + * Constructs a {@code NameValuePair} object that associates + * the given name with the given {@code org.omg.CORBA.Any} object. + * @param __id the name to be associated with the given {@code Any} object + * @param __value the {@code Any} object to be associated with the given name */ public NameValuePair(String __id, org.omg.CORBA.Any __value) { id = __id; diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/NameValuePairHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/NameValuePairHelper.java index 7b673d57707..ec411e11a74 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/NameValuePairHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/NameValuePairHelper.java @@ -26,13 +26,13 @@ package org.omg.CORBA; /** -* The Helper for NameValuePair. For more information on -* Helper files, see -* "Generated Files: Helper Files".

      -* org/omg/CORBA/NameValuePairHelper.java -* Generated by the IDL-to-Java compiler (portable), version "3.0" -* 03 June 1999 11:52:03 o'clock GMT+00:00 -*/ + * The Helper for {@code NameValuePair}. For more information on + * Helper files, see + * "Generated Files: Helper Files".

      + * org/omg/CORBA/NameValuePairHelper.java + * Generated by the IDL-to-Java compiler (portable), version "3.0" + * 03 June 1999 11:52:03 o'clock GMT+00:00 + */ abstract public class NameValuePairHelper { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/ORB.java b/corba/src/java.corba/share/classes/org/omg/CORBA/ORB.java index 1f1fbd04f0d..58bf19201af 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/ORB.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/ORB.java @@ -40,7 +40,7 @@ import sun.reflect.misc.ReflectUtil; /** * A class providing APIs for the CORBA Object Request Broker - * features. The ORB class also provides + * features. The {@code ORB} class also provides * "pluggable ORB implementation" APIs that allow another vendor's ORB * implementation to be used. *

      @@ -49,12 +49,12 @@ import sun.reflect.misc.ReflectUtil; * objects servicing requests (servers). *

      * - * The ORB class, which + * The {@code ORB} class, which * encapsulates generic CORBA functionality, does the following: * (Note that items 5 and 6, which include most of the methods in - * the class ORB, are typically used with the Dynamic Invocation - * Interface (DII) and the Dynamic Skeleton Interface - * (DSI). + * the class {@code ORB}, are typically used with the + * {@code Dynamic Invocation Interface} (DII) and + * the {@code Dynamic Skeleton Interface} (DSI). * These interfaces may be used by a developer directly, but * most commonly they are used by the ORB internally and are * not seen by the general programmer.) @@ -62,29 +62,29 @@ import sun.reflect.misc.ReflectUtil; *

    • initializes the ORB implementation by supplying values for * predefined properties and environmental parameters *
    • obtains initial object references to services such as - * the NameService using the method resolve_initial_references + * the NameService using the method {@code resolve_initial_references} *
    • converts object references to strings and back *
    • connects the ORB to a servant (an instance of a CORBA object * implementation) and disconnects the ORB from a servant *
    • creates objects such as *
        - *
      • TypeCode - *
      • Any - *
      • NamedValue - *
      • Context - *
      • Environment - *
      • lists (such as NVList) containing these objects + *
      • {@code TypeCode} + *
      • {@code Any} + *
      • {@code NamedValue} + *
      • {@code Context} + *
      • {@code Environment} + *
      • lists (such as {@code NVList}) containing these objects *
      *
    • sends multiple messages in the DII * * *

      - * The ORB class can be used to obtain references to objects + * The {@code ORB} class can be used to obtain references to objects * implemented anywhere on the network. *

      * An application or applet gains access to the CORBA environment - * by initializing itself into an ORB using one of - * three init methods. Two of the three methods use the properties + * by initializing itself into an {@code ORB} using one of + * three {@code init} methods. Two of the three methods use the properties * (associations of a name with a value) shown in the * table below.
      * @@ -93,10 +93,10 @@ import sun.reflect.misc.ReflectUtil; * * * - * + * *
      org.omg.CORBA.ORBClassclass name of an ORB implementation
      org.omg.CORBA.ORBSingletonClassclass name of the ORB returned by init()
      class name of the ORB returned by {@code init()}
      *

      - * These properties allow a different vendor's ORB + * These properties allow a different vendor's {@code ORB} * implementation to be "plugged in." *

      * When an ORB instance is being created, the class name of the ORB @@ -122,12 +122,12 @@ import sun.reflect.misc.ReflectUtil; *

      * Note that Java IDL provides a default implementation for the * fully-functional ORB and for the Singleton ORB. When the method - * init is given no parameters, the default Singleton - * ORB is returned. When the method init is given parameters + * {@code init} is given no parameters, the default Singleton + * ORB is returned. When the method {@code init} is given parameters * but no ORB class is specified, the Java IDL ORB implementation * is returned. *

      - * The following code fragment creates an ORB object + * The following code fragment creates an {@code ORB} object * initialized with the default ORB Singleton. * This ORB has a * restricted implementation to prevent malicious applets from doing @@ -138,9 +138,9 @@ import sun.reflect.misc.ReflectUtil; * ORB orb = ORB.init(); * *

      - * The following code fragment creates an ORB object - * for an application. The parameter args - * represents the arguments supplied to the application's main + * The following code fragment creates an {@code ORB} object + * for an application. The parameter {@code args} + * represents the arguments supplied to the application's {@code main} * method. Since the property specifies the ORB class to be * "SomeORBImplementation", the new ORB will be initialized with * that ORB implementation. If p had been null, @@ -153,7 +153,7 @@ import sun.reflect.misc.ReflectUtil; * ORB orb = ORB.init(args, p); * *

      - * The following code fragment creates an ORB object + * The following code fragment creates an {@code ORB} object * for the applet supplied as the first parameter. If the given * applet does not specify an ORB class, the new ORB will be * initialized with the default Java IDL implementation. @@ -271,27 +271,27 @@ abstract public class ORB { } /** - * Returns the ORB singleton object. This method always returns the + * Returns the {@code ORB} singleton object. This method always returns the * same ORB instance, which is an instance of the class described by the - * org.omg.CORBA.ORBSingletonClass system property. + * {@code org.omg.CORBA.ORBSingletonClass} system property. *

      - * This no-argument version of the method init is used primarily - * as a factory for TypeCode objects, which are used by - * Helper classes to implement the method type. - * It is also used to create Any objects that are used to - * describe union labels (as part of creating a - * TypeCode object for a union). + * This no-argument version of the method {@code init} is used primarily + * as a factory for {@code TypeCode} objects, which are used by + * {@code Helper} classes to implement the method {@code type}. + * It is also used to create {@code Any} objects that are used to + * describe {@code union} labels (as part of creating a + * {@code TypeCode} object for a {@code union}). *

      * This method is not intended to be used by applets, and in the event * that it is called in an applet environment, the ORB it returns * is restricted so that it can be used only as a factory for - * TypeCode objects. Any TypeCode objects + * {@code TypeCode} objects. Any {@code TypeCode} objects * it produces can be safely shared among untrusted applets. *

      * If an ORB is created using this method from an applet, * a system exception will be thrown if * methods other than those for - * creating TypeCode objects are invoked. + * creating {@code TypeCode} objects are invoked. * * @return the singleton ORB * @@ -350,13 +350,13 @@ abstract public class ORB { } /** - * Creates a new ORB instance for a standalone + * Creates a new {@code ORB} instance for a standalone * application. This method may be called from applications - * only and returns a new fully functional ORB object + * only and returns a new fully functional {@code ORB} object * each time it is called. - * @param args command-line arguments for the application's main - * method; may be null - * @param props application-specific properties; may be null + * @param args command-line arguments for the application's {@code main} + * method; may be {@code null} + * @param props application-specific properties; may be {@code null} * @return the newly-created ORB instance * * @implNote @@ -394,11 +394,11 @@ abstract public class ORB { /** - * Creates a new ORB instance for an applet. This + * Creates a new {@code ORB} instance for an applet. This * method may be called from applets only and returns a new - * fully-functional ORB object each time it is called. - * @param app the applet; may be null - * @param props applet-specific properties; may be null + * fully-functional {@code ORB} object each time it is called. + * @param app the applet; may be {@code null} + * @param props applet-specific properties; may be {@code null} * @return the newly-created ORB instance * * @implNote @@ -430,11 +430,11 @@ abstract public class ORB { * Allows the ORB implementation to be initialized with the given * parameters and properties. This method, used in applications only, * is implemented by subclass ORB implementations and called - * by the appropriate init method to pass in its parameters. + * by the appropriate {@code init} method to pass in its parameters. * - * @param args command-line arguments for the application's main - * method; may be null - * @param props application-specific properties; may be null + * @param args command-line arguments for the application's {@code main} + * method; may be {@code null} + * @param props application-specific properties; may be {@code null} */ abstract protected void set_parameters(String[] args, Properties props); @@ -442,10 +442,10 @@ abstract public class ORB { * Allows the ORB implementation to be initialized with the given * applet and parameters. This method, used in applets only, * is implemented by subclass ORB implementations and called - * by the appropriate init method to pass in its parameters. + * by the appropriate {@code init} method to pass in its parameters. * - * @param app the applet; may be null - * @param props applet-specific properties; may be null + * @param app the applet; may be {@code null} + * @param props applet-specific properties; may be {@code null} */ abstract protected void set_parameters(Applet app, Properties props); @@ -453,17 +453,17 @@ abstract public class ORB { * Connects the given servant object (a Java object that is * an instance of the server implementation class) * to the ORB. The servant class must - * extend the ImplBase class corresponding to the interface that is + * extend the {@code ImplBase} class corresponding to the interface that is * supported by the server. The servant must thus be a CORBA object - * reference, and inherit from org.omg.CORBA.Object. + * reference, and inherit from {@code org.omg.CORBA.Object}. * Servants created by the user can start receiving remote invocations - * after the method connect has been called. A servant may also be + * after the method {@code connect} has been called. A servant may also be * automatically and implicitly connected to the ORB if it is passed as * an IDL parameter in an IDL method invocation on a non-local object, * that is, if the servant object has to be marshalled and sent outside of the * process address space. *

      - * Calling the method connect has no effect + * Calling the method {@code connect} has no effect * when the servant object is already connected to the ORB. *

      * Deprecated by the OMG in favor of the Portable Object Adapter APIs. @@ -477,17 +477,17 @@ abstract public class ORB { /** * Destroys the ORB so that its resources can be reclaimed. * Any operation invoked on a destroyed ORB reference will throw the - * OBJECT_NOT_EXIST exception. - * Once an ORB has been destroyed, another call to init + * {@code OBJECT_NOT_EXIST} exception. + * Once an ORB has been destroyed, another call to {@code init} * with the same ORBid will return a reference to a newly constructed ORB.

      - * If destroy is called on an ORB that has not been shut down, + * If {@code destroy} is called on an ORB that has not been shut down, * it will start the shut down process and block until the ORB has shut down * before it destroys the ORB.
      - * If an application calls destroy in a thread that is currently servicing - * an invocation, the BAD_INV_ORDER system exception will be thrown + * If an application calls {@code destroy} in a thread that is currently servicing + * an invocation, the {@code BAD_INV_ORDER} system exception will be thrown * with the OMG minor code 3, since blocking would result in a deadlock.

      * For maximum portability and to avoid resource leaks, an application should - * always call shutdown and destroy + * always call {@code shutdown} and {@code destroy} * on all ORB instances before exiting. * * @throws org.omg.CORBA.BAD_INV_ORDER if the current thread is servicing an invocation @@ -500,14 +500,14 @@ abstract public class ORB { * Disconnects the given servant object from the ORB. After this method returns, * the ORB will reject incoming remote requests for the disconnected * servant and will send the exception - * org.omg.CORBA.OBJECT_NOT_EXIST back to the + * {@code org.omg.CORBA.OBJECT_NOT_EXIST} back to the * remote client. Thus the object appears to be destroyed from the * point of view of remote clients. Note, however, that local requests issued * using the servant directly do not * pass through the ORB; hence, they will continue to be processed by the * servant. *

      - * Calling the method disconnect has no effect + * Calling the method {@code disconnect} has no effect * if the servant is not connected to the ORB. *

      * Deprecated by the OMG in favor of the Portable Object Adapter APIs. @@ -535,7 +535,7 @@ abstract public class ORB { * Returns a list of the initially available CORBA object references, * such as "NameService" and "InterfaceRepository". * - * @return an array of String objects that represent + * @return an array of {@code String} objects that represent * the object references for CORBA services * that are initially available with this ORB */ @@ -559,8 +559,8 @@ abstract public class ORB { * strings generated by a different ORB to be converted back into an object * reference. *

      - * The resulting String object may be stored or communicated - * in any way that a String object can be manipulated. + * The resulting {@code String} object may be stored or communicated + * in any way that a {@code String} object can be manipulated. * * @param obj the object reference to stringify * @return the string representing the object reference @@ -568,43 +568,43 @@ abstract public class ORB { abstract public String object_to_string(org.omg.CORBA.Object obj); /** - * Converts a string produced by the method object_to_string + * Converts a string produced by the method {@code object_to_string} * back to a CORBA object reference. * * @param str the string to be converted back to an object reference. It must * be the result of converting an object reference to a string using the - * method object_to_string. + * method {@code object_to_string}. * @return the object reference */ abstract public org.omg.CORBA.Object string_to_object(String str); /** - * Allocates an NVList with (probably) enough - * space for the specified number of NamedValue objects. + * Allocates an {@code NVList} with (probably) enough + * space for the specified number of {@code NamedValue} objects. * Note that the specified size is only a hint to help with * storage allocation and does not imply the maximum size of the list. * - * @param count suggested number of NamedValue objects for + * @param count suggested number of {@code NamedValue} objects for * which to allocate space - * @return the newly-created NVList + * @return the newly-created {@code NVList} * * @see NVList */ abstract public NVList create_list(int count); /** - * Creates an NVList initialized with argument + * Creates an {@code NVList} initialized with argument * descriptions for the operation described in the given - * OperationDef object. This OperationDef object + * {@code OperationDef} object. This {@code OperationDef} object * is obtained from an Interface Repository. The arguments in the - * returned NVList object are in the same order as in the + * returned {@code NVList} object are in the same order as in the * original IDL operation definition, which makes it possible for the list * to be used in dynamic invocation requests. * - * @param oper the OperationDef object to use to create the list - * @return a newly-created NVList object containing + * @param oper the {@code OperationDef} object to use to create the list + * @return a newly-created {@code NVList} object containing * descriptions of the arguments to the method described in the given - * OperationDef object + * {@code OperationDef} object * * @see NVList */ @@ -657,63 +657,63 @@ abstract public class ORB { /** - * Creates a NamedValue object + * Creates a {@code NamedValue} object * using the given name, value, and argument mode flags. *

      - * A NamedValue object serves as (1) a parameter or return + * A {@code NamedValue} object serves as (1) a parameter or return * value or (2) a context property. * It may be used by itself or - * as an element in an NVList object. + * as an element in an {@code NVList} object. * - * @param s the name of the NamedValue object - * @param any the Any value to be inserted into the - * NamedValue object - * @param flags the argument mode flags for the NamedValue: one of - * ARG_IN.value, ARG_OUT.value, - * or ARG_INOUT.value. + * @param s the name of the {@code NamedValue} object + * @param any the {@code Any} value to be inserted into the + * {@code NamedValue} object + * @param flags the argument mode flags for the {@code NamedValue}: one of + * {@code ARG_IN.value}, {@code ARG_OUT.value}, + * or {@code ARG_INOUT.value}. * - * @return the newly-created NamedValue object + * @return the newly-created {@code NamedValue} object * @see NamedValue */ abstract public NamedValue create_named_value(String s, Any any, int flags); /** - * Creates an empty ExceptionList object. + * Creates an empty {@code ExceptionList} object. * - * @return the newly-created ExceptionList object + * @return the newly-created {@code ExceptionList} object */ abstract public ExceptionList create_exception_list(); /** - * Creates an empty ContextList object. + * Creates an empty {@code ContextList} object. * - * @return the newly-created ContextList object + * @return the newly-created {@code ContextList} object * @see ContextList * @see Context */ abstract public ContextList create_context_list(); /** - * Gets the default Context object. + * Gets the default {@code Context} object. * - * @return the default Context object + * @return the default {@code Context} object * @see Context */ abstract public Context get_default_context(); /** - * Creates an Environment object. + * Creates an {@code Environment} object. * - * @return the newly-created Environment object + * @return the newly-created {@code Environment} object * @see Environment */ abstract public Environment create_environment(); /** - * Creates a new org.omg.CORBA.portable.OutputStream into which + * Creates a new {@code org.omg.CORBA.portable.OutputStream} into which * IDL method parameters can be marshalled during method invocation. - * @return the newly-created - * org.omg.CORBA.portable.OutputStream object + * @return the newly-created + * {@code org.omg.CORBA.portable.OutputStream} object */ abstract public org.omg.CORBA.portable.OutputStream create_output_stream(); @@ -722,31 +722,31 @@ abstract public class ORB { * any responses. Note that oneway invocations are not guaranteed to * reach the server. * - * @param req an array of request objects + * @param req an array of request objects */ abstract public void send_multiple_requests_oneway(Request[] req); /** * Sends multiple dynamic (DII) requests asynchronously. * - * @param req an array of Request objects + * @param req an array of {@code Request} objects */ abstract public void send_multiple_requests_deferred(Request[] req); /** * Finds out if any of the deferred (asynchronous) invocations have * a response yet. - * @return true if there is a response available; - * false otherwise + * @return {@code true} if there is a response available; + * {@code false} otherwise */ abstract public boolean poll_next_response(); /** - * Gets the next Request instance for which a response + * Gets the next {@code Request} instance for which a response * has been received. * - * @return the next Request object ready with a response - * @exception WrongTransaction if the method get_next_response + * @return the next {@code Request} object ready with a response + * @exception WrongTransaction if the method {@code get_next_response} * is called from a transaction scope different * from the one from which the original request was sent. See the * OMG Transaction Service specification for details. @@ -754,150 +754,150 @@ abstract public class ORB { abstract public Request get_next_response() throws WrongTransaction; /** - * Retrieves the TypeCode object that represents + * Retrieves the {@code TypeCode} object that represents * the given primitive IDL type. * - * @param tcKind the TCKind instance corresponding to the + * @param tcKind the {@code TCKind} instance corresponding to the * desired primitive type - * @return the requested TypeCode object + * @return the requested {@code TypeCode} object */ abstract public TypeCode get_primitive_tc(TCKind tcKind); /** - * Creates a TypeCode object representing an IDL struct. - * The TypeCode object is initialized with the given id, + * Creates a {@code TypeCode} object representing an IDL {@code struct}. + * The {@code TypeCode} object is initialized with the given id, * name, and members. * - * @param id the repository id for the struct - * @param name the name of the struct - * @param members an array describing the members of the struct - * @return a newly-created TypeCode object describing - * an IDL struct + * @param id the repository id for the {@code struct} + * @param name the name of the {@code struct} + * @param members an array describing the members of the {@code struct} + * @return a newly-created {@code TypeCode} object describing + * an IDL {@code struct} */ abstract public TypeCode create_struct_tc(String id, String name, StructMember[] members); /** - * Creates a TypeCode object representing an IDL union. - * The TypeCode object is initialized with the given id, + * Creates a {@code TypeCode} object representing an IDL {@code union}. + * The {@code TypeCode} object is initialized with the given id, * name, discriminator type, and members. * - * @param id the repository id of the union - * @param name the name of the union - * @param discriminator_type the type of the union discriminator - * @param members an array describing the members of the union - * @return a newly-created TypeCode object describing - * an IDL union + * @param id the repository id of the {@code union} + * @param name the name of the {@code union} + * @param discriminator_type the type of the {@code union} discriminator + * @param members an array describing the members of the {@code union} + * @return a newly-created {@code TypeCode} object describing + * an IDL {@code union} */ abstract public TypeCode create_union_tc(String id, String name, TypeCode discriminator_type, UnionMember[] members); /** - * Creates a TypeCode object representing an IDL enum. - * The TypeCode object is initialized with the given id, + * Creates a {@code TypeCode} object representing an IDL {@code enum}. + * The {@code TypeCode} object is initialized with the given id, * name, and members. * - * @param id the repository id for the enum - * @param name the name for the enum - * @param members an array describing the members of the enum - * @return a newly-created TypeCode object describing - * an IDL enum + * @param id the repository id for the {@code enum} + * @param name the name for the {@code enum} + * @param members an array describing the members of the {@code enum} + * @return a newly-created {@code TypeCode} object describing + * an IDL {@code enum} */ abstract public TypeCode create_enum_tc(String id, String name, String[] members); /** - * Creates a TypeCode object representing an IDL alias - * (typedef). - * The TypeCode object is initialized with the given id, + * Creates a {@code TypeCode} object representing an IDL {@code alias} + * ({@code typedef}). + * The {@code TypeCode} object is initialized with the given id, * name, and original type. * * @param id the repository id for the alias * @param name the name for the alias * @param original_type - * the TypeCode object describing the original type - * for which this is an alias - * @return a newly-created TypeCode object describing - * an IDL alias + * the {@code TypeCode} object describing the original type + * for which this is an alias + * @return a newly-created {@code TypeCode} object describing + * an IDL {@code alias} */ abstract public TypeCode create_alias_tc(String id, String name, TypeCode original_type); /** - * Creates a TypeCode object representing an IDL exception. - * The TypeCode object is initialized with the given id, + * Creates a {@code TypeCode} object representing an IDL {@code exception}. + * The {@code TypeCode} object is initialized with the given id, * name, and members. * - * @param id the repository id for the exception - * @param name the name for the exception - * @param members an array describing the members of the exception - * @return a newly-created TypeCode object describing - * an IDL exception + * @param id the repository id for the {@code exception} + * @param name the name for the {@code exception} + * @param members an array describing the members of the {@code exception} + * @return a newly-created {@code TypeCode} object describing + * an IDL {@code exception} */ abstract public TypeCode create_exception_tc(String id, String name, StructMember[] members); /** - * Creates a TypeCode object representing an IDL interface. - * The TypeCode object is initialized with the given id + * Creates a {@code TypeCode} object representing an IDL {@code interface}. + * The {@code TypeCode} object is initialized with the given id * and name. * - * @param id the repository id for the interface - * @param name the name for the interface - * @return a newly-created TypeCode object describing - * an IDL interface + * @param id the repository id for the interface + * @param name the name for the interface + * @return a newly-created {@code TypeCode} object describing + * an IDL {@code interface} */ abstract public TypeCode create_interface_tc(String id, String name); /** - * Creates a TypeCode object representing a bounded IDL - * string. - * The TypeCode object is initialized with the given bound, + * Creates a {@code TypeCode} object representing a bounded IDL + * {@code string}. + * The {@code TypeCode} object is initialized with the given bound, * which represents the maximum length of the string. Zero indicates * that the string described by this type code is unbounded. * - * @param bound the bound for the string; cannot be negative - * @return a newly-created TypeCode object describing - * a bounded IDL string + * @param bound the bound for the {@code string}; cannot be negative + * @return a newly-created {@code TypeCode} object describing + * a bounded IDL {@code string} * @exception BAD_PARAM if bound is a negative value */ abstract public TypeCode create_string_tc(int bound); /** - * Creates a TypeCode object representing a bounded IDL - * wstring (wide string). - * The TypeCode object is initialized with the given bound, + * Creates a {@code TypeCode} object representing a bounded IDL + * {@code wstring} (wide string). + * The {@code TypeCode} object is initialized with the given bound, * which represents the maximum length of the wide string. Zero indicates * that the string described by this type code is unbounded. * - * @param bound the bound for the wstring; cannot be negative - * @return a newly-created TypeCode object describing - * a bounded IDL wstring + * @param bound the bound for the {@code wstring}; cannot be negative + * @return a newly-created {@code TypeCode} object describing + * a bounded IDL {@code wstring} * @exception BAD_PARAM if bound is a negative value */ abstract public TypeCode create_wstring_tc(int bound); /** - * Creates a TypeCode object representing an IDL sequence. - * The TypeCode object is initialized with the given bound and + * Creates a {@code TypeCode} object representing an IDL {@code sequence}. + * The {@code TypeCode} object is initialized with the given bound and * element type. * - * @param bound the bound for the sequence, 0 if unbounded - * @param element_type - * the TypeCode object describing the elements - * contained in the sequence - * @return a newly-created TypeCode object describing - * an IDL sequence + * @param bound the bound for the {@code sequence}, 0 if unbounded + * @param element_type the {@code TypeCode} object describing + * the elements contained in the {@code sequence} + * + * @return a newly-created {@code TypeCode} object describing + * an IDL {@code sequence} */ abstract public TypeCode create_sequence_tc(int bound, TypeCode element_type); /** - * Creates a TypeCode object representing a - * a recursive IDL sequence. + * Creates a {@code TypeCode} object representing a + * a recursive IDL {@code sequence}. *

      - * For the IDL struct Node in following code fragment, + * For the IDL {@code struct} Node in following code fragment, * the offset parameter for creating its sequence would be 1: *

            *    Struct Node {
      @@ -907,10 +907,10 @@ abstract public class ORB {
            * 
      * * @param bound the bound for the sequence, 0 if unbounded - * @param offset the index to the enclosing TypeCode object + * @param offset the index to the enclosing {@code TypeCode} object * that describes the elements of this sequence - * @return a newly-created TypeCode object describing - * a recursive sequence + * @return a newly-created {@code TypeCode} object describing + * a recursive sequence * @deprecated Use a combination of create_recursive_tc and create_sequence_tc instead * @see #create_recursive_tc(String) create_recursive_tc * @see #create_sequence_tc(int, TypeCode) create_sequence_tc @@ -919,20 +919,20 @@ abstract public class ORB { abstract public TypeCode create_recursive_sequence_tc(int bound, int offset); /** - * Creates a TypeCode object representing an IDL array. - * The TypeCode object is initialized with the given length and + * Creates a {@code TypeCode} object representing an IDL {@code array}. + * The {@code TypeCode} object is initialized with the given length and * element type. * - * @param length the length of the array - * @param element_type a TypeCode object describing the type - * of element contained in the array - * @return a newly-created TypeCode object describing - * an IDL array + * @param length the length of the {@code array} + * @param element_type a {@code TypeCode} object describing the type + * of element contained in the {@code array} + * @return a newly-created {@code TypeCode} object describing + * an IDL {@code array} */ abstract public TypeCode create_array_tc(int length, TypeCode element_type); /** - * Create a TypeCode object for an IDL native type. + * Create a {@code TypeCode} object for an IDL native type. * * @param id the logical id for the native type. * @param name the name of the native type. @@ -945,7 +945,7 @@ abstract public class ORB { } /** - * Create a TypeCode object for an IDL abstract interface. + * Create a {@code TypeCode} object for an IDL abstract interface. * * @param id the logical id for the abstract interface type. * @param name the name of the abstract interface type. @@ -960,7 +960,7 @@ abstract public class ORB { /** - * Create a TypeCode object for an IDL fixed type. + * Create a {@code TypeCode} object for an IDL fixed type. * * @param digits specifies the total number of decimal digits in the number * and must be from 1 to 31 inclusive. @@ -977,7 +977,7 @@ abstract public class ORB { /** - * Create a TypeCode object for an IDL value type. + * Create a {@code TypeCode} object for an IDL value type. * The concrete_base parameter is the TypeCode for the immediate * concrete valuetype base of the valuetype for which the TypeCode * is being created. @@ -987,7 +987,7 @@ abstract public class ORB { * @param name the name of the value type. * @param type_modifier one of the value type modifier constants: * VM_NONE, VM_CUSTOM, VM_ABSTRACT or VM_TRUNCATABLE - * @param concrete_base a TypeCode object + * @param concrete_base a {@code TypeCode} object * describing the concrete valuetype base * @param members an array containing the members of the value type * @return the requested TypeCode @@ -1002,14 +1002,14 @@ abstract public class ORB { } /** - * Create a recursive TypeCode object which + * Create a recursive {@code TypeCode} object which * serves as a placeholder for a concrete TypeCode during the process of creating * TypeCodes which contain recursion. The id parameter specifies the repository id of * the type for which the recursive TypeCode is serving as a placeholder. Once the * recursive TypeCode has been properly embedded in the enclosing TypeCode which * corresponds to the specified repository id, it will function as a normal TypeCode. * Invoking operations on the recursive TypeCode before it has been embedded in the - * enclosing TypeCode will result in a BAD_TYPECODE exception. + * enclosing TypeCode will result in a {@code BAD_TYPECODE} exception. *

      * For example, the following IDL type declaration contains recursion: *

      @@ -1046,7 +1046,7 @@ abstract public class ORB {
           }
       
           /**
      -     * Creates a TypeCode object for an IDL value box.
      +     * Creates a {@code TypeCode} object for an IDL value box.
            *
            * @param id                 the logical id for the value type
            * @param name               the name of the value type
      @@ -1064,11 +1064,11 @@ abstract public class ORB {
           // orbos 98-01-18: Objects By Value -- end
       
           /**
      -     * Creates an IDL Any object initialized to
      -     * contain a Typecode object whose kind field
      -     * is set to TCKind.tc_null.
      +     * Creates an IDL {@code Any} object initialized to
      +     * contain a {@code Typecode} object whose {@code kind} field
      +     * is set to {@code TCKind.tc_null}.
            *
      -     * @return          a newly-created Any object
      +     * @return          a newly-created {@code Any} object
            */
           abstract public Any create_any();
       
      @@ -1076,15 +1076,15 @@ abstract public class ORB {
       
       
           /**
      -     * Retrieves a Current object.
      -     * The Current interface is used to manage thread-specific
      +     * Retrieves a {@code Current} object.
      +     * The {@code Current} interface is used to manage thread-specific
            * information for use by services such as transactions and security.
            *
            * @see CORBA package
            *      comments for unimplemented features
            *
      -     * @return          a newly-created Current object
      -     * @deprecated      use resolve_initial_references.
      +     * @return          a newly-created {@code Current} object
      +     * @deprecated      use {@code resolve_initial_references}.
            */
           @Deprecated
           public org.omg.CORBA.Current get_current()
      @@ -1095,7 +1095,7 @@ abstract public class ORB {
           /**
            * This operation blocks the current thread until the ORB has
            * completed the shutdown process, initiated when some thread calls
      -     * shutdown. It may be used by multiple threads which
      +     * {@code shutdown}. It may be used by multiple threads which
            * get all notified when the ORB shuts down.
            *
            */
      @@ -1107,29 +1107,29 @@ abstract public class ORB {
           /**
            * Instructs the ORB to shut down, which causes all
            * object adapters to shut down, in preparation for destruction.
      - * If the wait_for_completion parameter + * If the {@code wait_for_completion} parameter * is true, this operation blocks until all ORB processing (including * processing of currently executing requests, object deactivation, * and other object adapter operations) has completed. * If an application does this in a thread that is currently servicing - * an invocation, the BAD_INV_ORDER system exception + * an invocation, the {@code BAD_INV_ORDER} system exception * will be thrown with the OMG minor code 3, * since blocking would result in a deadlock.
      - * If the wait_for_completion parameter is FALSE, + * If the {@code wait_for_completion} parameter is {@code FALSE}, * then shutdown may not have completed upon return.

      * While the ORB is in the process of shutting down, the ORB operates as normal, * servicing incoming and outgoing requests until all requests have been completed. * Once an ORB has shutdown, only object reference management operations * may be invoked on the ORB or any object reference obtained from it. - * An application may also invoke the destroy operation on the ORB itself. - * Invoking any other operation will throw the BAD_INV_ORDER + * An application may also invoke the {@code destroy} operation on the ORB itself. + * Invoking any other operation will throw the {@code BAD_INV_ORDER} * system exception with the OMG minor code 4.

      - * The ORB.run method will return after - * shutdown has been called. + * The {@code ORB.run} method will return after + * {@code shutdown} has been called. * - * @param wait_for_completion true if the call + * @param wait_for_completion {@code true} if the call * should block until the shutdown is complete; - * false if it should return immediately + * {@code false} if it should return immediately * @throws org.omg.CORBA.BAD_INV_ORDER if the current thread is servicing * an invocation */ @@ -1139,12 +1139,12 @@ abstract public class ORB { } /** - * Returns true if the ORB needs the main thread to - * perform some work, and false if the ORB does not + * Returns {@code true} if the ORB needs the main thread to + * perform some work, and {@code false} if the ORB does not * need the main thread. * - * @return true if there is work pending, meaning that the ORB - * needs the main thread to perform some work; false + * @return {@code true} if there is work pending, meaning that the ORB + * needs the main thread to perform some work; {@code false} * if there is no work pending and thus the ORB does not need the * main thread * @@ -1157,7 +1157,7 @@ abstract public class ORB { /** * Performs an implementation-dependent unit of work if called * by the main thread. Otherwise it does nothing. - * The methods work_pending and perform_work + * The methods {@code work_pending} and {@code perform_work} * can be used in * conjunction to implement a simple polling loop that multiplexes * the main thread among the ORB and other activities. @@ -1172,23 +1172,23 @@ abstract public class ORB { * Used to obtain information about CORBA facilities and services * that are supported by this ORB. The service type for which * information is being requested is passed in as the in - * parameter service_type, the values defined by + * parameter {@code service_type}, the values defined by * constants in the CORBA module. If service information is * available for that type, that is returned in the out parameter - * service_info, and the operation returns the - * value true. If no information for the requested - * services type is available, the operation returns false + * {@code service_info}, and the operation returns the + * value {@code true}. If no information for the requested + * services type is available, the operation returns {@code false} * (i.e., the service is not supported by this ORB). * - * @param service_type a short indicating the + * @param service_type a {@code short} indicating the * service type for which information is being requested - * @param service_info a ServiceInformationHolder object - * that will hold the ServiceInformation object + * @param service_info a {@code ServiceInformationHolder} object + * that will hold the {@code ServiceInformation} object * produced by this method - * @return true if service information is available - * for the service_type; - * false if no information for the - * requested services type is available + * @return {@code true} if service information is available + * for the {@code service_type}; + * {@code false} if no information for the + * requested services type is available * @see CORBA package * comments for unimplemented features */ @@ -1201,13 +1201,13 @@ abstract public class ORB { // orbos 98-01-18: Objects By Value -- begin /** - * Creates a new DynAny object from the given - * Any object. + * Creates a new {@code DynAny} object from the given + * {@code Any} object. * - * @param value the Any object from which to create a new - * DynAny object - * @return the new DynAny object created from the given - * Any object + * @param value the {@code Any} object from which to create a new + * {@code DynAny} object + * @return the new {@code DynAny} object created from the given + * {@code Any} object * @see CORBA package * comments for unimplemented features * @deprecated Use the new DynAnyFactory API instead @@ -1219,15 +1219,15 @@ abstract public class ORB { } /** - * Creates a basic DynAny object from the given - * TypeCode object. + * Creates a basic {@code DynAny} object from the given + * {@code TypeCode} object. * - * @param type the TypeCode object from which to create a new - * DynAny object - * @return the new DynAny object created from the given - * TypeCode object + * @param type the {@code TypeCode} object from which to create a new + * {@code DynAny} object + * @return the new {@code DynAny} object created from the given + * {@code TypeCode} object * @throws org.omg.CORBA.ORBPackage.InconsistentTypeCode if the given - * TypeCode object is not consistent with the operation. + * {@code TypeCode} object is not consistent with the operation. * @see CORBA package * comments for unimplemented features * @deprecated Use the new DynAnyFactory API instead @@ -1239,15 +1239,15 @@ abstract public class ORB { } /** - * Creates a new DynStruct object from the given - * TypeCode object. + * Creates a new {@code DynStruct} object from the given + * {@code TypeCode} object. * - * @param type the TypeCode object from which to create a new - * DynStruct object - * @return the new DynStruct object created from the given - * TypeCode object + * @param type the {@code TypeCode} object from which to create a new + * {@code DynStruct} object + * @return the new {@code DynStruct} object created from the given + * {@code TypeCode} object * @throws org.omg.CORBA.ORBPackage.InconsistentTypeCode if the given - * TypeCode object is not consistent with the operation. + * {@code TypeCode} object is not consistent with the operation. * @see CORBA package * comments for unimplemented features * @deprecated Use the new DynAnyFactory API instead @@ -1259,15 +1259,15 @@ abstract public class ORB { } /** - * Creates a new DynSequence object from the given - * TypeCode object. + * Creates a new {@code DynSequence} object from the given + * {@code TypeCode} object. * - * @param type the TypeCode object from which to create a new - * DynSequence object - * @return the new DynSequence object created from the given - * TypeCode object + * @param type the {@code TypeCode} object from which to create a new + * {@code DynSequence} object + * @return the new {@code DynSequence} object created from the given + * {@code TypeCode} object * @throws org.omg.CORBA.ORBPackage.InconsistentTypeCode if the given - * TypeCode object is not consistent with the operation. + * {@code TypeCode} object is not consistent with the operation. * @see CORBA package * comments for unimplemented features * @deprecated Use the new DynAnyFactory API instead @@ -1280,15 +1280,15 @@ abstract public class ORB { /** - * Creates a new DynArray object from the given - * TypeCode object. + * Creates a new {@code DynArray} object from the given + * {@code TypeCode} object. * - * @param type the TypeCode object from which to create a new - * DynArray object - * @return the new DynArray object created from the given - * TypeCode object + * @param type the {@code TypeCode} object from which to create a new + * {@code DynArray} object + * @return the new {@code DynArray} object created from the given + * {@code TypeCode} object * @throws org.omg.CORBA.ORBPackage.InconsistentTypeCode if the given - * TypeCode object is not consistent with the operation. + * {@code TypeCode} object is not consistent with the operation. * @see CORBA package * comments for unimplemented features * @deprecated Use the new DynAnyFactory API instead @@ -1300,15 +1300,15 @@ abstract public class ORB { } /** - * Creates a new DynUnion object from the given - * TypeCode object. + * Creates a new {@code DynUnion} object from the given + * {@code TypeCode} object. * - * @param type the TypeCode object from which to create a new - * DynUnion object - * @return the new DynUnion object created from the given - * TypeCode object + * @param type the {@code TypeCode} object from which to create a new + * {@code DynUnion} object + * @return the new {@code DynUnion} object created from the given + * {@code TypeCode} object * @throws org.omg.CORBA.ORBPackage.InconsistentTypeCode if the given - * TypeCode object is not consistent with the operation. + * {@code TypeCode} object is not consistent with the operation. * @see CORBA package * comments for unimplemented features * @deprecated Use the new DynAnyFactory API instead @@ -1320,15 +1320,15 @@ abstract public class ORB { } /** - * Creates a new DynEnum object from the given - * TypeCode object. + * Creates a new {@code DynEnum} object from the given + * {@code TypeCode} object. * - * @param type the TypeCode object from which to create a new - * DynEnum object - * @return the new DynEnum object created from the given - * TypeCode object + * @param type the {@code TypeCode} object from which to create a new + * {@code DynEnum} object + * @return the new {@code DynEnum} object created from the given + * {@code TypeCode} object * @throws org.omg.CORBA.ORBPackage.InconsistentTypeCode if the given - * TypeCode object is not consistent with the operation. + * {@code TypeCode} object is not consistent with the operation. * @see CORBA package * comments for unimplemented features * @deprecated Use the new DynAnyFactory API instead @@ -1342,19 +1342,19 @@ abstract public class ORB { /** * Can be invoked to create new instances of policy objects * of a specific type with specified initial state. If - * create_policy fails to instantiate a new Policy + * {@code create_policy} fails to instantiate a new Policy * object due to its inability to interpret the requested type - * and content of the policy, it raises the PolicyError + * and content of the policy, it raises the {@code PolicyError} * exception with the appropriate reason. - * @param type the PolicyType of the policy object to + * @param type the {@code PolicyType} of the policy object to * be created * @param val the value that will be used to set the initial - * state of the Policy object that is created - * @return Reference to a newly created Policy object - * of type specified by the type parameter and - * initialized to a state specified by the val + * state of the {@code Policy} object that is created + * @return Reference to a newly created {@code Policy} object + * of type specified by the {@code type} parameter and + * initialized to a state specified by the {@code val} * parameter - * @throws org.omg.CORBA.PolicyError when the requested + * @throws org.omg.CORBA.PolicyError when the requested * policy is not supported or a requested initial state * for the policy is not supported. */ diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/ObjectHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/ObjectHelper.java index 4de52c2cb94..85aa169c32d 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/ObjectHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/ObjectHelper.java @@ -24,10 +24,10 @@ */ /** -* The Helper for Object. For more information on -* Helper files, see -* "Generated Files: Helper Files".

      -*/ + * The Helper for {@code Object}. For more information on + * Helper files, see + * "Generated Files: Helper Files".

      + */ /* * Licensed Materials - Property of IBM diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/ObjectHolder.java b/corba/src/java.corba/share/classes/org/omg/CORBA/ObjectHolder.java index cce02427bc4..f83f3b3aa1b 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/ObjectHolder.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/ObjectHolder.java @@ -31,55 +31,55 @@ import org.omg.CORBA.portable.OutputStream; /** - * The Holder for Object. For more information on + * The Holder for {@code Object}. For more information on * Holder files, see * "Generated Files: Holder Files".

      * A Holder class for a CORBA object reference (a value of type - * org.omg.CORBA.Object). It is usually + * {@code org.omg.CORBA.Object}). It is usually * used to store "out" and "inout" parameters in IDL methods. * If an IDL method signature has a CORBA Object reference as an "out" * or "inout" parameter, the programmer must pass an instance of - * ObjectHolder as the corresponding + * {@code ObjectHolder} as the corresponding * parameter in the method invocation; for "inout" parameters, the programmer * must also fill the "in" value to be sent to the server. * Before the method invocation returns, the ORB will fill in the * value corresponding to the "out" value returned from the server. *

      - * If myObjectHolder is an instance of ObjectHolder, - * the value stored in its value field can be accessed with - * myObjectHolder.value. + * If {@code myObjectHolder} is an instance of {@code ObjectHolder}, + * the value stored in its {@code value} field can be accessed with + * {@code myObjectHolder.value}. * * @since JDK1.2 */ public final class ObjectHolder implements Streamable { /** - * The Object value held by this ObjectHolder + * The {@code Object} value held by this {@code ObjectHolder} * object. */ public Object value; /** - * Constructs a new ObjectHolder object with its - * value field initialized to null. + * Constructs a new {@code ObjectHolder} object with its + * {@code value} field initialized to {@code null}. */ public ObjectHolder() { } /** - * Constructs a new ObjectHolder object with its - * value field initialized to the given - * Object. - * @param initial the Object with which to initialize - * the value field of the newly-created - * ObjectHolder object + * Constructs a new {@code ObjectHolder} object with its + * {@code value} field initialized to the given + * {@code Object}. + * @param initial the {@code Object} with which to initialize + * the {@code value} field of the newly-created + * {@code ObjectHolder} object */ public ObjectHolder(Object initial) { value = initial; } /** - * Reads from input and initalizes the value in - * this ObjectHolder object + * Reads from {@code input} and initalizes the value in + * this {@code ObjectHolder} object * with the unmarshalled data. * * @param input the InputStream containing CDR formatted data from the wire. @@ -89,8 +89,8 @@ public final class ObjectHolder implements Streamable { } /** - * Marshals to output the value in - * this ObjectHolder object. + * Marshals to {@code output} the value in + * this {@code ObjectHolder} object. * * @param output the OutputStream which will contain the CDR formatted data. */ @@ -100,10 +100,10 @@ public final class ObjectHolder implements Streamable { /** * Returns the TypeCode corresponding to the value held in - * this ObjectHolder object + * this {@code ObjectHolder} object * * @return the TypeCode of the value held in - * this ObjectHolder object + * this {@code ObjectHolder} object */ public org.omg.CORBA.TypeCode _type() { return org.omg.CORBA.ORB.init().get_primitive_tc(TCKind.tk_objref); diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/OctetSeqHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/OctetSeqHelper.java index a937e471615..ca03a6a9f6c 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/OctetSeqHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/OctetSeqHelper.java @@ -26,26 +26,26 @@ package org.omg.CORBA; /** -* The Helper for OctetSeq. For more information on -* Helper files, see -* "Generated Files: Helper Files".

      -* org/omg/CORBA/OctetSeqHelper.java -* Generated by the IDL-to-Java compiler (portable), version "3.0" -* from streams.idl -* 13 May 1999 22:41:36 o'clock GMT+00:00 -* -* The class definition has been modified to conform to the following -* OMG specifications : -*

      -*/ + * The Helper for {@code OctetSeq}. For more information on + * Helper files, see + * "Generated Files: Helper Files".

      + * org/omg/CORBA/OctetSeqHelper.java + * Generated by the IDL-to-Java compiler (portable), version "3.0" + * from streams.idl + * 13 May 1999 22:41:36 o'clock GMT+00:00 + * + * The class definition has been modified to conform to the following + * OMG specifications : + *

        + *
      • ORB core as defined by CORBA 2.3.1 + * (formal/99-10-07) + *
      • + * + *
      • IDL/Java Language Mapping as defined in + * ptc/00-01-08 + *
      • + *
      + */ public abstract class OctetSeqHelper { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/OctetSeqHolder.java b/corba/src/java.corba/share/classes/org/omg/CORBA/OctetSeqHolder.java index 919b303609c..868aaddac86 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/OctetSeqHolder.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/OctetSeqHolder.java @@ -26,14 +26,14 @@ package org.omg.CORBA; /** -* The Holder for OctetSeq. For more information on -* Holder files, see -* "Generated Files: Holder Files".

      -* org/omg/CORBA/OctetSeqHolder.java -* Generated by the IDL-to-Java compiler (portable), version "3.0" -* from streams.idl -* 13 May 1999 22:41:36 o'clock GMT+00:00 -*/ + * The Holder for {@code OctetSeq}. For more information on + * Holder files, see + * "Generated Files: Holder Files".

      + * org/omg/CORBA/OctetSeqHolder.java + * Generated by the IDL-to-Java compiler (portable), version "3.0" + * from streams.idl + * 13 May 1999 22:41:36 o'clock GMT+00:00 + */ public final class OctetSeqHolder implements org.omg.CORBA.portable.Streamable { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/Policy.java b/corba/src/java.corba/share/classes/org/omg/CORBA/Policy.java index 4b131bc79ab..9fc9bef4952 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/Policy.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/Policy.java @@ -26,21 +26,21 @@ package org.omg.CORBA; /** -* Interfaces derived from the Policy interface allow an -* ORB or CORBA service access to certain choices that affect -* its operation. This information is accessed in a structured -* manner using interfaces derived from the Policy -* interface defined in the CORBA module. A CORBA service does not -* have to use this method of accessing operating options, but -* may choose to do so. The Security Service in particular uses -* this technique for associating Security Policy with objects -* in the system. -* An interface generated by the IDL-to-Java compiler. -* org/omg/CORBA/Policy.java -* Generated by the IDL-to-Java compiler (portable), version "3.0" -* from ../../../../../src/share/classes/org/omg/PortableServer/corba.idl -* Saturday, July 17, 1999 12:26:20 AM PDT -*/ + * Interfaces derived from the {@code Policy} interface allow an + * ORB or CORBA service access to certain choices that affect + * its operation. This information is accessed in a structured + * manner using interfaces derived from the {@code Policy} + * interface defined in the CORBA module. A CORBA service does not + * have to use this method of accessing operating options, but + * may choose to do so. The Security Service in particular uses + * this technique for associating Security Policy with objects + * in the system. + * An interface generated by the IDL-to-Java compiler. + * org/omg/CORBA/Policy.java + * Generated by the IDL-to-Java compiler (portable), version "3.0" + * from ../../../../../src/share/classes/org/omg/PortableServer/corba.idl + * Saturday, July 17, 1999 12:26:20 AM PDT + */ public interface Policy extends PolicyOperations, org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/PolicyHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/PolicyHelper.java index 0d2aa4f8070..a775affbc85 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/PolicyHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/PolicyHelper.java @@ -26,14 +26,14 @@ package org.omg.CORBA; /** -* The Helper for Policy. For more information on -* Helper files, see -* "Generated Files: Helper Files".

      -* org/omg/CORBA/PolicyHelper.java -* Generated by the IDL-to-Java compiler (portable), version "3.0" -* from ../../../../../src/share/classes/org/omg/PortableServer/corba.idl -* Saturday, July 17, 1999 12:26:20 AM PDT -*/ + * The Helper for {@code Policy}. For more information on + * Helper files, see + * "Generated Files: Helper Files".

      + * org/omg/CORBA/PolicyHelper.java + * Generated by the IDL-to-Java compiler (portable), version "3.0" + * from ../../../../../src/share/classes/org/omg/PortableServer/corba.idl + * Saturday, July 17, 1999 12:26:20 AM PDT + */ abstract public class PolicyHelper { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/PolicyHolder.java b/corba/src/java.corba/share/classes/org/omg/CORBA/PolicyHolder.java index 766617454bd..0d395d4c9fe 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/PolicyHolder.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/PolicyHolder.java @@ -25,14 +25,14 @@ package org.omg.CORBA; /** -* The Holder for Policy. For more information on -* Holder files, see -* "Generated Files: Holder Files".

      -* org/omg/CORBA/PolicyHolder.java -* Generated by the IDL-to-Java compiler (portable), version "3.0" -* from ../../../../../src/share/classes/org/omg/PortableServer/corba.idl -* Saturday, July 17, 1999 12:26:20 AM PDT -*/ + * The Holder for {@code Policy}. For more information on + * Holder files, see + * "Generated Files: Holder Files".

      + * org/omg/CORBA/PolicyHolder.java + * Generated by the IDL-to-Java compiler (portable), version "3.0" + * from ../../../../../src/share/classes/org/omg/PortableServer/corba.idl + * Saturday, July 17, 1999 12:26:20 AM PDT + */ public final class PolicyHolder implements org.omg.CORBA.portable.Streamable { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/PolicyListHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/PolicyListHelper.java index f9dd1aaaa24..8877c68ea1f 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/PolicyListHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/PolicyListHelper.java @@ -26,14 +26,14 @@ package org.omg.CORBA; /** -* The Helper for PolicyList. For more information on -* Helper files, see -* "Generated Files: Helper Files".

      -* org/omg/CORBA/PolicyListHelper.java -* Generated by the IDL-to-Java compiler (portable), version "3.0" -* from ../../../../../src/share/classes/org/omg/PortableServer/corba.idl -* Saturday, July 17, 1999 12:26:21 AM PDT -*/ + * The Helper for {@code PolicyList}. For more information on + * Helper files, see + * "Generated Files: Helper Files".

      + * org/omg/CORBA/PolicyListHelper.java + * Generated by the IDL-to-Java compiler (portable), version "3.0" + * from ../../../../../src/share/classes/org/omg/PortableServer/corba.idl + * Saturday, July 17, 1999 12:26:21 AM PDT + */ abstract public class PolicyListHelper { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/PolicyListHolder.java b/corba/src/java.corba/share/classes/org/omg/CORBA/PolicyListHolder.java index 25360e75501..5eb11026896 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/PolicyListHolder.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/PolicyListHolder.java @@ -26,14 +26,14 @@ package org.omg.CORBA; /** -* The Holder for PolicyList. For more information on -* Holder files, see -* "Generated Files: Holder Files".

      -* org/omg/CORBA/PolicyListHolder.java -* Generated by the IDL-to-Java compiler (portable), version "3.0" -* from ../../../../../src/share/classes/org/omg/PortableServer/corba.idl -* Saturday, July 17, 1999 12:26:21 AM PDT -*/ + * The Holder for {@code PolicyList}. For more information on + * Holder files, see + * "Generated Files: Holder Files".

      + * org/omg/CORBA/PolicyListHolder.java + * Generated by the IDL-to-Java compiler (portable), version "3.0" + * from ../../../../../src/share/classes/org/omg/PortableServer/corba.idl + * Saturday, July 17, 1999 12:26:21 AM PDT + */ public final class PolicyListHolder implements org.omg.CORBA.portable.Streamable { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/PolicyOperations.java b/corba/src/java.corba/share/classes/org/omg/CORBA/PolicyOperations.java index 1f16cd08992..305066f3df1 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/PolicyOperations.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/PolicyOperations.java @@ -26,18 +26,18 @@ package org.omg.CORBA; /** -* The interface for Policy. For more information on -* Operations interfaces, see -* "Generated Files: Operations files". -*

      -* org/omg/CORBA/PolicyOperations.java -* Generated by the IDL-to-Java compiler (portable), version "3.0" -* from ../../../../../src/share/classes/org/omg/PortableServer/corba.idl -* Saturday, July 17, 1999 12:26:20 AM PDT -*/ + * The interface for {@code Policy}. For more information on + * Operations interfaces, see + * "Generated Files: Operations files". + *

      + * org/omg/CORBA/PolicyOperations.java + * Generated by the IDL-to-Java compiler (portable), version "3.0" + * from ../../../../../src/share/classes/org/omg/PortableServer/corba.idl + * Saturday, July 17, 1999 12:26:20 AM PDT + */ /** - * Provides the operations for a Policy object. + * Provides the operations for a {@code Policy} object. */ public interface PolicyOperations { @@ -57,16 +57,16 @@ public interface PolicyOperations int policy_type (); /** - * Returns a copy of the Policy object. The copy does not retain + * Returns a copy of the {@code Policy} object. The copy does not retain * any relationships that the policy had with any domain or object. * - * @return a copy of the Policy object + * @return a copy of the {@code Policy} object */ org.omg.CORBA.Policy copy (); /** - * Destroys the Policy object. It is the responsibility of - * the Policy object to determine whether it can be destroyed. + * Destroys the {@code Policy} object. It is the responsibility of + * the {@code Policy} object to determine whether it can be destroyed. */ void destroy (); } // interface PolicyOperations diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/PolicyTypeHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/PolicyTypeHelper.java index fa950bfb1c2..f58c932bd51 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/PolicyTypeHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/PolicyTypeHelper.java @@ -26,14 +26,14 @@ package org.omg.CORBA; /** -* The Helper for PolicyType. For more information on -* Helper files, see -* "Generated Files: Helper Files".

      -* org/omg/CORBA/PolicyTypeHelper.java -* Generated by the IDL-to-Java compiler (portable), version "3.0" -* from ../../../../../src/share/classes/org/omg/PortableServer/corba.idl -* Saturday, July 17, 1999 12:26:20 AM PDT -*/ + * The Helper for {@code PolicyType}. For more information on + * Helper files, see + * "Generated Files: Helper Files".

      + * org/omg/CORBA/PolicyTypeHelper.java + * Generated by the IDL-to-Java compiler (portable), version "3.0" + * from ../../../../../src/share/classes/org/omg/PortableServer/corba.idl + * Saturday, July 17, 1999 12:26:20 AM PDT + */ // basic Policy definition diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/PrincipalHolder.java b/corba/src/java.corba/share/classes/org/omg/CORBA/PrincipalHolder.java index 54be6c82c1a..a8df7fed76d 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/PrincipalHolder.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/PrincipalHolder.java @@ -31,22 +31,22 @@ import org.omg.CORBA.portable.OutputStream; /** - * The Holder for Principal. For more information on + * The Holder for {@code Principal}. For more information on * Holder files, see * "Generated Files: Holder Files".

      - * A container class for values of type Principal + * A container class for values of type {@code Principal} * that is used to store "out" and "inout" parameters in IDL methods. - * If an IDL method signature has an IDL Principal as an "out" + * If an IDL method signature has an IDL {@code Principal} as an "out" * or "inout" parameter, the programmer must pass an instance of - * PrincipalHolder as the corresponding + * {@code PrincipalHolder} as the corresponding * parameter in the method invocation; for "inout" parameters, the programmer * must also fill the "in" value to be sent to the server. * Before the method invocation returns, the ORB will fill in the * value corresponding to the "out" value returned from the server. *

      - * If myPrincipalHolder is an instance of PrincipalHolder, - * the value stored in its value field can be accessed with - * myPrincipalHolder.value. + * If {@code myPrincipalHolder} is an instance of {@code PrincipalHolder}, + * the value stored in its {@code value} field can be accessed with + * {@code myPrincipalHolder.value}. * * @since JDK1.2 * @deprecated Deprecated by CORBA 2.2. @@ -54,25 +54,25 @@ import org.omg.CORBA.portable.OutputStream; @Deprecated public final class PrincipalHolder implements Streamable { /** - * The Principal value held by this PrincipalHolder + * The {@code Principal} value held by this {@code PrincipalHolder} * object. */ public Principal value; /** - * Constructs a new PrincipalHolder object with its - * value field initialized to null. + * Constructs a new {@code PrincipalHolder} object with its + * {@code value} field initialized to {@code null}. */ public PrincipalHolder() { } /** - * Constructs a new PrincipalHolder object with its - * value field initialized to the given - * Principal object. - * @param initial the Principal with which to initialize - * the value field of the newly-created - * PrincipalHolder object + * Constructs a new {@code PrincipalHolder} object with its + * {@code value} field initialized to the given + * {@code Principal} object. + * @param initial the {@code Principal} with which to initialize + * the {@code value} field of the newly-created + * {@code PrincipalHolder} object */ public PrincipalHolder(Principal initial) { value = initial; diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/RepositoryIdHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/RepositoryIdHelper.java index 67491383e4f..a3ad94fd0ec 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/RepositoryIdHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/RepositoryIdHelper.java @@ -26,15 +26,15 @@ package org.omg.CORBA; /** -* The Helper for RepositoryId. For more information on -* Helper files, see -* "Generated Files: Helper Files".

      - -* org/omg/CORBA/RepositoryIdHelper.java -* Generated by the IDL-to-Java compiler (portable), version "3.0" -* from ir.idl -* 03 June 1999 11:33:43 o'clock GMT+00:00 -*/ + * The Helper for {@code RepositoryId}. For more information on + * Helper files, see + * "Generated Files: Helper Files".

      + * + * org/omg/CORBA/RepositoryIdHelper.java + * Generated by the IDL-to-Java compiler (portable), version "3.0" + * from ir.idl + * 03 June 1999 11:33:43 o'clock GMT+00:00 + */ abstract public class RepositoryIdHelper { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/ServiceDetailHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/ServiceDetailHelper.java index b4e095d8a48..903a65e2f28 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/ServiceDetailHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/ServiceDetailHelper.java @@ -24,10 +24,10 @@ */ /** - * The Helper for ServiceDetail. For more information on - * Helper files, see - * "Generated Files: Helper Files".

      - */ + * The Helper for {@code ServiceDetail}. For more information on + * Helper files, see + * "Generated Files: Helper Files".

      + */ package org.omg.CORBA; diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/ServiceInformation.java b/corba/src/java.corba/share/classes/org/omg/CORBA/ServiceInformation.java index 984e37edb70..47098f2f44c 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/ServiceInformation.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/ServiceInformation.java @@ -26,9 +26,10 @@ package org.omg.CORBA; -/** An IDL struct in the CORBA module that +/** + * An IDL struct in the CORBA module that * stores information about a CORBA service available in the - * ORB implementation and is obtained from the ORB.get_service_information + * ORB implementation and is obtained from the {@code ORB.get_service_information} * method. */ public final class ServiceInformation implements org.omg.CORBA.portable.IDLEntity diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/ServiceInformationHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/ServiceInformationHelper.java index d0c23ff7062..82103dfeda4 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/ServiceInformationHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/ServiceInformationHelper.java @@ -24,10 +24,10 @@ */ /** - * The Helper for ServiceInformation. For more information on -* Helper files, see -* "Generated Files: Helper Files".

      -*/ + * The Helper for {@code ServiceInformation}. For more information on + * Helper files, see + * "Generated Files: Helper Files".

      + */ package org.omg.CORBA; diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/ServiceInformationHolder.java b/corba/src/java.corba/share/classes/org/omg/CORBA/ServiceInformationHolder.java index 7e34b303ee3..5e4f6a73ca9 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/ServiceInformationHolder.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/ServiceInformationHolder.java @@ -26,48 +26,48 @@ package org.omg.CORBA; /** - * The Holder for ServiceInformation. For more information on + * The Holder for {@code ServiceInformation}. For more information on * Holder files, see * "Generated Files: Holder Files".

      - * A Holder class for a ServiceInformation object + * A Holder class for a {@code ServiceInformation} object * that is used to store "out" and "inout" parameters in IDL methods. - * If an IDL method signature has an IDL xxx as an "out" + * If an IDL method signature has an IDL {@code xxx} as an "out" * or "inout" parameter, the programmer must pass an instance of - * ServiceInformationHolder as the corresponding + * {@code ServiceInformationHolder} as the corresponding * parameter in the method invocation; for "inout" parameters, the programmer * must also fill the "in" value to be sent to the server. * Before the method invocation returns, the ORB will fill in the * value corresponding to the "out" value returned from the server. *

      - * If myServiceInformationHolder is an instance of ServiceInformationHolder, - * the value stored in its value field can be accessed with - * myServiceInformationHolder.value. + * If {@code myServiceInformationHolder} is an instance of {@code ServiceInformationHolder}, + * the value stored in its {@code value} field can be accessed with + * {@code myServiceInformationHolder.value}. */ public final class ServiceInformationHolder implements org.omg.CORBA.portable.Streamable { /** - * The ServiceInformation value held by this - * ServiceInformationHolder object in its value field. + * The {@code ServiceInformation} value held by this + * {@code ServiceInformationHolder} object in its {@code value} field. */ public ServiceInformation value; /** - * Constructs a new ServiceInformationHolder object with its - * value field initialized to null. + * Constructs a new {@code ServiceInformationHolder} object with its + * {@code value} field initialized to null. */ public ServiceInformationHolder() { this(null); } /** - * Constructs a new ServiceInformationHolder object with its - * value field initialized to the given - * ServiceInformation object. + * Constructs a new {@code ServiceInformationHolder} object with its + * {@code value} field initialized to the given + * {@code ServiceInformation} object. * - * @param arg the ServiceInformation object with which to initialize - * the value field of the newly-created - * ServiceInformationHolder object + * @param arg the {@code ServiceInformation} object with which to initialize + * the {@code value} field of the newly-created + * {@code ServiceInformationHolder} object */ public ServiceInformationHolder(org.omg.CORBA.ServiceInformation arg) { value = arg; @@ -75,10 +75,10 @@ public final class ServiceInformationHolder /** - * Marshals the value in this ServiceInformationHolder object's - * value field to the output stream out. + * Marshals the value in this {@code ServiceInformationHolder} object's + * {@code value} field to the output stream {@code out}. * - * @param out the OutputStream object that will contain + * @param out the {@code OutputStream} object that will contain * the CDR formatted data */ public void _write(org.omg.CORBA.portable.OutputStream out) { @@ -86,10 +86,10 @@ public final class ServiceInformationHolder } /** - * Reads unmarshalled data from the input stream in and assigns it to - * the value field in this ServiceInformationHolder object. + * Reads unmarshalled data from the input stream {@code in} and assigns it to + * the {@code value} field in this {@code ServiceInformationHolder} object. * - * @param in the InputStream object containing CDR + * @param in the {@code InputStream} object containing CDR * formatted data from the wire */ public void _read(org.omg.CORBA.portable.InputStream in) { @@ -97,11 +97,11 @@ public final class ServiceInformationHolder } /** - * Retrieves the TypeCode object that corresponds - * to the value held in this ServiceInformationHolder object's - * value field. + * Retrieves the {@code TypeCode} object that corresponds + * to the value held in this {@code ServiceInformationHolder} object's + * {@code value} field. * - * @return the type code for the value held in this ServiceInformationHolder + * @return the type code for the value held in this {@code ServiceInformationHolder} * object */ public org.omg.CORBA.TypeCode _type() { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/SetOverrideTypeHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/SetOverrideTypeHelper.java index bb977a441ec..fa2c4a6348e 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/SetOverrideTypeHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/SetOverrideTypeHelper.java @@ -26,7 +26,7 @@ package org.omg.CORBA; /** -* The Helper for SetOverrideType. For more information on +* The Helper for {@code SetOverrideType}. For more information on * Helper files, see * "Generated Files: Helper Files".

      * org/omg/CORBA/SetOverrideTypeHelper.java diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/ShortHolder.java b/corba/src/java.corba/share/classes/org/omg/CORBA/ShortHolder.java index 8ed7eb3e658..aa0cdb166cf 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/ShortHolder.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/ShortHolder.java @@ -30,55 +30,55 @@ import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; /** - * The Holder for Short. For more information on + * The Holder for {@code Short}. For more information on * Holder files, see * "Generated Files: Holder Files". - *

      A Holder class for a short + *

      A Holder class for a {@code short} * that is used to store "out" and "inout" parameters in IDL operations. - * If an IDL operation signature has an IDL short as an "out" + * If an IDL operation signature has an IDL {@code short} as an "out" * or "inout" parameter, the programmer must pass an instance of - * ShortHolder as the corresponding + * {@code ShortHolder} as the corresponding * parameter in the method invocation; for "inout" parameters, the programmer * must also fill the "in" value to be sent to the server. * Before the method invocation returns, the ORB will fill in the * value corresponding to the "out" value returned from the server. *

      - * If myShortHolder is an instance of ShortHolder, - * the value stored in its value field can be accessed with - * myShortHolder.value. + * If {@code myShortHolder} is an instance of {@code ShortHolder}, + * the value stored in its {@code value} field can be accessed with + * {@code myShortHolder.value}. * * @since JDK1.2 */ public final class ShortHolder implements Streamable { /** - * The short value held by this ShortHolder + * The {@code short} value held by this {@code ShortHolder} * object. */ public short value; /** - * Constructs a new ShortHolder object with its - * value field initialized to 0. + * Constructs a new {@code ShortHolder} object with its + * {@code value} field initialized to {@code 0}. */ public ShortHolder() { } /** - * Constructs a new ShortHolder object with its - * value field initialized to the given - * short. - * @param initial the short with which to initialize - * the value field of the newly-created - * ShortHolder object + * Constructs a new {@code ShortHolder} object with its + * {@code value} field initialized to the given + * {@code short}. + * @param initial the {@code short} with which to initialize + * the {@code value} field of the newly-created + * {@code ShortHolder} object */ public ShortHolder(short initial) { value = initial; } /** - * Reads from input and initalizes the value in - * this ShortHolder object + * Reads from {@code input} and initalizes the value in + * this {@code ShortHolder} object * with the unmarshalled data. * * @param input the InputStream containing CDR formatted data from the wire. @@ -88,8 +88,8 @@ public final class ShortHolder implements Streamable { } /** - * Marshals to output the value in - * this ShortHolder object. + * Marshals to {@code output} the value in + * this {@code ShortHolder} object. * * @param output the OutputStream which will contain the CDR formatted data. */ @@ -99,10 +99,10 @@ public final class ShortHolder implements Streamable { /** * Returns the TypeCode corresponding to the value held in - * this ShortHolder object. + * this {@code ShortHolder} object. * * @return the TypeCode of the value held in - * this ShortHolder object + * this {@code ShortHolder} object */ public org.omg.CORBA.TypeCode _type() { return ORB.init().get_primitive_tc(TCKind.tk_short); diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/ShortSeqHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/ShortSeqHelper.java index bc63630caff..6159d19abbf 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/ShortSeqHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/ShortSeqHelper.java @@ -26,7 +26,7 @@ package org.omg.CORBA; /** -* The Helper for ShortSeqHelper. For more information on +* The Helper for {@code ShortSeqHelper}. For more information on * Helper files, see * "Generated Files: Helper Files".

      * org/omg/CORBA/ShortSeqHelper.java diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/ShortSeqHolder.java b/corba/src/java.corba/share/classes/org/omg/CORBA/ShortSeqHolder.java index 5399f5bd882..ee4ddbfc02d 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/ShortSeqHolder.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/ShortSeqHolder.java @@ -26,7 +26,7 @@ package org.omg.CORBA; /** -* The Holder for ShortSeq. For more information on +* The Holder for {@code ShortSeq}. For more information on * Holder files, see * "Generated Files: Holder Files".

      * org/omg/CORBA/ShortSeqHolder.java diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/StringHolder.java b/corba/src/java.corba/share/classes/org/omg/CORBA/StringHolder.java index 495889b8e78..a7c8b78e634 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/StringHolder.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/StringHolder.java @@ -30,55 +30,55 @@ import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; /** - * The Holder for String. For more information on + * The Holder for {@code String}. For more information on * Holder files, see * "Generated Files: Holder Files".

      - * A Holder class for a String + * A Holder class for a {@code String} * that is used to store "out" and "inout" parameters in IDL operations. - * If an IDL operation signature has an IDL string as an "out" + * If an IDL operation signature has an IDL {@code string} as an "out" * or "inout" parameter, the programmer must pass an instance of - * StringHolder as the corresponding + * {@code StringHolder} as the corresponding * parameter in the method invocation; for "inout" parameters, the programmer * must also fill the "in" value to be sent to the server. * Before the method invocation returns, the ORB will fill in the * value corresponding to the "out" value returned from the server. *

      - * If myStringHolder is an instance of StringHolder, - * the value stored in its value field can be accessed with - * myStringHolder.value. + * If {@code myStringHolder} is an instance of {@code StringHolder}, + * the value stored in its {@code value} field can be accessed with + * {@code myStringHolder.value}. * * @since JDK1.2 */ public final class StringHolder implements Streamable { /** - * The String value held by this StringHolder + * The {@code String} value held by this {@code StringHolder} * object. */ public String value; /** - * Constructs a new StringHolder object with its - * value field initialized to null. + * Constructs a new {@code StringHolder} object with its + * {@code value} field initialized to {@code null}. */ public StringHolder() { } /** - * Constructs a new StringHolder object with its - * value field initialized to the given - * String. - * @param initial the String with which to initialize - * the value field of the newly-created - * StringHolder object + * Constructs a new {@code StringHolder} object with its + * {@code value} field initialized to the given + * {@code String}. + * @param initial the {@code String} with which to initialize + * the {@code value} field of the newly-created + * {@code StringHolder} object */ public StringHolder(String initial) { value = initial; } /** - * Reads the unmarshalled data from input and assigns it to - * the value field of this StringHolder object. + * Reads the unmarshalled data from {@code input} and assigns it to + * the {@code value} field of this {@code StringHolder} object. * * @param input the InputStream containing CDR formatted data from the wire. */ @@ -87,8 +87,8 @@ public final class StringHolder implements Streamable { } /** - * Marshals the value held by this StringHolder object - * to the output stream output. + * Marshals the value held by this {@code StringHolder} object + * to the output stream {@code output}. * * @param output the OutputStream which will contain the CDR formatted data. */ @@ -97,10 +97,10 @@ public final class StringHolder implements Streamable { } /** - * Retrieves the TypeCode object that corresponds to - * the value held in this StringHolder object. + * Retrieves the {@code TypeCode} object that corresponds to + * the value held in this {@code StringHolder} object. * - * @return the type code of the value held in this StringHolder + * @return the type code of the value held in this {@code StringHolder} * object */ public org.omg.CORBA.TypeCode _type() { diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/StringValueHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/StringValueHelper.java index 013c16a1290..d2f3c95c632 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/StringValueHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/StringValueHelper.java @@ -32,7 +32,7 @@ package org.omg.CORBA; /** -* The Helper for StringValue. For more information on +* The Helper for {@code StringValue}. For more information on * Helper files, see * "Generated Files: Helper Files".

      * org/omg/CORBA/StringValueHelper.java diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/StructMemberHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/StructMemberHelper.java index afc62a7ebfb..714175807c5 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/StructMemberHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/StructMemberHelper.java @@ -26,7 +26,7 @@ package org.omg.CORBA; /** -* The Helper for StructMember. For more information on +* The Helper for {@code StructMember}. For more information on * Helper files, see * "Generated Files: Helper Files".

      * org/omg/CORBA/StructMemberHelper.java diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/TypeCodeHolder.java b/corba/src/java.corba/share/classes/org/omg/CORBA/TypeCodeHolder.java index 6d32992391b..2fcde8b66c0 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/TypeCodeHolder.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/TypeCodeHolder.java @@ -30,55 +30,55 @@ import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; /** - * The Holder for TypeCode. For more information on + * The Holder for {@code TypeCode}. For more information on * Holder files, see * "Generated Files: Holder Files".

      - * A Holder class for a TypeCode object + * A Holder class for a {@code TypeCode} object * that is used to store "out" and "inout" parameters in IDL operations. - * If an IDL operation signature has an IDL TypeCode as an "out" + * If an IDL operation signature has an IDL {@code TypeCode} as an "out" * or "inout" parameter, the programmer must pass an instance of - * TypeCodeHolder as the corresponding + * {@code TypeCodeHolder} as the corresponding * parameter in the method invocation; for "inout" parameters, the programmer * must also fill the "in" value to be sent to the server. * Before the method invocation returns, the ORB will fill in the * value corresponding to the "out" value returned from the server. *

      - * If myTypeCodeHolder is an instance of TypeCodeHolder, - * the value stored in its value field can be accessed with - * myTypeCodeHolder.value. + * If {@code myTypeCodeHolder} is an instance of {@code TypeCodeHolder}, + * the value stored in its {@code value} field can be accessed with + * {@code myTypeCodeHolder.value}. * * @since JDK1.2 */ public final class TypeCodeHolder implements Streamable { /** - * The TypeCode value held by - * this TypeCodeHolder object. + * The {@code TypeCode} value held by + * this {@code TypeCodeHolder} object. */ public TypeCode value; /** - * Constructs a new TypeCodeHolder object with its - * value field initialized to null. + * Constructs a new {@code TypeCodeHolder} object with its + * {@code value} field initialized to {@code null}. */ public TypeCodeHolder() { } /** - * Constructs a new TypeCodeHolder object with its - * value field initialized to the given - * TypeCode object. - * @param initial the TypeCode object with which to initialize - * the value field of the newly-created - * TypeCodeHolder object + * Constructs a new {@code TypeCodeHolder} object with its + * {@code value} field initialized to the given + * {@code TypeCode} object. + * @param initial the {@code TypeCode} object with which to initialize + * the {@code value} field of the newly-created + * {@code TypeCodeHolder} object */ public TypeCodeHolder(TypeCode initial) { value = initial; } /** - * Reads from input and initalizes the value in - * this TypeCodeHolder object + * Reads from {@code input} and initalizes the value in + * this {@code TypeCodeHolder} object * with the unmarshalled data. * * @param input the InputStream containing CDR formatted data from the wire @@ -88,8 +88,8 @@ public final class TypeCodeHolder implements Streamable { } /** - * Marshals to output the value in - * this TypeCodeHolder object. + * Marshals to {@code output} the value in + * this {@code TypeCodeHolder} object. * * @param output the OutputStream which will contain the CDR formatted data */ @@ -99,10 +99,10 @@ public final class TypeCodeHolder implements Streamable { /** * Returns the TypeCode corresponding to the value held in - * this TypeCodeHolder object. + * this {@code TypeCodeHolder} object. * * @return the TypeCode of the value held in - * this TypeCodeHolder object + * this {@code TypeCodeHolder} object */ public org.omg.CORBA.TypeCode _type() { return ORB.init().get_primitive_tc(TCKind.tk_TypeCode); diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/ULongLongSeqHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/ULongLongSeqHelper.java index 4267d13108c..54376e8ab6e 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/ULongLongSeqHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/ULongLongSeqHelper.java @@ -26,7 +26,7 @@ package org.omg.CORBA; /** -* The Helper for ULongLongSeq. For more information on +* The Helper for {@code ULongLongSeq}. For more information on * Helper files, see * "Generated Files: Helper Files".

      * org/omg/CORBA/ULongLongSeqHelper.java diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/ULongLongSeqHolder.java b/corba/src/java.corba/share/classes/org/omg/CORBA/ULongLongSeqHolder.java index 8e90ee3d5f4..a56e64bfff3 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/ULongLongSeqHolder.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/ULongLongSeqHolder.java @@ -26,7 +26,7 @@ package org.omg.CORBA; /** -* The Holder for ULongLongSeq. For more information on +* The Holder for {@code ULongLongSeq}. For more information on * Holder files, see * "Generated Files: Holder Files".

      * org/omg/CORBA/ULongLongSeqHolder.java diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/ULongSeqHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/ULongSeqHelper.java index 001fd4a3157..c89e7b7511e 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/ULongSeqHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/ULongSeqHelper.java @@ -26,7 +26,7 @@ package org.omg.CORBA; /** -* The Helper for ULongSeq. For more information on +* The Helper for {@code ULongSeq}. For more information on * Helper files, see * "Generated Files: Helper Files".

      * org/omg/CORBA/ULongSeqHelper.java diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/ULongSeqHolder.java b/corba/src/java.corba/share/classes/org/omg/CORBA/ULongSeqHolder.java index 2652c3a7299..0895bb482b5 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/ULongSeqHolder.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/ULongSeqHolder.java @@ -26,7 +26,7 @@ package org.omg.CORBA; /** -* The Holder for ULongSeq. For more information on +* The Holder for {@code ULongSeq}. For more information on * Holder files, see * "Generated Files: Holder Files".

      * org/omg/CORBA/ULongSeqHolder.java diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/UNSUPPORTED_POLICY.java b/corba/src/java.corba/share/classes/org/omg/CORBA/UNSUPPORTED_POLICY.java index e469971e329..fb6d960bcf8 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/UNSUPPORTED_POLICY.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/UNSUPPORTED_POLICY.java @@ -26,8 +26,8 @@ package org.omg.CORBA; /** - * One of the PolicyErrorCodes which would be filled if - * the requested Policy is understood to be valid by the + * One of the {@code PolicyErrorCode}s which would be filled if + * the requested {@code Policy} is understood to be valid by the * ORB, but is not currently supported. * * @author rip-dev diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/UNSUPPORTED_POLICY_VALUE.java b/corba/src/java.corba/share/classes/org/omg/CORBA/UNSUPPORTED_POLICY_VALUE.java index 74c4f5aaa56..a070b9f3b40 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/UNSUPPORTED_POLICY_VALUE.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/UNSUPPORTED_POLICY_VALUE.java @@ -26,8 +26,8 @@ package org.omg.CORBA; /** - * A PolicyErrorCode which would be filled if the value - * requested for the Policy is of a + * A {@code PolicyErrorCode} which would be filled if the value + * requested for the {@code Policy} is of a * valid type and within the valid range for that type, but this valid value * is not currently supported. * diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/UShortSeqHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/UShortSeqHelper.java index 0c09a1fdb73..aa6f92fe920 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/UShortSeqHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/UShortSeqHelper.java @@ -26,7 +26,7 @@ package org.omg.CORBA; /** -* The Helper for UShortSeq. For more information on +* The Helper for {@code UShortSeq}. For more information on * Helper files, see * "Generated Files: Helper Files".

      * org/omg/CORBA/UShortSeqHelper.java diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/UShortSeqHolder.java b/corba/src/java.corba/share/classes/org/omg/CORBA/UShortSeqHolder.java index 7f5d4aca9f1..d9ab4095da6 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/UShortSeqHolder.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/UShortSeqHolder.java @@ -26,7 +26,7 @@ package org.omg.CORBA; /** -* The Holder for UShortSeq. For more information on +* The Holder for {@code UShortSeq}. For more information on * Holder files, see * "Generated Files: Holder Files".

      * org/omg/CORBA/UShortSeqHolder.java diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/UnionMemberHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/UnionMemberHelper.java index 26494866a6b..de52b2376a4 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/UnionMemberHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/UnionMemberHelper.java @@ -26,7 +26,7 @@ package org.omg.CORBA; /** -* The Helper for UnionMember. For more information on +* The Helper for {@code UnionMember}. For more information on * Helper files, see * "Generated Files: Helper Files".

      * org/omg/CORBA/UnionMemberHelper.java diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/UnknownUserExceptionHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/UnknownUserExceptionHelper.java index 0594775d485..32ff8eef456 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/UnknownUserExceptionHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/UnknownUserExceptionHelper.java @@ -26,7 +26,7 @@ package org.omg.CORBA; /** -* The Helper for UnknownUserException. For more information on +* The Helper for {@code UnknownUserException}. For more information on * Helper files, see * "Generated Files: Helper Files".

      * org/omg/CORBA/UnknownUserExceptionHelper.java diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/UnknownUserExceptionHolder.java b/corba/src/java.corba/share/classes/org/omg/CORBA/UnknownUserExceptionHolder.java index 1d8200702aa..ee5ccd984d7 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/UnknownUserExceptionHolder.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/UnknownUserExceptionHolder.java @@ -25,7 +25,7 @@ package org.omg.CORBA; /** -* The Holder for UnknownUserException. For more information on +* The Holder for {@code UnknownUserException}. For more information on * Holder files, see * "Generated Files: Holder Files".

      * org/omg/CORBA/UnknownUserExceptionHolder.java diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/ValueBaseHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/ValueBaseHelper.java index e128be11665..68a106636ee 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/ValueBaseHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/ValueBaseHelper.java @@ -24,7 +24,7 @@ */ /** - * The Helper for ValueBase. For more information on + * The Helper for {@code ValueBase}. For more information on * Helper files, see * "Generated Files: Helper Files".

      */ diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/ValueBaseHolder.java b/corba/src/java.corba/share/classes/org/omg/CORBA/ValueBaseHolder.java index 2eeceeacabb..364aba7b562 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/ValueBaseHolder.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/ValueBaseHolder.java @@ -30,53 +30,53 @@ import org.omg.CORBA.portable.InputStream; import org.omg.CORBA.portable.OutputStream; /** - * The Holder for ValueBase. For more information on + * The Holder for {@code ValueBase}. For more information on * Holder files, see * "Generated Files: Holder Files".

      - * A Holder class for a java.io.Serializable + * A Holder class for a {@code java.io.Serializable} * that is used to store "out" and "inout" parameters in IDL methods. - * If an IDL method signature has an IDL ValueBase as an "out" + * If an IDL method signature has an IDL {@code ValueBase} as an "out" * or "inout" parameter, the programmer must pass an instance of - * ValueBaseHolder as the corresponding + * {@code ValueBaseHolder} as the corresponding * parameter in the method invocation; for "inout" parameters, the programmer * must also fill the "in" value to be sent to the server. * Before the method invocation returns, the ORB will fill in the * value corresponding to the "out" value returned from the server. *

      - * If myValueBaseHolder is an instance of ValueBaseHolder, - * the value stored in its value field can be accessed with - * myValueBaseHolder.value. + * If {@code myValueBaseHolder} is an instance of {@code ValueBaseHolder}, + * the value stored in its {@code value} field can be accessed with + * {@code myValueBaseHolder.value}. * */ public final class ValueBaseHolder implements Streamable { /** - * The java.io.Serializable value held by this - * ValueBaseHolder object. + * The {@code java.io.Serializable} value held by this + * {@code ValueBaseHolder} object. */ public java.io.Serializable value; /** - * Constructs a new ValueBaseHolder object with its - * value field initialized to 0. + * Constructs a new {@code ValueBaseHolder} object with its + * {@code value} field initialized to {@code 0}. */ public ValueBaseHolder() { } /** - * Constructs a new ValueBaseHolder object with its - * value field initialized to the given - * java.io.Serializable. - * @param initial the java.io.Serializable with which to initialize - * the value field of the newly-created - * ValueBaseHolder object + * Constructs a new {@code ValueBaseHolder} object with its + * {@code value} field initialized to the given + * {@code java.io.Serializable}. + * @param initial the {@code java.io.Serializable} with which to initialize + * the {@code value} field of the newly-created + * {@code ValueBaseHolder} object */ public ValueBaseHolder(java.io.Serializable initial) { value = initial; } /** - * Reads from input and initalizes the value in the Holder + * Reads from {@code input} and initalizes the value in the Holder * with the unmarshalled data. * * @param input the InputStream containing CDR formatted data from the wire @@ -86,7 +86,7 @@ public final class ValueBaseHolder implements Streamable { } /** - * Marshals to output the value in the Holder. + * Marshals to {@code output} the value in the Holder. * * @param output the OutputStream which will contain the CDR formatted data */ @@ -95,7 +95,7 @@ public final class ValueBaseHolder implements Streamable { } /** - * Returns the TypeCode object + * Returns the {@code TypeCode} object * corresponding to the value held in the Holder. * * @return the TypeCode of the value held in the holder diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/ValueMemberHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/ValueMemberHelper.java index 8e781199fe3..ac3130c3dfc 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/ValueMemberHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/ValueMemberHelper.java @@ -26,7 +26,7 @@ package org.omg.CORBA; /** -* The Helper for ValueMember. For more information on +* The Helper for {@code ValueMember}. For more information on * Helper files, see * "Generated Files: Helper Files".

      * org/omg/CORBA/ValueMemberHelper.java diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/VersionSpecHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/VersionSpecHelper.java index b2c902d15a3..d4bf84572fd 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/VersionSpecHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/VersionSpecHelper.java @@ -26,7 +26,7 @@ package org.omg.CORBA; /** -* The Helper for VersionSpec. For more information on +* The Helper for {@code VersionSpec}. For more information on * Helper files, see * "Generated Files: Helper Files".

      * org/omg/CORBA/VersionSpecHelper.java diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/VisibilityHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/VisibilityHelper.java index c404ed24b3c..5db6c4e2b8a 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/VisibilityHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/VisibilityHelper.java @@ -26,7 +26,7 @@ package org.omg.CORBA; /** -* The Helper for Visibility. For more information on +* The Helper for {@code Visibility}. For more information on * Helper files, see * "Generated Files: Helper Files".

      * org/omg/CORBA/VisibilityHelper.java diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/WCharSeqHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/WCharSeqHelper.java index ef26bf66373..10d3d7cbf62 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/WCharSeqHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/WCharSeqHelper.java @@ -26,7 +26,7 @@ package org.omg.CORBA; /** -* The Helper for WCharSeq. For more information on +* The Helper for {@code WCharSeq}. For more information on * Helper files, see * "Generated Files: Helper Files".

      * org/omg/CORBA/WCharSeqHelper.java diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/WCharSeqHolder.java b/corba/src/java.corba/share/classes/org/omg/CORBA/WCharSeqHolder.java index 300615a068d..af9aac4ec5d 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/WCharSeqHolder.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/WCharSeqHolder.java @@ -26,7 +26,7 @@ package org.omg.CORBA; /** -* The Holder for WCharSeq. For more information on +* The Holder for {@code WCharSeq}. For more information on * Holder files, see * "Generated Files: Holder Files".

      * org/omg/CORBA/WCharSeqHolder.java diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/WStringValueHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/WStringValueHelper.java index a535caed09b..fa14f5ee55c 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/WStringValueHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/WStringValueHelper.java @@ -24,7 +24,7 @@ */ /** -* The Helper for WStringValue. For more information on +* The Helper for {@code WStringValue}. For more information on * Helper files, see * "Generated Files: Helper Files".

      */ diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/WrongTransactionHelper.java b/corba/src/java.corba/share/classes/org/omg/CORBA/WrongTransactionHelper.java index e4681fffd94..b87ed34261c 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/WrongTransactionHelper.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/WrongTransactionHelper.java @@ -25,7 +25,7 @@ package org.omg.CORBA; /** -* The Helper for WrongTransaction. For more information on +* The Helper for {@code WrongTransaction}. For more information on * Helper files, see * "Generated Files: Helper Files".

      * org/omg/CORBA/WrongTransactionHelper.java diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/WrongTransactionHolder.java b/corba/src/java.corba/share/classes/org/omg/CORBA/WrongTransactionHolder.java index 1545d34e39c..d33ba970aaf 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/WrongTransactionHolder.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/WrongTransactionHolder.java @@ -25,7 +25,7 @@ package org.omg.CORBA; /** -* The Holder for WrongTransaction. For more information on +* The Holder for {@code WrongTransaction}. For more information on * Holder files, see * "Generated Files: Holder Files".

      * org/omg/CORBA/WrongTransactionHolder.java diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/_IDLTypeStub.java b/corba/src/java.corba/share/classes/org/omg/CORBA/_IDLTypeStub.java index 9ac9d206204..5607d70fbc0 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/_IDLTypeStub.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/_IDLTypeStub.java @@ -26,7 +26,7 @@ package org.omg.CORBA; /** -* The Stub for IDLType. For more information on +* The Stub for {@code IDLType}. For more information on * Stub files, see * "Generated Files: Stubs".

      * org/omg/CORBA/_IDLTypeStub.java @@ -38,9 +38,9 @@ package org.omg.CORBA; public class _IDLTypeStub extends org.omg.CORBA.portable.ObjectImpl implements org.omg.CORBA.IDLType { /** - * Constructs a default _IDLTypeStub object. + * Constructs a default {@code _IDLTypeStub} object. * NOTE: If the default constructor is used, the - * object is useless until the method _set_delegate + * object is useless until the method {@code _set_delegate} * has been called. */ // NOTE: This constructor is not required according to the spec. Only JCK expects it now. @@ -50,8 +50,8 @@ public class _IDLTypeStub extends org.omg.CORBA.portable.ObjectImpl implements o } /** - * Constructs an _IDLTypeStub object initialized - * with the given Delegate object. + * Constructs an {@code _IDLTypeStub} object initialized + * with the given {@code Delegate} object. * * @param delegate a Delegate object */ diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/_PolicyStub.java b/corba/src/java.corba/share/classes/org/omg/CORBA/_PolicyStub.java index 7aed64b6bda..4312fd753c0 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/_PolicyStub.java +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/_PolicyStub.java @@ -26,7 +26,7 @@ package org.omg.CORBA; /** -* The Stub for Policy. For more information on +* The Stub for {@code Policy}. For more information on * Stub files, see * "Generated Files: Stubs".

      * org/omg/CORBA/_PolicyStub.java @@ -47,8 +47,8 @@ public class _PolicyStub extends org.omg.CORBA.portable.ObjectImpl implements or super (); } - /** Constructs a _PolicyStub object initialized - * with the given Delegate object. + /** Constructs a {@code _PolicyStub} object initialized + * with the given {@code Delegate} object. * * @param delegate a Delegate Object */ diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/doc-files/compliance.html b/corba/src/java.corba/share/classes/org/omg/CORBA/doc-files/compliance.html index 1ccbbfd6496..75fa09125e6 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/doc-files/compliance.html +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/doc-files/compliance.html @@ -50,16 +50,16 @@ in Java[tm] SE 6. The precise list of supported sections is as follows:

    • CORBA 2.3.1 chapters 1-3 and 6-9
    • -
    • Revised IDL to Java language mapping, section 1.21.8.2, the orb.properties +
    • Revised IDL to Java language mapping, section 1.21.8.2, the orb.properties file.
    • CORBA 2.3.1 chapter 4 with the following replacements from the Portable Interceptors specification:
        -
      • section 4.2.3.5 destroy
      • -
      • section 4.5.2 CodeFactory and PICurrent are required
      • -
      • Section 4.5.3.4 as updated for register_initial_reference
      • +
      • section 4.2.3.5 destroy
      • +
      • section 4.5.2 CodeFactory and PICurrent are required
      • +
      • Section 4.5.3.4 as updated for register_initial_reference
    • @@ -68,13 +68,13 @@ CORBA 2.3.1 chapter 5 with the following update from the Portable Interceptors specification:
      • - 5.5.2 StringSeq and WStringSeq are required. - This adds the following classes to org.omg.CORBA: + 5.5.2 StringSeq and WStringSeq are required. + This adds the following classes to org.omg.CORBA:
          -
        • StringSeqHolder
        • -
        • StringSeqHelper
        • -
        • WStringSeqHolder
        • -
        • WStringSeqHelper
        • +
        • StringSeqHolder
        • +
        • StringSeqHelper
        • +
        • WStringSeqHolder
        • +
        • WStringSeqHelper
      @@ -84,14 +84,15 @@ specification: CORBA 2.3.1 sections 10.6.1 and 10.6.2 are supported for repository IDs.
    • -CORBA 2.3.1 section 10.7 for TypeCode APIs.
    • +CORBA 2.3.1 section 10.7 for TypeCode APIs.
    • -CORBA 2.3.1 chapter 11, Portable Object Adapter (POA), with the following updates from the Portable Interceptors specification: +CORBA 2.3.1 chapter 11, Portable Object Adapter (POA), +with the following updates from the Portable Interceptors specification:
      • Section 11.3.7 POAs must preserve all policies
      • Section 11.3.8.2 again states that POAs must preserve all policies
      • -
      • Section 11.3.8.26 POA::id is required.
      • +
      • Section 11.3.8.26 POA::id is required.
    • @@ -104,18 +105,21 @@ GIOP feature defined in sections 15.8 and 15.9 is not supported. All of the Interoperable Naming Service is supported.
    • -Portable Interceptors section 13.8 (the new Coder/Decoder interfaces) +Portable Interceptors section 13.8 (the new +Coder/Decoder interfaces) and all of chapter 21 (the interceptor specification).
    • -
    • Section 1.21.8 of the Revised IDL to Java Language Mapping Specification (ptc/00-11-03) -has been changed from the version in the IDL to Java Language Mapping Specification (ptc/00-01-08).
    • +
    • Section 1.21.8 of the Revised IDL to Java Language +Mapping Specification (ptc/00-11-03) +has been changed from the version in the +IDL to Java Language Mapping Specification (ptc/00-01-08).

    Tools

      -
    • The IDL to Java compiler (idlj) complies with: +
    • The IDL to Java compiler (idlj) complies with:
      • CORBA 2.3.1 chapter 3 (IDL definition)
      • CORBA 2.3.1 chapters 5 and 6 (semantics of Value types)
      • @@ -125,12 +129,12 @@ Tools
    • -
    • The Java to IDL compiler (the IIOP backend for rmic) complies with: +
    • The Java to IDL compiler (the IIOP backend for rmic) complies with:
      • CORBA 2.3.1 chapters 5 and 6 (value types)
      • The Java to IDL language mapping. Note that this implicitly references section 1.21 of the IDL to Java language mapping
      • -
      • IDL generated by the -idl flag complies with CORBA 2.3.1 chapter 3.
      • +
      • IDL generated by the -idl flag complies with CORBA 2.3.1 chapter 3.
    diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/doc-files/generatedfiles.html b/corba/src/java.corba/share/classes/org/omg/CORBA/doc-files/generatedfiles.html index fdc02ae8335..7ea368b628b 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/doc-files/generatedfiles.html +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/doc-files/generatedfiles.html @@ -9,7 +9,8 @@

    IDL-to-Java Generated Files

    The files that are generated by the IDL-to-Java compiler, in accordance with -the IDL-to-Java Language Mapping Specification, +the +IDL-to-Java Language Mapping Specification, which is implemented in JavaTM SE 6 according the compliance document. @@ -18,23 +19,25 @@ according the compliance document. and identifiers with no change. Because of the nature of the Java language, a single IDL construct may be mapped to several (differently named) Java constructs. The additional names are constructed by appending a descriptive suffix. -For example, the IDL interface foo is mapped to the Java -interfaces foo and fooOperations, and additional -Java classes fooHelper, fooHolder, fooPOA, -and optionally fooPOATie. +For example, the IDL interface foo is mapped to the Java +interfaces foo and fooOperations, and additional +Java classes fooHelper, fooHolder, fooPOA, +and optionally fooPOATie.

    The mapping in effect reserves the use of several names for its own purposes. These are:

      -
    • The Java class <type>Helper, where <type> is the name of an IDL defined type. -
    • The Java class <type>Holder, where <type> -is the name of an IDL defined type (with certain exceptions such as typedef aliases). -
    • The Java classes <basicJavaType>Holder, where <basicJavaType> +
    • The Java class <type>Helper, +where <type> is the name of an IDL defined type. +
    • The Java class <type>Holder, +where <type> +is the name of an IDL defined type (with certain exceptions such as typedef aliases). +
    • The Java classes <basicJavaType>Holder, where <basicJavaType> is one of the Java primitive datatypes that is used by one of the IDL basic datatypes. -
    • The Java classes <interface>Operations, <interface>POA, -and <interface>POATie, where <interface> is the name of an IDL interface type. -
    • The nested scope Java package name <interface>Package, where <interface> +
    • The Java classes <interface>Operations, <interface>POA, +and <interface>POATie, where <interface> is the name of an IDL interface type. +
    • The nested scope Java package name <interface>Package, where <interface> is the name of an IDL interface.
    @@ -42,50 +45,55 @@ is the name of an IDL interface.

    Helper Files

    Helper files supply several static methods needed to manipulate the type. -These include Any insert and extract operations for the type, +These include Any insert and extract operations for the type, getting the repository id, getting the typecode, and reading and writing the type from and to a stream.

    The helper class for a mapped IDL interface or abstract interface also -include narrow operation(s). The static narrow method allows an org.omg.CORBA.Object +include narrow operation(s). The static narrow method allows an org.omg.CORBA.Object to be narrowed to the object reference of a more specific type. -The IDL exception CORBA::BAD_PARAM is thrown if the narrow fails because +The IDL exception CORBA::BAD_PARAM is thrown if the narrow fails because the object reference does not support the requested type. A different system exception -is raised to indicate other kinds of errors. Trying to narrow a null will always succeed with a return value of null. +is raised to indicate other kinds of errors. Trying to narrow +a null will always succeed with a return value of null.

    Holder Files

    Support for out and inout parameter passing modes requires the use of additional holder classes. -These classes are available for all of the basic IDL datatypes in the org.omg.CORBA package +These classes are available for all of the basic IDL datatypes in the org.omg.CORBA package and are generated for all named user defined IDL types except those defined by typedefs. (Note that in this context user defined includes types that are defined in OMG specifications such as those for the Interface Repository, and other OMG services.)

    Each holder class has a constructor from an instance, a default constructor, and has -a public instance member, value which is the typed value. The default constructor +a public instance member, value which is the typed value. The default constructor sets the value field to the default value for the type as defined by the Java language: false for boolean, 0 for numeric and char types, null for strings, null for object references.

    To support portable stubs and skeletons, holder classes also implement -the org.omg.CORBA.portable.Streamable interface. +the org.omg.CORBA.portable.Streamable interface.

    Operations Files

    A non abstract IDL interface is mapped to two public Java interfaces: a signature interface and an operations interface. -The signature interface, which extends IDLEntity, has the same -name as the IDL interface name and is used as the signature type in method declarations +The signature interface, which extends IDLEntity, has the same +name as the IDL interface name and is used +as the signature type in method declarations when interfaces of the specified type are used in other interfaces. -The operations interface has the same name as the IDL interface with the suffix Operations +The operations interface has the same name as the IDL interface +with the suffix Operations appended to the end and is used in the server-side mapping and as a mechanism for providing optimized calls for collocated client and servers.

    The Java operations interface contains the mapped operation signatures. The Java signature interface extends the operations interface, -the (mapped) base org.omg.CORBA.Object, as well as org.omg.portable.IDLEntity. +the (mapped) base org.omg.CORBA.Object, +as well as org.omg.portable.IDLEntity. Methods can be invoked on the signature interface. Interface inheritance -expressed in IDL is reflected in both the Java signature interface and operations interface hierarchies. +expressed in IDL is reflected in both the Java signature +interface and operations interface hierarchies.

    Stubs

    @@ -96,11 +104,13 @@ will present access to the OMG IDL-defined operations on an object in a way that for programmers to predict once they are familiar with OMG IDL and the language mapping for the particular programming language. The stubs make calls on the rest of the ORB using interfaces that are private to, and presumably optimized for, the particular ORB Core. -If more than one ORB is available, there may be different stubs corresponding to the different ORBs. -In this case, it is necessary for the ORB and language mapping to cooperate to associate +If more than one ORB is available, there may be different stubs +corresponding to the different ORBs. In this case, it is necessary for +the ORB and language mapping to cooperate to associate the correct stubs with the particular object reference. -

    Object-oriented programming languages, such as Java, C++, and Smalltalk, do not require stub interfaces. +

    Object-oriented programming languages, such as Java, +C++, and Smalltalk, do not require stub interfaces.

    diff --git a/corba/src/java.corba/share/classes/org/omg/CORBA/package.html b/corba/src/java.corba/share/classes/org/omg/CORBA/package.html index 2d28793965c..9e4b2fbe089 100644 --- a/corba/src/java.corba/share/classes/org/omg/CORBA/package.html +++ b/corba/src/java.corba/share/classes/org/omg/CORBA/package.html @@ -34,27 +34,27 @@ Provides the mapping of the OMG CORBA APIs to the JavaTM -programming language, including the class ORB, which is implemented +programming language, including the class ORB, which is implemented so that a programmer can use it as a fully-functional Object Request Broker (ORB). -

    For a precise list of supported sections of official CORBA specifications with which -the Java[TM] Platform, Standard Edition 6 complies, see Official Specifications for CORBA support in +

    For a precise list of supported sections of official CORBA specifications with which +the Java[TM] Platform, Standard Edition 6 complies, see Official Specifications for CORBA support in Java[TM] SE 6.

    General Information

    -The information in this section is information relevant to someone who +The information in this section is information relevant to someone who compiles Interface Definition Language (IDL) files and uses the ORB to write clients and servers. -

    The classes and interfaces described in this section can be put into -four groups: ORB classes, Exceptions, Helper classes, -and Holder classes. +

    The classes and interfaces described in this section can be put into +four groups: ORB classes, Exceptions, Helper classes, +and Holder classes.

    -The ORB Class

    +The ORB Class

    An ORB handles (or brokers) method invocations between a client and the method's implementation on a server. Because the client and server @@ -63,92 +63,91 @@ may be written in different programming languages, an ORB does a great deal of work behind the scenes to accomplish this communication.

    Most of what an ORB does is completely transparent to the user, and a major -portion of the CORBA package consists of classes used by the ORB +portion of the CORBA package consists of classes used by the ORB behind the scenes. The result is that most programmers will use only a small part of this package directly. In fact, most programmers will use -only a few methods from the ORB class, some exceptions, and +only a few methods from the ORB class, some exceptions, and occasionally, -a holder class. +a holder class.

    -ORB Methods

    +ORB Methods -

    Before an application can enter the CORBA environment, it must first: +

    Before an application can enter the CORBA environment, it must first:

    • Be initialized into the ORB and possibly the object adapter (POA) environments. -
    • Get references to ORB object (for use in future ORB operations) -and perhaps other objects (including the root POA or some Object Adapter objects). +
    • Get references to ORB object (for use in future ORB operations) +and perhaps other objects (including the root POA or some Object Adapter objects).

    The following operations are provided to initialize applications and obtain the appropriate object references:

    • Operations providing access to the ORB, which are discussed in this section. -
    • Operations providing access to Object Adapters, Interface Repository, - Naming Service, and other Object Services. These operations are described +
    • Operations providing access to Object Adapters, Interface Repository, + Naming Service, and other Object Services. These operations are described in Other Classes.

    -When an application requires a CORBA environment it needs a mechanism to -get an ORB object reference and possibly an OA object reference -(such as the root POA). This serves two purposes. First, it initializes -an application into the ORB and OA environments. Second, it returns the -ORB object reference and the OA object reference to the application -for use in future ORB and OA operations. +When an application requires a CORBA environment it needs a mechanism to +get an ORB object reference and possibly an OA object reference +(such as the root POA). This serves two purposes. First, it initializes +an application into the ORB and OA environments. Second, it returns the +ORB object reference and the OA object reference to the application +for use in future ORB and OA operations. -

    In order to obtain an ORB object reference, applications call -the ORB.init operation. The parameters to the call can comprise an +

    In order to obtain an ORB object reference, applications call +the ORB.init operation. The parameters to the call can comprise an identifier for the ORB for which the object reference is required, - and an arg_list, which is used to allow environment-specific data to be - passed into the call. + and an arg_list, which is used to allow environment-specific data to be + passed into the call. -

    These are the ORB methods +

    These are the ORB methods that provide access to the ORB:

    • -init() +init()
    • -init(String [] args, Properties props) +init(String [] args, Properties props)
    • -init(Applet app, Properties props) +init(Applet app, Properties props)
    -

    Using the init() method without parameters initiates +

    Using the init() method without parameters initiates a singleton ORB, which can only -give typecode creation anys needed in code generated -in Helper classes by idlj. +give typecode creation anys needed in code generated +in Helper classes by idlj. -

    Applications require a portable means by which to obtain their -initial object references. References are required for the root -POA, POA Current, Interface Repository, and various Object Services +

    Applications require a portable means by which to obtain their +initial object references. References are required for the root +POA, POA Current, Interface Repository, and various Object Services instances. The functionality required by the application is similar - to that provided by the Naming Service. However, the OMG does not - want to mandate that the Naming Service be made available to all - applications in order that they may be portably initialized. - Consequently, the operations shown in this section provide a - simplified, local version of the Naming Service that applications - can use to obtain a small, defined set of object references which - are essential to its operation. Because only a small well-defined + to that provided by the Naming Service. However, the OMG does not + want to mandate that the Naming Service be made available to all + applications in order that they may be portably initialized. + Consequently, the operations shown in this section provide a + simplified, local version of the Naming Service that applications + can use to obtain a small, defined set of object references which + are essential to its operation. Because only a small well-defined set of objects are expected with this mechanism, the naming context can be flattened to be a single-level name space. This simplification results in only two operations being defined to achieve the functionality required. -

    Initial references are obtained via two operations provided in -the ORB object interface, providing facilities to list and +

    Initial references are obtained via two operations provided in +the ORB object interface, providing facilities to list and resolve initial object references. These are:

    • -resolve_initial_references(String name) +resolve_initial_references(String name)
    • -list_initial_services() +list_initial_services()
    • -register_initial_reference(String id, -org.omg.CORBA.Object obj) +register_initial_reference(String id, org.omg.CORBA.Object obj)
    -

    An example that uses some of these methods is An example that uses some of these methods is Getting Started with Java IDL. @@ -156,7 +155,7 @@ HREF="{@docRoot}/../technotes/guides/idl/GShome.html"> Exceptions Exceptions in Java IDL are similar to those in any code written in the Java programming language. If a method is defined to throw an exception, -then any code using that method must have a try/catch +then any code using that method must have a try/catch block and handle that exception when it is thrown.

    The documentation on has more information and explains the difference between system exceptions and user-defined exceptions.

    The following is a list of the system exceptions (which are unchecked -exceptions inheriting through -org.omg.CORBA.SystemException from -java.lang.RuntimeException) that are defined in the package -org.omg.CORBA: +exceptions inheriting through +org.omg.CORBA.SystemException from +java.lang.RuntimeException) that are defined in the package +org.omg.CORBA:

    
             BAD_CONTEXT
             BAD_INV_ORDER
    @@ -203,7 +202,7 @@ org.omg.CORBA.SystemException from
     

    The following is a list of user-defined exceptions defined in the package -org.omg.CORBA. +org.omg.CORBA.

    
             Bounds
             UnknownUserException
    @@ -212,37 +211,37 @@ The following is a list of user-defined exceptions defined in the package
     

    Subpackages

    -There are some packages inside the CORBA package with +There are some packages inside the CORBA package with "Package" as part of their names. These packages are generally quite small because all they do is provide exceptions or classes for use by interfaces -and classes in the CORBA package. +and classes in the CORBA package. -

    For example, the package -org.omg.CORBA.TypeCodePackage contains -two exceptions thrown by methods in the class TypeCode. These +

    For example, the package +org.omg.CORBA.TypeCodePackage contains +two exceptions thrown by methods in the class TypeCode. These exceptions are:

    • -BadKind +BadKind
    • -Bounds +Bounds
    -The package -org.omg.CORBA.ORBPackage contains two exceptions: +The package +org.omg.CORBA.ORBPackage contains two exceptions:
    • -InvalidName +InvalidName
    • -InconsistentTypeCode +InconsistentTypeCode
    -

    Another package that is a subpackage of CORBA is the -portable package. It -provides a set of ORB APIs that makes it +

    Another package that is a subpackage of CORBA is the +portable +package. It provides a set of ORB APIs that makes it possible for code generated by one vendor's IDL compiler to run -on another vendor's ORB. +on another vendor's ORB. @@ -251,47 +250,49 @@ on another vendor's ORB. Holder classes -

    Support for out and inout parameter passing modes requires the use of -additional holder -classes. Because the Java programming language does not support out or +

    Support for out and inout parameter passing modes requires the use of +additional holder +classes. Because the Java programming language does not support out or inout parameters, holder classes are needed as a means of passing a parameter -that can be modified. To support portable stubs and skeletons, holder classes also implement - the org.omg.CORBA.portable.Streamable - interface. +that can be modified. To support portable stubs and skeletons, +holder classes also implement the +org.omg.CORBA.portable.Streamable +interface.

    Holder classes are named by appending "Holder" to the name of the type. The name of the type refers to its name in the Java programming language. For - example, a holder class for the interface named Account in the Java programming - language would be named AccountHolder. + example, a holder class for the interface named Account + in the Java programming + language would be named AccountHolder.

    Holder classes are available for all of the basic IDL - datatypes in the org.omg.CORBA package. So, for example, - there are already-defined classes for LongHolder, ShortHolder, - FloatHolder, and so on. Classes are also generated for - all named user-defined IDL types except those defined by typedefs. - (Note that in this context user defined includes types that are + datatypes in the org.omg.CORBA package. So, for example, + there are already-defined classes for LongHolder, ShortHolder, + FloatHolder, and so on. Classes are also generated for + all named user-defined IDL types except those defined by typedefs. + (Note that in this context user defined includes types that are defined in OMG specifications such as those for the Interface - Repository, and other OMG services.) + Repository, and other OMG services.)

    Each holder class has:

    • a constructor from an instance
    • a default constructor -
    • a public instance member, value which is the typed value. -
    • a method for reading an input stream and assigning the contents to the -type's value field -
    • a method for writing the value of the value field to an output stream +
    • a public instance member, value which is the typed value. +
    • a method for reading an input stream and assigning the contents to the +type's value field +
    • a method for writing the value of the value field to an output stream
    • a method for getting the typecode of the type
    -

    The default constructor sets the value field to the default value for the -type as defined by the Java language: +

    The default constructor sets the value field to the default value for the +type as defined by the Java language:

      -
    • false for boolean -
    • 0 for numeric and char types -
    • null for strings and object references +
    • false for boolean +
    • 0 for numeric and char types +
    • null for strings and object references
    @@ -301,7 +302,7 @@ As an example, if the interface Account, defined in OMG IDL, were mapped to the Java programming language, the following holder class would be generated:
    -public final class AccountHolder implements 
    +public final class AccountHolder implements
         org.omg.CORBA.portable.Streamable
     {
       // field that holds an Account object
    @@ -342,53 +343,52 @@ public final class AccountHolder implements
     

    For more information on Holder classes, see Chapter 1.4, Mapping for Basic Types in the OMG IDL to Java Language Mapping. The Holder classes defined -in the package org.omg.CORBA are: -

    -     AnyHolder
    -     AnySeqHolder
    -     BooleanHolder
    -     BooleanSeqHolder
    -     ByteHolder
    -     CharHolder
    -     CharSeqHolder
    -     CurrentHolder
    -     DoubleHolder
    -     DoubleSeqHolder
    -     FixedHolder
    -     FloatHolder
    -     FloatSeqHolder
    -     IntHolder
    -     LongHolder
    -     LongLongSeqHolder
    -     LongSeqHolder
    -     ObjectHolder
    -     OctetSeqHolder
    -     ParameterModeHolder
    -     PolicyErrorHolder
    -     PolicyListHolder
    -     PrincipalHolder
    -     ServiceInformationHolder
    -     ShortHolder
    -     ShortSeqHolder
    -     StringHolder
    -     StringSeqHolder
    -     TypeCodeHolder
    -     ULongLongSeqHolder
    -     ULongSeqHolder
    -     UnknownUserExceptionHolder
    -     UShortSeqHolder
    -     ValueBaseHolder
    -     WCharSeqHolder
    -     WrongTransactionHolder
    -     WStringSeqHolder
    -
    -
    +in the package org.omg.CORBA are: +
    
    +     AnyHolder
    +     AnySeqHolder
    +     BooleanHolder
    +     BooleanSeqHolder
    +     ByteHolder
    +     CharHolder
    +     CharSeqHolder
    +     CurrentHolder
    +     DoubleHolder
    +     DoubleSeqHolder
    +     FixedHolder
    +     FloatHolder
    +     FloatSeqHolder
    +     IntHolder
    +     LongHolder
    +     LongLongSeqHolder
    +     LongSeqHolder
    +     ObjectHolder
    +     OctetSeqHolder
    +     ParameterModeHolder
    +     PolicyErrorHolder
    +     PolicyListHolder
    +     PrincipalHolder
    +     ServiceInformationHolder
    +     ShortHolder
    +     ShortSeqHolder
    +     StringHolder
    +     StringSeqHolder
    +     TypeCodeHolder
    +     ULongLongSeqHolder
    +     ULongSeqHolder
    +     UnknownUserExceptionHolder
    +     UShortSeqHolder
    +     ValueBaseHolder
    +     WCharSeqHolder
    +     WrongTransactionHolder
    +     WStringSeqHolder
    +

    Helper Classes

    Helper files supply several static methods needed to manipulate the type. These include:

      -
    • Any insert and extract operations for the type +
    • Any insert and extract operations for the type
    • getting the repository id
    • getting the typecode
    • reading and writing the type from and to a stream @@ -397,25 +397,26 @@ in the package org.omg.CORBA are:

    The helper class for a mapped IDL interface or abstract interface - also include narrow operation(s). The static narrow method allows - an org.omg.CORBA.Object to be narrowed to the object reference - of a more specific type. The IDL exception CORBA.BAD_PARAM - is thrown if the narrow fails because the object reference does not - support the requested type. A different system exception is raised - to indicate other kinds of errors. Trying to narrow a null will always - succeed with a return value of null. Generally, the only helper method an application programmer uses is +also include narrow operation(s). The static narrow method allows +an org.omg.CORBA.Object to be narrowed to the object reference +of a more specific type. The IDL exception CORBA.BAD_PARAM +is thrown if the narrow fails because the object reference does not +support the requested type. A different system exception is raised +to indicate other kinds of errors. Trying to narrow a null will always +succeed with a return value of null. +Generally, the only helper method an application programmer uses is the narrow method. The other methods are normally used behind the scenes and are transparent to the programmer.

    Helper classes fall into two broad categories, helpers for value types and -helpers for non value types. Because all of the helper +helpers for non value types. Because all of the helper classes in one category -provide the same methods, one generic explanation of each +provide the same methods, one generic explanation of each category of helper classes is presented here.

    -When OMG IDL is mapped to the Java programming language, +When OMG IDL is mapped to the Java programming language, a "helper" class is generated for each user-defined type. This generated class will have the name of the user-defined type with the suffix Helper appended. For example, if the @@ -423,7 +424,7 @@ interface Account is defined in OMG IDL, the idlj compiler will automatically generate a class named AccountHelper. The AccountHelper class will contain the static methods needed for manipulating instances of the type, -in this case, Account objects. +in this case, Account objects. @@ -442,14 +443,12 @@ The narrow method has two forms, one that takes an not determines which narrow method its helper class will provide. The helper class for an interface that is not abstract will have a narrow method that takes a CORBA -object, whereas the narrow method for an interface that is abstract -will -take an object in the Java programming language. The helper class for a +object, whereas the narrow method for an interface that is abstract +will take an object in the Java programming language. The helper class for a non-abstract interface that has at least one abstract base interface will provide both versions of the narrow method. -

    The Hello World -tutorial uses a narrow method that looks -like this: +

    The Hello World +tutorial uses a narrow method that looks like this:

             // create and initialize the ORB
             ORB orb = ORB.init(args, null);
    @@ -469,7 +468,7 @@ like this:
     
     

    Example of a Basic Helper Class

    A basic helper class, for purposes of this explanation, is one with -the methods that are provided by every helper class, plus a narrow +the methods that are provided by every helper class, plus a narrow method if the type defined in OMG IDL maps to an interface in the Java programming language. Types that are not value types will have a basic helper class generated for them. @@ -626,57 +625,56 @@ abstract public class AddressHelper }
    -

    The Helper classes defined in the package org.omg.CORBA are: +

    The Helper classes defined in the package org.omg.CORBA are:

    
    -     AnySeqHelper
    -     BooleanSeqHelper
    -     CharSeqHelper
    -     CompletionStatusHelper
    -     CurrentHelper
    -     DefinitionKindHelper
    -     DoubleSeqHelper
    -     FieldNameHelper
    -     FloatSeqHelper
    -     IdentifierHelper
    -     IDLTypeHelper
    -     LongLongSeqHelper
    -     LongSeqHelper
    -     NameValuePairHelper
    -     ObjectHelper
    -     OctetSeqHelper
    -     ParameterModeHelper
    -     PolicyErrorCodeHelper
    -     PolicyErrorHelper
    -     PolicyHelper
    -     PolicyListHelper
    -     PolicyTypeHelper
    -     RepositoryIdHelper
    -     ServiceDetailHelper
    -     ServiceInformationHelper
    -     SetOverrideTypeHelper
    -     ShortSeqHelper
    -     StringSeqHelper
    -     StringValueHelper
    -     StructMemberHelper
    -     ULongLongSeqHelper
    -     ULongSeqHelper
    -     UnionMemberHelper
    -     UnknownUserExceptionHelper
    -     UShortSeqHelper
    -     ValueBaseHelper
    -     ValueMemberHelper
    -     VersionSpecHelper
    -     VisibilityHelper
    -     WCharSeqHelper
    -     WrongTransactionHelper
    -     WStringSeqHelper
    -     WStringValueHelper
    -
    +     AnySeqHelper
    +     BooleanSeqHelper
    +     CharSeqHelper
    +     CompletionStatusHelper
    +     CurrentHelper
    +     DefinitionKindHelper
    +     DoubleSeqHelper
    +     FieldNameHelper
    +     FloatSeqHelper
    +     IdentifierHelper
    +     IDLTypeHelper
    +     LongLongSeqHelper
    +     LongSeqHelper
    +     NameValuePairHelper
    +     ObjectHelper
    +     OctetSeqHelper
    +     ParameterModeHelper
    +     PolicyErrorCodeHelper
    +     PolicyErrorHelper
    +     PolicyHelper
    +     PolicyListHelper
    +     PolicyTypeHelper
    +     RepositoryIdHelper
    +     ServiceDetailHelper
    +     ServiceInformationHelper
    +     SetOverrideTypeHelper
    +     ShortSeqHelper
    +     StringSeqHelper
    +     StringValueHelper
    +     StructMemberHelper
    +     ULongLongSeqHelper
    +     ULongSeqHelper
    +     UnionMemberHelper
    +     UnknownUserExceptionHelper
    +     UShortSeqHelper
    +     ValueBaseHelper
    +     ValueMemberHelper
    +     VersionSpecHelper
    +     VisibilityHelper
    +     WCharSeqHelper
    +     WrongTransactionHelper
    +     WStringSeqHelper
    +     WStringValueHelper
     

    Other Classes

    -The other classes and interfaces in the CORBA package, which are +The other classes and interfaces in the CORBA package, which are used behind the scenes, can be put into four groups. Three of the groups are used with requests in some capacity, and the fourth group, concerning the Interface Repository, is a category by itself. @@ -686,38 +684,38 @@ The first group contains classes that are created by an ORB and contain information used in request operations.
    • -TCKind -- indicates the kind (datatype) for a TypeCode +TCKind -- indicates the kind (datatype) for a TypeCode object
    • -TypeCode -- indicates a datatype and possibly other information +TypeCode -- indicates a datatype and possibly other information
    • -Any -- contains a value and its typecode +Any -- contains a value and its typecode
    • -NamedValue -- contains a name, an Any object, and an -argument mode flag. NamedValue objects contain information about +NamedValue -- contains a name, an Any object, and an +argument mode flag. NamedValue objects contain information about method arguments, method return values, or a context.
    • -ContextList -- a list of strings that describe the contexts that +ContextList -- a list of strings that describe the contexts that need to be resolved and sent with an invocation
    • -ExceptionList -- a list of TypeCodes for exceptions that +ExceptionList -- a list of TypeCodes for exceptions that may be thrown by a method
    • -Environment -- a container for the exception thrown during a method +Environment -- a container for the exception thrown during a method invocation
    • -Context -- a list of NamedValue objects used to pass +Context -- a list of NamedValue objects used to pass auxiliary information from client to server
    • -NVList -- a list of NamedValue objects, used to pass +NVList -- a list of NamedValue objects, used to pass arguments or get results
    @@ -726,23 +724,23 @@ Classes That Deal with Requests The second group of classes deals with requests:
    • -Object -- the base class for all CORBA object references +Object -- the base class for all CORBA object references
    • -Request -- the main class in the DII, which contains methods for +Request -- the main class in the DII, which contains methods for adding arguments to the request, for accessing information about the method being invoked (the method name, its arguments, exceptions it throws, and so on), and for making invocations on the request
    • -DynamicImplementation -- the base class for server implementations -using the DSI. It has the method invoke, which is used by an +DynamicImplementation -- the base class for server implementations +using the DSI. It has the method invoke, which is used by an implementation -of this class to determine the state of a ServerRequest object +of this class to determine the state of a ServerRequest object and to set its result or exception
    • -ServerRequest -- captures the explicit state of a request for +ServerRequest -- captures the explicit state of a request for the Dynamic Skeleton Interface
    @@ -750,82 +748,82 @@ the Dynamic Skeleton Interface Interfaces That Serve as Constants The third group contains interfaces that serve as constants. The IDL-to-Java mapping mandates that IDL enums are mapped to a Java class with the enumerated -values represented as public static final fields in that class (e.g. +values represented as public static final fields in that class (e.g. DefinitionKind). On the other hand IDL constants defined outside of an IDL interface are mapped to a Java interface for each constant. -

    This is why several interfaces in the org.omg.CORBA package -consist of a single field, value, which is a short. This +

    This is why several interfaces in the org.omg.CORBA package +consist of a single field, value, which is a short. This field is a constant used for such things as an error code or value modifier. -For example, the value field of the interface BAD_POLICY -is one of the possible reasons for the exception PolicyError to -be thrown. To specify this error code, you would use BAD_POLICY.value. +For example, the value field of the interface BAD_POLICY +is one of the possible reasons for the exception PolicyError to +be thrown. To specify this error code, you would use BAD_POLICY.value. -

    The exception PolicyError uses the value field of +

    The exception PolicyError uses the value field of the following interfaces as its possible error codes.

    • -BAD_POLICY +BAD_POLICY
    • -BAD_POLICY_TYPE +BAD_POLICY_TYPE
    • -BAD_POLICY_VALUE +BAD_POLICY_VALUE
    • -UNSUPPORTED_POLICY +UNSUPPORTED_POLICY
    • -UNSUPPORTED_POLICY_VALUE +UNSUPPORTED_POLICY_VALUE
    -The method TypeCode.type_modifier returns the value field -of one of the following interfaces. The VM in the names of these +The method TypeCode.type_modifier returns the value field +of one of the following interfaces. The VM in the names of these interfaces stands for "value modifier."
    • -VM_NONE +VM_NONE
    • -VM_ABSTRACT +VM_ABSTRACT
    • -VM_CUSTOM +VM_CUSTOM
    • -VM_TRUNCATABLE +VM_TRUNCATABLE
    The following constants are returned by a ValueMember object's access method to denote the visibility of the ValueMember object.
    • -PRIVATE_MEMBER +PRIVATE_MEMBER
    • -PUBLIC_MEMBER +PUBLIC_MEMBER
    -These flags, used in NamedValue objects or as parameters to methods, +These flags, used in NamedValue objects or as parameters to methods, are defined in the following interfaces:
    • -ARG_IN +ARG_IN
    • -ARG_INOUT +ARG_INOUT
    • -ARG_OUT +ARG_OUT
    • -CTX_RESTRICT_SCOPE +CTX_RESTRICT_SCOPE

    Interface Repository Interfaces and Classes

    A fourth group contains the Interface Repository interfaces and classes, -which are generated by the idlj compiler from the OMG IDL -interface ir.idl. The purpose of the Interface Repository is to +which are generated by the idlj compiler from the OMG IDL +interface ir.idl. The purpose of the Interface Repository is to identify the interfaces stored in it so that they can be accessed by an ORB. Each module, type, interface, attribute, operation, parameter, exception, constant, and so on is described completely by the Interface Repository @@ -874,7 +872,7 @@ For overviews, guides, and a tutorial, please see:

    CORBA Features Not Implemented in Java IDL

    -

    Some of the API included in org.omg subpackages is provided for +

    Some of the API included in org.omg subpackages is provided for conformance with the current OMG CORBA specification but is not implemented in Sun's release of the JDKTM. This enables other JDK licensees to provide implementations of this API in standard @@ -883,21 +881,21 @@ extensions and products.

    Features That Throw NO_IMPLEMENT

    -

    Some of the API included in org.omg subpackages throw -NO_IMPLEMENT exceptions for various reasons. Among these reasons +

    Some of the API included in org.omg subpackages throw +NO_IMPLEMENT exceptions for various reasons. Among these reasons are:

      -
    • In some cases, for example LocalObject, the complete - implementation according to the specification indicates that - these API should throw NO_IMPLEMENT. +
    • In some cases, for example LocalObject, the complete + implementation according to the specification indicates that + these API should throw NO_IMPLEMENT. -
    • In most cases, for example methods in ORB.java, - methods that throw - NO_IMPLEMENT are actually implemented in subclasses +
    • In most cases, for example methods in ORB.java, + methods that throw + NO_IMPLEMENT are actually implemented in subclasses elsewhere in the ORB code. -
    • In some cases, for example _get_interface_def() - and _get_interface, API are really not yet implemented. +
    • In some cases, for example _get_interface_def() + and _get_interface, API are really not yet implemented.
    @@ -912,65 +910,67 @@ Interface Repository. An Interface Repository is not required for normal operation of Java IDL.
  • -Java IDL does not support long double. +Java IDL does not support long double.
  • -Policies (org.omg.CORBA.Policy) and methods for getting them are not implemented. +Policies (org.omg.CORBA.Policy) +and methods for getting them are not implemented.
  • -Domain managers (org.omg.CORBA.DomainManager) and methods for +Domain managers (org.omg.CORBA.DomainManager) and methods for getting them are not implemented.
  • -Service Information org.omg.CORBA.ServiceInformation and ORB method public boolean get_service_information(short service_type, -ServiceInformationHolder -service_info) are not implemented. +Service Information org.omg.CORBA.ServiceInformation +and ORB method +public boolean get_service_information(short service_type, ServiceInformationHolder service_info) +are not implemented. -
  • ORB methods for supporting single-threading (perform_work, work_pending) are not implemented. +
  • ORB methods for supporting single-threading +(perform_work, work_pending) are not implemented.
  • IDL contexts.

    -Specific List of Unimplemented Features in Package org.omg.CORBA

    +Specific List of Unimplemented Features in Package org.omg.CORBA

    -Unimplemented Methods in package org.omg.CORBA:

    +Unimplemented Methods in package org.omg.CORBA: