Module java.base
Package java.io

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
  • Method Summary

    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.
  • Method Details

    • 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