Package org.apache.lucene.spatial3d.geom

# Interface SerializableObject

All Known Subinterfaces:
  `GeoAreaShape`, `GeoBBox`, `GeoBounds`, `GeoCircle`, `GeoDistanceShape`, `GeoMembershipShape`, `GeoPath`, `GeoPointShape`, `GeoPolygon`, `GeoShape`, `PlanetObject`, `XYZSolid`

All Known Implementing Classes:
  `BasePlanetObject`, `GeoBaseBounds`, `GeoBaseCompositeShape`, `GeoBaseDistanceShape`, `GeoBaseMembershipShape`, `GeoBaseShape`, `GeoCompositeAreaShape`, `GeoCompositeMembershipShape`, `GeoCompositePolygon`, `GeoDegenerateVerticalLine`, `GeoPoint`, `PlanetModel`

public interface SerializableObject
Indicates that a geo3d object can be serialized and deserialized.

WARNING: This API is experimental and might change in incompatible ways in the next release.

## Method Summary

Modifier and Type
Method
Description
`static BitSet`
`readBitSet(InputStream inputStream)`
Read a bitset from a stream.
`static boolean`
`readBoolean(InputStream inputStream)`
Read a boolean from a stream.
`static byte[]`
`readByteArray(InputStream inputStream)`
Read byte array.
`static Class<?>`
`readClass(InputStream inputStream)`
Read the class from the stream
`static double`
`readDouble(InputStream inputStream)`
Read a double from a stream.
`static <T extends SerializableObject>
T[]`
`readHeterogeneousArray(PlanetModel planetModel, InputStream inputStream, Class<T> clazz)`
Read an array.
`static <T extends SerializableObject>
T[]`
`readHomogeneousArray(PlanetModel planetModel, InputStream inputStream, Class<T> clazz)`
Read an array.
`static int`
`readInt(InputStream inputStream)`
Read an int from a stream.
`static long`
`readLong(InputStream inputStream)`
Read a long from a stream.
`static SerializableObject`
`readObject(InputStream inputStream)`
Read an object from a stream (for objects that do not need a PlanetModel).
`static SerializableObject`
`readObject(InputStream inputStream, Class<?> clazz)`
Instantiate a serializable object from a stream without a planet model.
`static SerializableObject`
`readObject(PlanetModel planetModel, InputStream inputStream)`
Read an object from a stream (for objects that need a PlanetModel).
`static SerializableObject`
`readObject(PlanetModel planetModel, InputStream inputStream, Class<?> clazz)`
Instantiate a serializable object from a stream.
`static PlanetObject`
`readPlanetObject(InputStream inputStream)`
Read a PlanetObject from a stream.
`static GeoPoint[]`
`readPointArray(PlanetModel planetModel, InputStream inputStream)`
Read a point array.
`static GeoPolygon[]`
`readPolygonArray(PlanetModel planetModel, InputStream inputStream)`
Read a polygon array.
`static String`
`readString(InputStream inputStream)`
Read a string from a stream.
`void`
`write(OutputStream outputStream)`
Serialize to output stream.
`static void`
`writeBitSet(OutputStream outputStream, BitSet bitSet)`
Write a bitset to a stream.
`static void`
`writeBoolean(OutputStream outputStream, boolean value)`
Write a boolean to a stream.
`static void`
`writeByteArray(OutputStream outputStream, byte[] bytes)`
Write byte array.
`static void`
`writeClass(OutputStream outputStream, Class<?> clazz)`
Write a class to a stream.
`static void`
`writeDouble(OutputStream outputStream, double value)`
Write a double to a stream.
`static void`
`writeHeterogeneousArray(OutputStream outputStream, List<? extends SerializableObject> values)`
Write an array.
`static void`
`writeHeterogeneousArray(OutputStream outputStream, SerializableObject[] values)`
Write an array.
`static void`
`writeHomogeneousArray(OutputStream outputStream, List<? extends SerializableObject> values)`
Write an array.
`static void`
`writeHomogeneousArray(OutputStream outputStream, SerializableObject[] values)`
Write an array.
`static void`
`writeInt(OutputStream outputStream, int value)`
Write an int to a stream.
`static void`
`writeLong(OutputStream outputStream, long value)`
Write a long to a stream.
`static void`
`writeObject(OutputStream outputStream, SerializableObject object)`
Write an object to a stream.
`static void`
`writePlanetObject(OutputStream outputStream, PlanetObject object)`
Write a PlanetObject to a stream.
`static void`
`writePointArray(OutputStream outputStream, List<GeoPoint> values)`
Write a point array.
`static void`
`writePointArray(OutputStream outputStream, GeoPoint[] values)`
Write a point array.
`static void`
`writePolygonArray(OutputStream outputStream, List<GeoPolygon> values)`
Write a polygon array.
`static void`
`writePolygonArray(OutputStream outputStream, GeoPolygon[] values)`
Write a polgon array.
`static void`
`writeString(OutputStream outputStream, String value)`
Write a string to a stream.

