/hg/release/icedtea7-forest-2.1/corba: 5 new changesets
andrew at icedtea.classpath.org
andrew at icedtea.classpath.org
Tue Feb 5 03:08:55 PST 2013
changeset 9d9b17ad1fe9 in /hg/release/icedtea7-forest-2.1/corba
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/corba?cmd=changeset;node=9d9b17ad1fe9
author: mbankal
date: Fri Nov 09 10:20:16 2012 -0800
7141694: Improving CORBA internals
Reviewed-by: coffeys, ahgross
changeset c51ab72d2c85 in /hg/release/icedtea7-forest-2.1/corba
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/corba?cmd=changeset;node=c51ab72d2c85
author: coffeys
date: Tue Nov 06 15:50:14 2012 +0000
7201066: Change modifiers on unused fields
Reviewed-by: alanb, skoivu
changeset ab532d6a78d1 in /hg/release/icedtea7-forest-2.1/corba
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/corba?cmd=changeset;node=ab532d6a78d1
author: ngmr
date: Tue Oct 30 17:15:13 2012 +0000
8000540: Improve IIOP type reuse management
Reviewed-by: alanb, ahgross, coffeys
changeset 50f1d640ea27 in /hg/release/icedtea7-forest-2.1/corba
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/corba?cmd=changeset;node=50f1d640ea27
author: andrew
date: Tue Feb 05 08:39:53 2013 +0000
8000631: Restrict access to class constructor
Reviewed-by: alanb, ahgross
changeset 104afef69da6 in /hg/release/icedtea7-forest-2.1/corba
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.1/corba?cmd=changeset;node=104afef69da6
author: andrew
date: Tue Feb 05 11:08:12 2013 +0000
Added tag icedtea-2.1.5 for changeset 50f1d640ea27
diffstat:
.hgtags | 1 +
make/com/sun/corba/minclude/com_sun_corba_se_impl_orbutil.jmk | 14 +-
src/share/classes/com/sun/corba/se/impl/activation/ServerMain.java | 8 +-
src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java | 6 +-
src/share/classes/com/sun/corba/se/impl/encoding/CDRInputStream_1_0.java | 61 +----
src/share/classes/com/sun/corba/se/impl/encoding/CDROutputStream_1_0.java | 20 +-
src/share/classes/com/sun/corba/se/impl/io/FVDCodeBaseImpl.java | 8 +-
src/share/classes/com/sun/corba/se/impl/io/ObjectStreamClass.java | 114 +++------
src/share/classes/com/sun/corba/se/impl/io/ValueHandlerImpl.java | 85 +-----
src/share/classes/com/sun/corba/se/impl/io/ValueUtility.java | 10 +-
src/share/classes/com/sun/corba/se/impl/javax/rmi/CORBA/Util.java | 6 +-
src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java | 2 +-
src/share/classes/com/sun/corba/se/impl/orbutil/ORBUtility.java | 38 +---
src/share/classes/com/sun/corba/se/impl/orbutil/ObjectStreamClass_1_3_1.java | 6 +-
src/share/classes/com/sun/corba/se/impl/orbutil/RepositoryIdFactory.java | 53 +----
src/share/classes/com/sun/corba/se/spi/orb/ORB.java | 37 +-
16 files changed, 128 insertions(+), 341 deletions(-)
diffs (truncated from 912 to 500 lines):
diff -r fccd14ecf86c -r 104afef69da6 .hgtags
--- a/.hgtags Mon Jan 14 22:22:11 2013 +0000
+++ b/.hgtags Tue Feb 05 11:08:12 2013 +0000
@@ -151,3 +151,4 @@
8c5573b22489182901b2fafaec3950b1c09a6851 icedtea-2.1.2
5fb07c08e9e8c7b62395b0dc5f5a95086a7bb718 icedtea-2.1.3
79ee8535bc518acf1156438967170004cc1eaab4 icedtea-2.1.4
+50f1d640ea27ea178b679d5ed67f19ecef698796 icedtea-2.1.5
diff -r fccd14ecf86c -r 104afef69da6 make/com/sun/corba/minclude/com_sun_corba_se_impl_orbutil.jmk
--- a/make/com/sun/corba/minclude/com_sun_corba_se_impl_orbutil.jmk Mon Jan 14 22:22:11 2013 +0000
+++ b/make/com/sun/corba/minclude/com_sun_corba_se_impl_orbutil.jmk Tue Feb 05 11:08:12 2013 +0000
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2000, 2009, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 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
@@ -29,10 +29,6 @@
com/sun/corba/se/impl/orbutil/DenseIntMapImpl.java \
com/sun/corba/se/impl/orbutil/GetPropertyAction.java \
com/sun/corba/se/impl/orbutil/HexOutputStream.java \
- com/sun/corba/se/impl/orbutil/IIOPInputStream_1_3.java \
- com/sun/corba/se/impl/orbutil/IIOPInputStream_1_3_1.java \
- com/sun/corba/se/impl/orbutil/IIOPOutputStream_1_3.java \
- com/sun/corba/se/impl/orbutil/IIOPOutputStream_1_3_1.java \
com/sun/corba/se/impl/orbutil/LegacyHookGetFields.java \
com/sun/corba/se/impl/orbutil/LegacyHookPutFields.java \
com/sun/corba/se/impl/orbutil/LogKeywords.java \
@@ -45,19 +41,11 @@
com/sun/corba/se/impl/orbutil/ORBUtility.java \
com/sun/corba/se/impl/orbutil/ORBClassLoader.java \
com/sun/corba/se/impl/orbutil/RepIdDelegator.java \
- com/sun/corba/se/impl/orbutil/RepIdDelegator_1_3.java \
- com/sun/corba/se/impl/orbutil/RepIdDelegator_1_3_1.java \
- com/sun/corba/se/impl/orbutil/RepositoryIdCache_1_3.java \
- com/sun/corba/se/impl/orbutil/RepositoryId_1_3.java \
com/sun/corba/se/impl/orbutil/RepositoryIdFactory.java \
com/sun/corba/se/impl/orbutil/RepositoryIdStrings.java \
com/sun/corba/se/impl/orbutil/RepositoryIdUtility.java \
com/sun/corba/se/impl/orbutil/RepositoryIdInterface.java \
- com/sun/corba/se/impl/orbutil/RepositoryIdCache_1_3_1.java \
- com/sun/corba/se/impl/orbutil/RepositoryId_1_3_1.java \
com/sun/corba/se/impl/orbutil/StackImpl.java \
- com/sun/corba/se/impl/orbutil/ValueHandlerImpl_1_3_1.java \
- com/sun/corba/se/impl/orbutil/ValueHandlerImpl_1_3.java \
com/sun/corba/se/impl/orbutil/closure/Future.java \
com/sun/corba/se/impl/orbutil/closure/Constant.java \
com/sun/corba/se/impl/orbutil/concurrent/Sync.java \
diff -r fccd14ecf86c -r 104afef69da6 src/share/classes/com/sun/corba/se/impl/activation/ServerMain.java
--- a/src/share/classes/com/sun/corba/se/impl/activation/ServerMain.java Mon Jan 14 22:22:11 2013 +0000
+++ b/src/share/classes/com/sun/corba/se/impl/activation/ServerMain.java Tue Feb 05 11:08:12 2013 +0000
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2002, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
@@ -322,9 +322,9 @@
com.sun.corba.se.spi.activation._ServerImplBase
{
private ORB orb;
- private Method installMethod ;
- private Method uninstallMethod ;
- private Method shutdownMethod ;
+ private transient Method installMethod ;
+ private transient Method uninstallMethod ;
+ private transient Method shutdownMethod ;
private Object methodArgs[] ;
ServerCallback(ORB orb, Method installMethod, Method uninstallMethod,
diff -r fccd14ecf86c -r 104afef69da6 src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java
--- a/src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java Mon Jan 14 22:22:11 2013 +0000
+++ b/src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java Tue Feb 05 11:08:12 2013 +0000
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
@@ -1218,7 +1218,7 @@
// See bug 4391648 for more info about the tcORB in this
// case.
RepositoryIdStrings repStrs
- = RepositoryIdFactory.getRepIdStringsFactory(tcORB);
+ = RepositoryIdFactory.getRepIdStringsFactory();
// Assertion: c instanceof Serializable?
@@ -1251,7 +1251,7 @@
// Anything else
// We know that this is a TypeCodeImpl since it is our ORB
classTC = (TypeCodeImpl)ValueUtility.createTypeCodeForClass(
- tcORB, c, ORBUtility.createValueHandler(tcORB));
+ tcORB, c, ORBUtility.createValueHandler());
// Intruct classTC to store its buffer
classTC.setCaching(true);
// Update the cache
diff -r fccd14ecf86c -r 104afef69da6 src/share/classes/com/sun/corba/se/impl/encoding/CDRInputStream_1_0.java
--- a/src/share/classes/com/sun/corba/se/impl/encoding/CDRInputStream_1_0.java Mon Jan 14 22:22:11 2013 +0000
+++ b/src/share/classes/com/sun/corba/se/impl/encoding/CDRInputStream_1_0.java Tue Feb 05 11:08:12 2013 +0000
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
@@ -269,8 +269,8 @@
private final void createRepositoryIdHandlers()
{
- repIdUtil = RepositoryIdFactory.getRepIdUtility(orb);
- repIdStrs = RepositoryIdFactory.getRepIdStringsFactory(orb);
+ repIdUtil = RepositoryIdFactory.getRepIdUtility();
+ repIdStrs = RepositoryIdFactory.getRepIdStringsFactory();
}
public GIOPVersion getGIOPVersion() {
@@ -564,10 +564,7 @@
checkForNegativeLength(len);
- if (orb != null && ORBUtility.isLegacyORB((ORB)orb))
- return legacyReadString(len);
- else
- return internalReadString(len);
+ return internalReadString(len);
}
private final String internalReadString(int len) {
@@ -588,54 +585,6 @@
return new String(result, 0, getCharConverter().getNumChars());
}
- private final String legacyReadString(int len) {
-
- //
- // Workaround for ORBs which send string lengths of
- // zero to mean empty string.
- //
- //
- // IMPORTANT: Do not replace 'new String("")' with "", it may result
- // in a Serialization bug (See serialization.zerolengthstring) and
- // bug id: 4728756 for details
- if (len == 0)
- return new String("");
-
- len--;
- char[] c = new char[len];
-
- int n = 0;
- while (n < len) {
- int avail;
- int bytes;
- int wanted;
-
- avail = bbwi.buflen - bbwi.position();
- if (avail <= 0) {
- grow(1, 1);
- avail = bbwi.buflen - bbwi.position();
- }
- wanted = len - n;
- bytes = (wanted < avail) ? wanted : avail;
- // Microbenchmarks are showing a loop of ByteBuffer.get(int) being
- // faster than ByteBuffer.get(byte[], int, int).
- for (int i=0; i<bytes; i++) {
- c[n+i] = (char) (bbwi.byteBuffer.get(bbwi.position()+i) & 0xFF);
- }
- bbwi.position(bbwi.position() + bytes);
- n += bytes;
- }
-
- //
- // Skip past terminating null byte
- //
- if (bbwi.position() + 1 > bbwi.buflen)
- alignAndCheck(1, 1);
- bbwi.position(bbwi.position() + 1);
-
- return new String(c);
- }
-
public final String read_string() {
return readStringOrIndirection(false);
}
@@ -1045,7 +994,7 @@
try {
if (valueHandler == null)
- valueHandler = ORBUtility.createValueHandler(orb);
+ valueHandler = ORBUtility.createValueHandler();
value = valueHandler.readValue(parent,
indirection,
diff -r fccd14ecf86c -r 104afef69da6 src/share/classes/com/sun/corba/se/impl/encoding/CDROutputStream_1_0.java
--- a/src/share/classes/com/sun/corba/se/impl/encoding/CDROutputStream_1_0.java Mon Jan 14 22:22:11 2013 +0000
+++ b/src/share/classes/com/sun/corba/se/impl/encoding/CDROutputStream_1_0.java Tue Feb 05 11:08:12 2013 +0000
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 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
@@ -189,18 +189,8 @@
private final void createRepositoryIdHandlers()
{
- if (orb != null) {
- // Get the appropriate versions based on the ORB version. The
- // ORB versioning info is only in the core ORB.
- repIdUtil
- = RepositoryIdFactory.getRepIdUtility(orb);
- repIdStrs
- = RepositoryIdFactory.getRepIdStringsFactory(orb);
- } else {
- // Get the latest versions
- repIdUtil = RepositoryIdFactory.getRepIdUtility();
- repIdStrs = RepositoryIdFactory.getRepIdStringsFactory();
- }
+ repIdUtil = RepositoryIdFactory.getRepIdUtility();
+ repIdStrs = RepositoryIdFactory.getRepIdStringsFactory();
}
public BufferManagerWrite getBufferManager()
@@ -705,7 +695,7 @@
private void writeArray(Serializable array, Class clazz) {
if (valueHandler == null)
- valueHandler = ORBUtility.createValueHandler(orb); //d11638
+ valueHandler = ORBUtility.createValueHandler(); //d11638
// Write value_tag
int indirection = writeValueTag(mustChunk, true,
@@ -768,7 +758,7 @@
private void writeRMIIIOPValueType(Serializable object, Class clazz) {
if (valueHandler == null)
- valueHandler = ORBUtility.createValueHandler(orb); //d11638
+ valueHandler = ORBUtility.createValueHandler(); //d11638
Serializable key = object;
diff -r fccd14ecf86c -r 104afef69da6 src/share/classes/com/sun/corba/se/impl/io/FVDCodeBaseImpl.java
--- a/src/share/classes/com/sun/corba/se/impl/io/FVDCodeBaseImpl.java Mon Jan 14 22:22:11 2013 +0000
+++ b/src/share/classes/com/sun/corba/se/impl/io/FVDCodeBaseImpl.java Tue Feb 05 11:08:12 2013 +0000
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2011, 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
@@ -86,7 +86,7 @@
// default to using the current ORB version in case the
// vhandler is not set
if (vhandler == null) {
- vhandler = new ValueHandlerImpl(false);
+ vhandler = ValueHandlerImpl.getInstance(false);
}
// Util.getCodebase may return null which would
@@ -120,7 +120,7 @@
// default to using the current ORB version in case the
// vhandler is not set
if (vhandler == null) {
- vhandler = new ValueHandlerImpl(false);
+ vhandler = ValueHandlerImpl.getInstance(false);
}
try{
@@ -161,7 +161,7 @@
// default to using the current ORB version in case the
// vhandler is not set
if (vhandler == null) {
- vhandler = new ValueHandlerImpl(false);
+ vhandler = ValueHandlerImpl.getInstance(false);
}
Stack repIds = new Stack();
diff -r fccd14ecf86c -r 104afef69da6 src/share/classes/com/sun/corba/se/impl/io/ObjectStreamClass.java
--- a/src/share/classes/com/sun/corba/se/impl/io/ObjectStreamClass.java Mon Jan 14 22:22:11 2013 +0000
+++ b/src/share/classes/com/sun/corba/se/impl/io/ObjectStreamClass.java Tue Feb 05 11:08:12 2013 +0000
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -25,7 +25,7 @@
/*
* Licensed Materials - Property of IBM
* RMI-IIOP v1.0
- * Copyright IBM Corp. 1998 1999 All Rights Reserved
+ * Copyright IBM Corp. 1998 2012 All Rights Reserved
*
*/
@@ -56,7 +56,6 @@
import java.util.Arrays;
import java.util.Comparator;
-import java.util.Hashtable;
import com.sun.corba.se.impl.util.RepositoryId;
@@ -83,8 +82,6 @@
private static Object noArgsList[] = {};
private static Class noTypesList[] = {};
- private static Hashtable translatedFields;
-
/** true if represents enum type */
private boolean isEnum;
@@ -384,6 +381,42 @@
*/
}
+ private static final class PersistentFieldsValue
+ extends ClassValue<ObjectStreamField[]> {
+ PersistentFieldsValue() { }
+
+ protected ObjectStreamField[] computeValue(Class<?> type) {
+ try {
+ Field pf = type.getDeclaredField("serialPersistentFields");
+ int mods = pf.getModifiers();
+ if (Modifier.isPrivate(mods) && Modifier.isStatic(mods) &&
+ Modifier.isFinal(mods)) {
+ pf.setAccessible(true);
+ java.io.ObjectStreamField[] fields =
+ (java.io.ObjectStreamField[])pf.get(type);
+ return translateFields(fields);
+ }
+ } catch (NoSuchFieldException | IllegalAccessException |
+ IllegalArgumentException | ClassCastException e) {
+ }
+ return null;
+ }
+
+ private static ObjectStreamField[] translateFields(
+ java.io.ObjectStreamField[] fields) {
+ ObjectStreamField[] translation =
+ new ObjectStreamField[fields.length];
+ for (int i = 0; i < fields.length; i++) {
+ translation[i] = new ObjectStreamField(fields[i].getName(),
+ fields[i].getType());
+ }
+ return translation;
+ }
+ }
+
+ private static final PersistentFieldsValue persistentFieldsValue =
+ new PersistentFieldsValue();
+
/*
* Initialize class descriptor. This method is only invoked on class
* descriptors created via calls to lookupInternal(). This method is kept
@@ -416,35 +449,7 @@
* If it is declared, use the declared serialPersistentFields.
* Otherwise, extract the fields from the class itself.
*/
- try {
- Field pf = cl.getDeclaredField("serialPersistentFields");
- // serial bug 7; the serialPersistentFields were not
- // being read and stored as Accessible bit was not set
- pf.setAccessible(true);
- // serial bug 7; need to find if the field is of type
- // java.io.ObjectStreamField
- java.io.ObjectStreamField[] f =
- (java.io.ObjectStreamField[])pf.get(cl);
- int mods = pf.getModifiers();
- if ((Modifier.isPrivate(mods)) &&
- (Modifier.isStatic(mods)) &&
- (Modifier.isFinal(mods)))
- {
- fields = (ObjectStreamField[])translateFields((Object[])pf.get(cl));
- }
- } catch (NoSuchFieldException e) {
- fields = null;
- } catch (IllegalAccessException e) {
- fields = null;
- } catch (IllegalArgumentException e) {
- fields = null;
- } catch (ClassCastException e) {
- /* Thrown if a field serialPersistentField exists
- * but it is not of type ObjectStreamField.
- */
- fields = null;
- }
-
+ fields = persistentFieldsValue.get(cl);
if (fields == null) {
/* Get all of the declared fields for this
@@ -641,43 +646,6 @@
superclass = null;
}
- private static Object[] translateFields(Object objs[])
- throws NoSuchFieldException {
- try{
- java.io.ObjectStreamField fields[] = (java.io.ObjectStreamField[])objs;
- Object translation[] = null;
-
- if (translatedFields == null)
- translatedFields = new Hashtable();
-
- translation = (Object[])translatedFields.get(fields);
-
- if (translation != null)
- return translation;
- else {
- Class osfClass = Class.forName("com.sun.corba.se.impl.io.ObjectStreamField");
- translation = (Object[])java.lang.reflect.Array.newInstance(osfClass, objs.length);
- Object arg[] = new Object[2];
- Class types[] = {String.class, Class.class};
- Constructor constructor = osfClass.getDeclaredConstructor(types);
- for (int i = fields.length -1; i >= 0; i--){
- arg[0] = fields[i].getName();
- arg[1] = fields[i].getType();
-
- translation[i] = constructor.newInstance(arg);
- }
- translatedFields.put(fields, translation);
-
- }
-
- return (Object[])translation;
- }
- catch(Throwable t){
- NoSuchFieldException nsfe = new NoSuchFieldException();
- nsfe.initCause( t ) ;
- throw nsfe ;
- }
- }
/*
* Set the class this version descriptor matches.
@@ -1555,8 +1523,8 @@
private boolean hasExternalizableBlockData;
Method writeObjectMethod;
Method readObjectMethod;
- private Method writeReplaceObjectMethod;
- private Method readResolveObjectMethod;
+ private transient Method writeReplaceObjectMethod;
+ private transient Method readResolveObjectMethod;
private Constructor cons ;
/**
diff -r fccd14ecf86c -r 104afef69da6 src/share/classes/com/sun/corba/se/impl/io/ValueHandlerImpl.java
--- a/src/share/classes/com/sun/corba/se/impl/io/ValueHandlerImpl.java Mon Jan 14 22:22:11 2013 +0000
+++ b/src/share/classes/com/sun/corba/se/impl/io/ValueHandlerImpl.java Tue Feb 05 11:08:12 2013 +0000
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 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
@@ -53,7 +53,7 @@
import com.sun.corba.se.impl.logging.OMGSystemException;
import com.sun.corba.se.impl.logging.UtilSystemException;
-public class ValueHandlerImpl implements javax.rmi.CORBA.ValueHandlerMultiFormat {
+public final class ValueHandlerImpl implements javax.rmi.CORBA.ValueHandlerMultiFormat {
// Property to override our maximum stream format version
public static final String FORMAT_VERSION_PROPERTY
@@ -150,14 +150,22 @@
writeValueWithVersion(out, value, streamFormatVersion);
}
- public ValueHandlerImpl(){}
+ private ValueHandlerImpl(){}
- public ValueHandlerImpl(boolean isInputStream) {
+ private ValueHandlerImpl(boolean isInputStream) {
this();
useHashtables = false;
this.isInputStream = isInputStream;
}
+ static ValueHandlerImpl getInstance() {
+ return new ValueHandlerImpl();
+ }
+
+ static ValueHandlerImpl getInstance(boolean isInputStream) {
+ return new ValueHandlerImpl(isInputStream);
+ }
+
/**
* Writes the value to the stream using java semantics.
* @param out The stream to write the value to
@@ -458,12 +466,7 @@
return ObjectStreamClass.lookup(value.getClass()).writeReplace(value);
More information about the distro-pkg-dev
mailing list