Interface ObjectInputFilter.FilterInfo

Enclosing interface:
ObjectInputFilter
public static interface ObjectInputFilter.FilterInfo

FilterInfo provides access to information about the current object being deserialized and the status of the ObjectInputStream.

Since:
9

Methods

Modifier and Type Method Description
long arrayLength()

The number of array elements when deserializing an array of the class.

long depth()

The current depth.

long references()

The current number of object references.

Class<?> serialClass()

The class of an object being deserialized.

long streamBytes()

The current number of bytes consumed.

Methods

serialClass

Class<?> serialClass()

The class of an object being deserialized. For arrays, it is the array type. For example, the array class name of a 2 dimensional array of strings is "[[Ljava.lang.String;". To check the array's element type, iteratively use Class.getComponentType while the result is an array and then check the class. The serialClass is null in the case where a new object is not being created and to give the filter a chance to check the depth, number of references to existing objects, and the stream size.

Returns:
class of an object being deserialized; may be null

arrayLength

long arrayLength()

The number of array elements when deserializing an array of the class.

Returns:
the non-negative number of array elements when deserializing an array of the class, otherwise -1

depth

long depth()

The current depth. The depth starts at 1 and increases for each nested object and decrements when each nested object returns.

Returns:
the current depth

references

long references()

The current number of object references.

Returns:
the non-negative current number of object references

streamBytes

long streamBytes()

The current number of bytes consumed.

Implementation Requirements:
streamBytes is implementation specific and may not be directly related to the object in the stream that caused the callback.
Returns:
the non-negative current number of bytes consumed

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/ObjectInputFilter.FilterInfo.html