## Method Details

### write

void write(OutputStream outputStream) throws IOException
Serialize to output stream.

Parameters:
  `outputStream` - is the output stream to write to.
Throws:
  `IOException`

### writePlanetObject

static void writePlanetObject(OutputStream outputStream, PlanetObject object) throws IOException
Write a PlanetObject to a stream.

Parameters:
  `outputStream` - is the output stream.
  `object` - is the object to write.
Throws:
  `IOException`

### readPlanetObject

static PlanetObject readPlanetObject(InputStream inputStream) throws IOException
Read a PlanetObject from a stream.

Parameters:
  `inputStream` - is the input stream.
Returns:
  the PlanetObject.
Throws:
  `IOException`

### writeObject

static void writeObject(OutputStream outputStream, SerializableObject object) throws IOException
Write an object to a stream.

Parameters:
  `outputStream` - is the output stream.
  `object` - is the object to write.
Throws:
  `IOException`

### readObject

static SerializableObject readObject(PlanetModel planetModel, InputStream inputStream) throws IOException
Read an object from a stream (for objects that need a PlanetModel).

Parameters:
  `planetModel` - is the planet model to use to deserialize the object.
  `inputStream` - is the input stream.
Returns:
  the deserialized object.
Throws:
  `IOException`

### readObject

static SerializableObject readObject(InputStream inputStream) throws IOException
Read an object from a stream (for objects that do not need a PlanetModel).

Parameters:
  `inputStream` - is the input stream.
Returns:
  the deserialized object.
Throws:
  `IOException`

### readObject

static SerializableObject readObject(PlanetModel planetModel, InputStream inputStream, Class<?> clazz) throws IOException
Instantiate a serializable object from a stream.

Parameters:
  `planetModel` - is the planet model.
  `inputStream` - is the input stream.
  `clazz` - is the class to instantiate.
Throws:
  `IOException`

### readObject

static SerializableObject readObject(InputStream inputStream, Class<?> clazz) throws IOException
Instantiate a serializable object from a stream without a planet model.

Parameters:
  `inputStream` - is the input stream.
  `clazz` - is the class to instantiate.
Throws:
  `IOException`

### writeClass

static void writeClass(OutputStream outputStream, Class<?> clazz) throws IOException
Write a class to a stream.

Parameters:
  `outputStream` - is the output stream.
  `clazz` - is the class to write.
Throws:
  `IOException`

### readClass

static Class<?> readClass(InputStream inputStream) throws IOException, ClassNotFoundException
Read the class from the stream

Parameters:
  `inputStream` - is the stream to read from.
Returns:
  is the class read
Throws:
  `IOException`
  `ClassNotFoundException`

### writeString

static void writeString(OutputStream outputStream, String value) throws IOException
Write a string to a stream.

Parameters:
  `outputStream` - is the output stream.
  `value` - is the string to write.
Throws:
  `IOException`

### readString

static String readString(InputStream inputStream) throws IOException
Read a string from a stream.

Parameters:
  `inputStream` - is the stream to read from.
Returns:
  the string that was read.
Throws:
  `IOException`

### writePointArray

static void writePointArray(OutputStream outputStream, GeoPoint[] values) throws IOException
Write a point array.

Parameters:
  `outputStream` - is the output stream.
  `values` - is the array of points to write.
Throws:
  `IOException`

### writePointArray

static void writePointArray(OutputStream outputStream, List<GeoPoint> values) throws IOException
Write a point array.

Parameters:
  `outputStream` - is the output stream.
  `values` - is the list of points to write.
Throws:
  `IOException`

### readPointArray

static GeoPoint[] readPointArray(PlanetModel planetModel, InputStream inputStream) throws IOException
Read a point array.

Parameters:
  `planetModel` - is the planet model.
  `inputStream` - is the input stream.
Returns:
  the array of points that was read.
Throws:
  `IOException`

### writePolygonArray

static void writePolygonArray(OutputStream outputStream, GeoPolygon[] values) throws IOException
Write a polgon array.

Parameters:
  `outputStream` - is the output stream.
  `values` - is the array of points to write.
Throws:
  `IOException`

### writePolygonArray

static void writePolygonArray(OutputStream outputStream, List<GeoPolygon> values) throws IOException
Write a polygon array.

Parameters:
  `outputStream` - is the output stream.
  `values` - is the list of points to write.
Throws:
  `IOException`

### readPolygonArray

