Permalink
Browse files

DERBY-2920: Share code between readExternal() and readExternalFromArr…

…ay()

Provide a default readExternalFromArray() method that simply forwards
calls to readExternal() in the DataType class. Remove the method from
sub-classes where the readExternal() and readExternalFromArray() methods
are identical.

git-svn-id: https://svn.apache.org/repos/asf/db/derby/code/trunk@1407432 13f79535-47bb-0310-9956-ffa450edef68
  • Loading branch information...
1 parent 1bb2c59 commit 4ecfb0ef5e0a8f80fa2065f7ef45404575950399 @kahatlen kahatlen committed Nov 9, 2012
View
22 java/engine/org/apache/derby/iapi/types/BinaryDecimal.java
@@ -30,7 +30,6 @@ Licensed to the Apache Software Foundation (ASF) under one or more
import org.apache.derby.iapi.error.StandardException;
import org.apache.derby.iapi.reference.SQLState;
-import org.apache.derby.iapi.services.io.ArrayInputStream;
import org.apache.derby.iapi.services.io.StoredFormatIds;
import org.apache.derby.iapi.services.sanity.SanityManager;
@@ -639,27 +638,6 @@ public void readExternal(ObjectInput in) throws IOException
in.readFully(data2c);
}
- public void readExternalFromArray(ArrayInputStream in) throws IOException
- {
- sqlScale = in.readUnsignedByte();
- int size = in.readUnsignedByte();
-
- /*
- ** Allocate a new array if the data to read
- ** is larger than the existing array, or if
- ** we don't have an array yet.
-
- Need to use readFully below and NOT just read because read does not
- guarantee getting size bytes back, whereas readFully does (unless EOF).
- */
- if ((data2c == null) || size != data2c.length)
- {
- data2c = new byte[size];
- }
- in.readFully(data2c);
- }
-
-
public final int getLength()
{
View
17 java/engine/org/apache/derby/iapi/types/DataType.java
@@ -23,10 +23,11 @@ Licensed to the Apache Software Foundation (ASF) under one or more
import org.apache.derby.iapi.reference.SQLState;
import org.apache.derby.iapi.error.StandardException;
-import org.apache.derby.iapi.services.i18n.MessageService;
+import org.apache.derby.iapi.services.io.ArrayInputStream;
import org.apache.derby.iapi.services.sanity.SanityManager;
import java.io.InputStream;
+import java.io.IOException;
import java.sql.Blob;
import java.sql.Clob;
import java.sql.Date;
@@ -260,6 +261,20 @@ public DataValueDescriptor recycle() {
return this;
}
+ /**
+ * Read the DataValueDescriptor from the stream. The default implementation
+ * calls {@code readExternal()}, which accesses the {@code ArrayInputStream}
+ * as a generic stream. If sub-classes can implement it more efficiently
+ * by accessing the array, they should override this method.
+ *
+ * @see DataValueDescriptor#readExternalFromArray
+ * @see java.io.Externalizable#readExternal
+ */
+ public void readExternalFromArray(ArrayInputStream in)
+ throws IOException, ClassNotFoundException {
+ readExternal(in);
+ }
+
/*
* Column interface
*/
View
22 java/engine/org/apache/derby/iapi/types/SQLBinary.java
@@ -27,8 +27,6 @@ Licensed to the Apache Software Foundation (ASF) under one or more
import org.apache.derby.iapi.reference.SQLState;
import org.apache.derby.iapi.reference.MessageId;
-import org.apache.derby.iapi.services.io.ArrayInputStream;
-
import org.apache.derby.iapi.error.StandardException;
import org.apache.derby.iapi.services.context.ContextService;
@@ -431,26 +429,6 @@ public final void readExternal(ObjectInput in) throws IOException
readFromStream((InputStream) in);
}
}
- public final void readExternalFromArray(ArrayInputStream in) throws IOException
- {
- // need to clear stream first, in case this object is reused, and
- // stream is set by previous use. Track 3794.
- stream = null;
- streamValueLength = -1;
- _blobValue = null;
-
- int len = SQLBinary.readBinaryLength(in);
-
- if (len != 0)
- {
- dataValue = new byte[len];
- in.readFully(dataValue);
- }
- else
- {
- readFromStream(in);
- }
- }
/**
* Read the encoded length of the value from the on-disk format.
View
17 java/engine/org/apache/derby/iapi/types/SQLBoolean.java
@@ -21,9 +21,6 @@ Licensed to the Apache Software Foundation (ASF) under one or more
package org.apache.derby.iapi.types;
-
-import org.apache.derby.iapi.services.io.ArrayInputStream;
-
import org.apache.derby.iapi.services.sanity.SanityManager;
import org.apache.derby.iapi.services.io.Storable;
@@ -32,11 +29,6 @@ Licensed to the Apache Software Foundation (ASF) under one or more
import org.apache.derby.iapi.error.StandardException;
import org.apache.derby.iapi.reference.SQLState;
-import org.apache.derby.iapi.types.DataValueDescriptor;
-import org.apache.derby.iapi.types.TypeId;
-import org.apache.derby.iapi.types.BooleanDataValue;
-
-
import org.apache.derby.iapi.services.cache.ClassSize;
import org.apache.derby.iapi.util.StringUtil;
@@ -224,15 +216,6 @@ public void readExternal(ObjectInput in) throws IOException {
value = in.readBoolean();
isnull = false;
}
- public void readExternalFromArray(ArrayInputStream in) throws IOException {
-
- if (SanityManager.DEBUG)
- SanityManager.ASSERT( ! immutable,
- "Attempt to set the value of an immutable SQLBoolean");
-
- value = in.readBoolean();
- isnull = false;
- }
/**
* @see Storable#restoreToNull
View
8 java/engine/org/apache/derby/iapi/types/SQLDate.java
@@ -23,8 +23,6 @@ Licensed to the Apache Software Foundation (ASF) under one or more
import org.apache.derby.iapi.reference.SQLState;
-import org.apache.derby.iapi.services.io.ArrayInputStream;
-
import org.apache.derby.iapi.error.StandardException;
import org.apache.derby.iapi.db.DatabaseContext;
@@ -201,12 +199,6 @@ public void writeExternal(ObjectOutput out) throws IOException {
public void readExternal(ObjectInput in) throws IOException
{
encodedDate = in.readInt();
-
- }
- public void readExternalFromArray(ArrayInputStream in) throws IOException
- {
- encodedDate = in.readInt();
-
}
/*
View
27 java/engine/org/apache/derby/iapi/types/SQLDecimal.java
@@ -23,8 +23,6 @@ Licensed to the Apache Software Foundation (ASF) under one or more
import org.apache.derby.iapi.reference.SQLState;
-import org.apache.derby.iapi.services.io.ArrayInputStream;
-
import org.apache.derby.iapi.services.sanity.SanityManager;
import org.apache.derby.iapi.services.io.StoredFormatIds;
@@ -33,11 +31,9 @@ Licensed to the Apache Software Foundation (ASF) under one or more
import org.apache.derby.iapi.error.StandardException;
import org.apache.derby.iapi.services.cache.ClassSize;
-import org.apache.derby.iapi.services.info.JVMInfo;
import java.math.BigDecimal;
import java.math.BigInteger;
-import java.lang.Math;
import java.lang.reflect.Method;
import java.lang.reflect.InvocationTargetException;
import java.io.ObjectOutput;
@@ -502,29 +498,6 @@ public void readExternal(ObjectInput in) throws IOException
in.readFully(rawData);
}
- public void readExternalFromArray(ArrayInputStream in) throws IOException
- {
- // clear the previous value to ensure that the
- // rawData value will be used
- value = null;
-
- rawScale = in.readUnsignedByte();
- int size = in.readUnsignedByte();
-
- /*
- ** Allocate a new array if the data to read
- ** is larger than the existing array, or if
- ** we don't have an array yet.
-
- Need to use readFully below and NOT just read because read does not
- guarantee getting size bytes back, whereas readFully does (unless EOF).
- */
- if ((rawData == null) || size != rawData.length)
- {
- rawData = new byte[size];
- }
- in.readFully(rawData);
- }
/**
* @see Storable#restoreToNull
View
17 java/engine/org/apache/derby/iapi/types/SQLDouble.java
@@ -23,25 +23,15 @@ Licensed to the Apache Software Foundation (ASF) under one or more
import org.apache.derby.iapi.reference.SQLState;
-import org.apache.derby.iapi.services.io.ArrayInputStream;
-
import org.apache.derby.iapi.services.io.StoredFormatIds;
import org.apache.derby.iapi.services.io.Storable;
import org.apache.derby.iapi.services.sanity.SanityManager;
import org.apache.derby.iapi.error.StandardException;
-import org.apache.derby.iapi.types.BooleanDataValue;
-import org.apache.derby.iapi.types.DataValueDescriptor;
-import org.apache.derby.iapi.types.NumberDataValue;
-import org.apache.derby.iapi.types.TypeId;
-
import org.apache.derby.iapi.services.cache.ClassSize;
-import org.apache.derby.iapi.types.NumberDataType;
-import org.apache.derby.iapi.types.SQLBoolean;
-
import java.io.ObjectOutput;
import java.io.ObjectInput;
import java.io.IOException;
@@ -240,13 +230,6 @@ public void readExternal(ObjectInput in) throws IOException {
isnull = false;
}
- /** @see java.io.Externalizable#readExternal */
- public void readExternalFromArray(ArrayInputStream in) throws IOException {
-
- value = in.readDouble();
- isnull = false;
- }
-
/**
* @see Storable#restoreToNull
*
View
15 java/engine/org/apache/derby/iapi/types/SQLInteger.java
@@ -21,12 +21,6 @@ Licensed to the Apache Software Foundation (ASF) under one or more
package org.apache.derby.iapi.types;
-import org.apache.derby.iapi.services.io.ArrayInputStream;
-
-import org.apache.derby.iapi.types.DataValueDescriptor;
-import org.apache.derby.iapi.types.TypeId;
-import org.apache.derby.iapi.types.NumberDataValue;
-import org.apache.derby.iapi.types.BooleanDataValue;
import org.apache.derby.iapi.reference.SQLState;
import org.apache.derby.iapi.services.io.StoredFormatIds;
@@ -37,9 +31,6 @@ Licensed to the Apache Software Foundation (ASF) under one or more
import org.apache.derby.iapi.services.cache.ClassSize;
-import org.apache.derby.iapi.types.NumberDataType;
-import org.apache.derby.iapi.types.SQLBoolean;
-
import java.io.ObjectOutput;
import java.io.ObjectInput;
import java.io.IOException;
@@ -177,12 +168,6 @@ public final void readExternal(ObjectInput in)
value = in.readInt();
isnull = false;
}
- public final void readExternalFromArray(ArrayInputStream in)
- throws IOException {
-
- value = in.readInt();
- isnull = false;
- }
/**
* @see Storable#restoreToNull
View
14 java/engine/org/apache/derby/iapi/types/SQLLongint.java
@@ -21,12 +21,6 @@ Licensed to the Apache Software Foundation (ASF) under one or more
package org.apache.derby.iapi.types;
-import org.apache.derby.iapi.services.io.ArrayInputStream;
-
-import org.apache.derby.iapi.types.DataValueDescriptor;
-import org.apache.derby.iapi.types.TypeId;
-import org.apache.derby.iapi.types.NumberDataValue;
-import org.apache.derby.iapi.types.BooleanDataValue;
import org.apache.derby.iapi.reference.SQLState;
import org.apache.derby.iapi.services.io.StoredFormatIds;
@@ -37,9 +31,6 @@ Licensed to the Apache Software Foundation (ASF) under one or more
import org.apache.derby.iapi.services.cache.ClassSize;
-import org.apache.derby.iapi.types.NumberDataType;
-import org.apache.derby.iapi.types.SQLBoolean;
-
import java.io.ObjectOutput;
import java.io.ObjectInput;
import java.io.IOException;
@@ -198,11 +189,6 @@ public void readExternal(ObjectInput in) throws IOException {
value = in.readLong();
isnull = false;
}
- public void readExternalFromArray(ArrayInputStream in) throws IOException {
-
- value = in.readLong();
- isnull = false;
- }
/**
* @see Storable#restoreToNull
View
16 java/engine/org/apache/derby/iapi/types/SQLReal.java
@@ -23,22 +23,12 @@ Licensed to the Apache Software Foundation (ASF) under one or more
import org.apache.derby.iapi.reference.SQLState;
-import org.apache.derby.iapi.services.io.ArrayInputStream;
-
-import org.apache.derby.iapi.types.BooleanDataValue;
-import org.apache.derby.iapi.types.DataValueDescriptor;
-import org.apache.derby.iapi.types.NumberDataValue;
-import org.apache.derby.iapi.types.StringDataValue;
-import org.apache.derby.iapi.types.TypeId;
-
import org.apache.derby.iapi.services.io.Storable;
import org.apache.derby.iapi.services.io.StoredFormatIds;
import org.apache.derby.iapi.error.StandardException;
import org.apache.derby.iapi.services.sanity.SanityManager;
-import org.apache.derby.iapi.types.NumberDataType;
-import org.apache.derby.iapi.types.SQLBoolean;
import org.apache.derby.iapi.services.cache.ClassSize;
@@ -242,12 +232,6 @@ public void readExternal(ObjectInput in) throws IOException {
value = in.readFloat();
isnull = false;
}
- public void readExternalFromArray(ArrayInputStream in) throws IOException {
- // setValue(in.readFloat()); // can throw StandardException which we can't pass on
- // assume we wrote the value, so we can read it without problem, for now.
- value = in.readFloat();
- isnull = false;
- }
/**
* @see Storable#restoreToNull
View
18 java/engine/org/apache/derby/iapi/types/SQLRef.java
@@ -21,28 +21,14 @@ Licensed to the Apache Software Foundation (ASF) under one or more
package org.apache.derby.iapi.types;
-import org.apache.derby.iapi.services.io.ArrayInputStream;
-
import org.apache.derby.iapi.error.StandardException;
-import org.apache.derby.iapi.types.DataTypeDescriptor;
-import org.apache.derby.iapi.types.DataValueDescriptor;
-import org.apache.derby.iapi.types.TypeId;
-import org.apache.derby.iapi.reference.SQLState;
-
-import org.apache.derby.iapi.types.DataValueDescriptor;
-
-import org.apache.derby.iapi.types.RowLocation;
-import org.apache.derby.iapi.types.Orderable;
-
import org.apache.derby.iapi.services.io.StoredFormatIds;
import org.apache.derby.iapi.services.sanity.SanityManager;
import org.apache.derby.catalog.TypeDescriptor;
-import org.apache.derby.iapi.types.DataType;
-import org.apache.derby.iapi.types.RefDataValue;
import org.apache.derby.iapi.services.cache.ClassSize;
import java.io.ObjectOutput;
@@ -147,10 +133,6 @@ public void readExternal(ObjectInput in) throws IOException, ClassNotFoundExcept
{
value = (RowLocation) in.readObject();
}
- public void readExternalFromArray(ArrayInputStream in) throws IOException, ClassNotFoundException
- {
- value = (RowLocation) in.readObject();
- }
/**
* @see org.apache.derby.iapi.services.io.Storable#restoreToNull
View
15 java/engine/org/apache/derby/iapi/types/SQLSmallint.java
@@ -23,13 +23,6 @@ Licensed to the Apache Software Foundation (ASF) under one or more
import org.apache.derby.iapi.reference.SQLState;
-import org.apache.derby.iapi.services.io.ArrayInputStream;
-
-import org.apache.derby.iapi.types.DataValueDescriptor;
-import org.apache.derby.iapi.types.TypeId;
-import org.apache.derby.iapi.types.NumberDataValue;
-import org.apache.derby.iapi.types.BooleanDataValue;
-
import org.apache.derby.iapi.services.io.StoredFormatIds;
import org.apache.derby.iapi.services.io.Storable;
@@ -38,9 +31,6 @@ Licensed to the Apache Software Foundation (ASF) under one or more
import org.apache.derby.iapi.services.cache.ClassSize;
-import org.apache.derby.iapi.types.NumberDataType;
-import org.apache.derby.iapi.types.SQLBoolean;
-
import java.io.ObjectOutput;
import java.io.ObjectInput;
import java.io.IOException;
@@ -210,11 +200,6 @@ public void writeExternal(ObjectOutput out) throws IOException {
}
/** @see java.io.Externalizable#readExternal */
- public void readExternalFromArray(ArrayInputStream in) throws IOException {
-
- value = in.readShort();
- isnull = false;
- }
public void readExternal(ObjectInput in) throws IOException {
value = in.readShort();
View
7 java/engine/org/apache/derby/iapi/types/SQLTime.java
@@ -23,8 +23,6 @@ Licensed to the Apache Software Foundation (ASF) under one or more
import org.apache.derby.iapi.reference.SQLState;
-import org.apache.derby.iapi.services.io.ArrayInputStream;
-
import org.apache.derby.iapi.services.context.ContextService;
import org.apache.derby.iapi.services.sanity.SanityManager;
@@ -207,11 +205,6 @@ public void readExternal(ObjectInput in) throws IOException
encodedTime = in.readInt();
encodedTimeFraction = in.readInt();
}
- public void readExternalFromArray(ArrayInputStream in) throws IOException
- {
- encodedTime = in.readInt();
- encodedTimeFraction = in.readInt();
- }
/*
* DataValueDescriptor interface
View
8 java/engine/org/apache/derby/iapi/types/SQLTimestamp.java
@@ -23,8 +23,6 @@ Licensed to the Apache Software Foundation (ASF) under one or more
import org.apache.derby.iapi.reference.SQLState;
-import org.apache.derby.iapi.services.io.ArrayInputStream;
-
import org.apache.derby.iapi.error.StandardException;
import org.apache.derby.iapi.db.DatabaseContext;
@@ -227,12 +225,6 @@ public void readExternal(ObjectInput in) throws IOException
encodedTime = in.readInt();
nanos = in.readInt();
}
- public void readExternalFromArray(ArrayInputStream in) throws IOException
- {
- encodedDate = in.readInt();
- encodedTime = in.readInt();
- nanos = in.readInt();
- }
/*
* DataValueDescriptor interface
View
16 java/engine/org/apache/derby/iapi/types/SQLTinyint.java
@@ -23,24 +23,14 @@ Licensed to the Apache Software Foundation (ASF) under one or more
import org.apache.derby.iapi.reference.SQLState;
-import org.apache.derby.iapi.services.io.ArrayInputStream;
-
import org.apache.derby.iapi.services.sanity.SanityManager;
import org.apache.derby.iapi.services.io.StoredFormatIds;
import org.apache.derby.iapi.services.io.Storable;
import org.apache.derby.iapi.error.StandardException;
-import org.apache.derby.iapi.types.BooleanDataValue;
-import org.apache.derby.iapi.types.DataValueDescriptor;
-import org.apache.derby.iapi.types.NumberDataValue;
-import org.apache.derby.iapi.types.TypeId;
-
import org.apache.derby.iapi.services.cache.ClassSize;
-import org.apache.derby.iapi.types.NumberDataType;
-import org.apache.derby.iapi.types.SQLBoolean;
-
import java.io.ObjectOutput;
import java.io.ObjectInput;
import java.io.IOException;
@@ -257,12 +247,6 @@ public void readExternal(ObjectInput in) throws IOException {
value = in.readByte();
isnull = false;
}
- public void readExternalFromArray(ArrayInputStream in) throws IOException {
-
- value = in.readByte();
- isnull = false;
- }
-
/**
* @see Storable#restoreToNull
View
14 java/engine/org/apache/derby/iapi/types/UserType.java
@@ -25,20 +25,12 @@ Licensed to the Apache Software Foundation (ASF) under one or more
import org.apache.derby.iapi.reference.SQLState;
-import org.apache.derby.iapi.services.io.ArrayInputStream;
-
import org.apache.derby.iapi.services.loader.ClassInspector;
import org.apache.derby.iapi.services.sanity.SanityManager;
import org.apache.derby.iapi.services.io.StoredFormatIds;
import org.apache.derby.iapi.error.StandardException;
-import org.apache.derby.iapi.types.DataValueDescriptor;
-import org.apache.derby.iapi.types.TypeId;
-
-import org.apache.derby.iapi.types.BooleanDataValue;
-import org.apache.derby.iapi.types.UserDataValue;
-
import org.apache.derby.iapi.services.cache.ClassSize;
import java.sql.Date;
@@ -304,12 +296,6 @@ public void readExternal(ObjectInput in)
/* RESOLVE: Sanity check for right class */
value = in.readObject();
}
- public void readExternalFromArray(ArrayInputStream in)
- throws IOException, ClassNotFoundException
- {
- /* RESOLVE: Sanity check for right class */
- value = in.readObject();
- }
/*
* DataValueDescriptor interface
View
6 java/engine/org/apache/derby/impl/store/access/StorableFormatId.java
@@ -23,7 +23,6 @@ Licensed to the Apache Software Foundation (ASF) under one or more
import org.apache.derby.iapi.reference.SQLState;
-import org.apache.derby.iapi.services.io.ArrayInputStream;
import org.apache.derby.iapi.services.io.FormatIdUtil;
import org.apache.derby.iapi.services.io.StoredFormatIds;
@@ -108,11 +107,6 @@ public void readExternal(ObjectInput in) throws IOException
{
format_id = FormatIdUtil.readFormatIdInteger(in);
}
- public void readExternalFromArray(ArrayInputStream in) throws IOException
- {
- format_id = FormatIdUtil.readFormatIdInteger(in);
- }
-
public void restoreToNull()
{
View
22 java/engine/org/apache/derby/impl/store/access/btree/BTree.java
@@ -23,7 +23,6 @@ Licensed to the Apache Software Foundation (ASF) under one or more
import org.apache.derby.iapi.reference.SQLState;
-import org.apache.derby.iapi.services.io.ArrayInputStream;
import org.apache.derby.iapi.services.io.FormatableBitSet;
import org.apache.derby.iapi.services.sanity.SanityManager;
@@ -685,27 +684,6 @@ public void readExternal(ObjectInput in)
id = new ContainerKey(segmentid, containerid);
}
-
- public void readExternalFromArray(ArrayInputStream in)
- throws IOException, ClassNotFoundException
- {
- // read in the conglomerate format id.
- conglom_format_id = FormatIdUtil.readFormatIdInteger(in);
-
- // XXX (nat) need to improve error handling
- long containerid = in.readLong();
- int segmentid = in.readInt();
- nKeyFields = in.readInt();
- nUniqueColumns = in.readInt();
- allowDuplicates = in.readBoolean();
- maintainParentLinks = in.readBoolean();
-
- // read in the array of format id's
- format_ids = ConglomerateUtil.readFormatIdArray(this.nKeyFields, in);
-
- id = new ContainerKey(segmentid, containerid);
- }
-
/**
Store the stored representation of the column value in the stream.
View
15 java/engine/org/apache/derby/impl/store/access/btree/index/B2I.java
@@ -28,8 +28,6 @@ Licensed to the Apache Software Foundation (ASF) under one or more
import org.apache.derby.iapi.reference.SQLState;
-import org.apache.derby.iapi.services.io.ArrayInputStream;
-
import org.apache.derby.iapi.services.sanity.SanityManager;
import org.apache.derby.iapi.error.StandardException;
@@ -1137,7 +1135,7 @@ public void writeExternal(ObjectOutput out) throws IOException {
*
* @see java.io.Externalizable#readExternal
**/
- private final void localReadExternal(ObjectInput in)
+ public void readExternal(ObjectInput in)
throws IOException, ClassNotFoundException
{
super.readExternal(in);
@@ -1200,15 +1198,4 @@ else if (conglom_format_id != StoredFormatIds.ACCESS_B2I_V3_ID)
setUniqueWithDuplicateNulls(in.readBoolean());
}
}
-
- public void readExternal(ObjectInput in)
- throws IOException, ClassNotFoundException
- {
- localReadExternal(in);
- }
- public void readExternalFromArray(ArrayInputStream in)
- throws IOException, ClassNotFoundException
- {
- localReadExternal(in);
- }
}
View
15 java/engine/org/apache/derby/impl/store/access/heap/Heap.java
@@ -29,7 +29,6 @@ Licensed to the Apache Software Foundation (ASF) under one or more
import org.apache.derby.iapi.reference.SQLState;
-import org.apache.derby.iapi.services.io.ArrayInputStream;
import org.apache.derby.iapi.services.io.FormatableBitSet;
import org.apache.derby.iapi.services.sanity.SanityManager;
@@ -1188,7 +1187,7 @@ public void writeExternal(ObjectOutput out) throws IOException
*
* @see java.io.Externalizable#readExternal
**/
- private final void localReadExternal(ObjectInput in)
+ public void readExternal(ObjectInput in)
throws IOException, ClassNotFoundException
{
@@ -1238,16 +1237,4 @@ else if (conglom_format_id != StoredFormatIds.ACCESS_HEAP_V2_ID)
}
}
}
-
- public void readExternal(ObjectInput in)
- throws IOException, ClassNotFoundException
- {
- localReadExternal(in);
- }
-
- public void readExternalFromArray(ArrayInputStream in)
- throws IOException, ClassNotFoundException
- {
- localReadExternal(in);
- }
}

0 comments on commit 4ecfb0e

Please sign in to comment.