static GeoPolygon[] readPolygonArray(PlanetModel planetModel, InputStream inputStream) throws IOException
Read a polygon array.

Parameters:
  `planetModel` - is the planet model.
  `inputStream` - is the input stream.
Returns:
  the array of polygons that was read.
Throws:
  `IOException`

### writeHomogeneousArray

static void writeHomogeneousArray(OutputStream outputStream, SerializableObject[] values) throws IOException
Write an array.

Parameters:
  `outputStream` - is the output stream,.
  `values` - is the array.
Throws:
  `IOException`

### writeHomogeneousArray

static void writeHomogeneousArray(OutputStream outputStream, List<? extends SerializableObject> values) throws IOException
Write an array.

Parameters:
  `outputStream` - is the output stream,.
  `values` - is the array.
Throws:
  `IOException`

### readHomogeneousArray

static <T extends SerializableObject> T[] readHomogeneousArray(PlanetModel planetModel, InputStream inputStream, Class<T> clazz) throws IOException
Read an array.

Parameters:
  `planetModel` - is the planet model.
  `inputStream` - is the input stream.
  `clazz` - is the class of the objects to read.
Returns:
  the array.
Throws:
  `IOException`

### writeHeterogeneousArray

static void writeHeterogeneousArray(OutputStream outputStream, SerializableObject[] values) throws IOException
Write an array.

Parameters:
  `outputStream` - is the output stream,.
  `values` - is the array.
Throws:
  `IOException`

### writeHeterogeneousArray

static void writeHeterogeneousArray(OutputStream outputStream, List<? extends SerializableObject> values) throws IOException
Write an array.

Parameters:
  `outputStream` - is the output stream,.
  `values` - is the array.
Throws:
  `IOException`

### readHeterogeneousArray

static <T extends SerializableObject> T[] readHeterogeneousArray(PlanetModel planetModel, InputStream inputStream, Class<T> clazz) throws IOException
Read an array.

Parameters:
  `planetModel` - is the planet model.
  `inputStream` - is the input stream.
Returns:
  the array.
Throws:
  `IOException`

### writeBitSet

static void writeBitSet(OutputStream outputStream, BitSet bitSet) throws IOException
Write a bitset to a stream.

Parameters:
  `outputStream` - is the output stream.
  `bitSet` - is the bit set to write.
Throws:
  `IOException`

### readBitSet

static BitSet readBitSet(InputStream inputStream) throws IOException
Read a bitset from a stream.

Parameters:
  `inputStream` - is the input stream.
Returns:
  the bitset read from the stream.
Throws:
  `IOException`

### writeByteArray

static void writeByteArray(OutputStream outputStream, byte[] bytes) throws IOException
Write byte array.

Parameters:
  `outputStream` - is the output stream.
  `bytes` - is the byte array.
Throws:
  `IOException`

### readByteArray

static byte[] readByteArray(InputStream inputStream) throws IOException
Read byte array.

Parameters:
  `inputStream` - is the input stream.
Returns:
  the byte array.
Throws:
  `IOException`

### writeDouble

static void writeDouble(OutputStream outputStream, double value) throws IOException
Write a double to a stream.

Parameters:
  `outputStream` - is the output stream.
  `value` - is the value to write.
Throws:
  `IOException`

### readDouble

static double readDouble(InputStream inputStream) throws IOException
Read a double from a stream.

Parameters:
  `inputStream` - is the input stream.
Returns:
  the double value read from the stream.
Throws:
  `IOException`

### writeLong

static void writeLong(OutputStream outputStream, long value) throws IOException
Write a long to a stream.

Parameters:
  `outputStream` - is the output stream.
  `value` - is the value to write.
Throws:
  `IOException`

### readLong

static long readLong(InputStream inputStream) throws IOException
Read a long from a stream.

Parameters:
  `inputStream` - is the input stream.
Returns:
  the long value read from the stream.
Throws:
  `IOException`

### writeInt

static void writeInt(OutputStream outputStream, int value) throws IOException
Write an int to a stream.

Parameters:
  `outputStream` - is the output stream.
  `value` - is the value to write.
Throws:
  `IOException`

### readInt

static int readInt(InputStream inputStream) throws IOException
Read an int from a stream.

Parameters:
  `inputStream` - is the input stream.
Returns:
  the value read from the stream.
Throws:
  `IOException`

### writeBoolean

static void writeBoolean(OutputStream outputStream, boolean value) throws IOException
Write a boolean to a stream.

Parameters:
  `outputStream` - is the output stream.
  `value` - is the value to write.
Throws:
  `IOException`

### readBoolean

static boolean readBoolean(InputStream inputStream) throws IOException
Read a boolean from a stream.

Parameters:
  `inputStream` - is the input stream.
Returns:
  the boolean value.
Throws:
  `IOException`