IndirectionException (Java SE 9 & JDK 9 )
Keywords: org.omg.CORBA.portable.IndirectionException class

Module java.corba
Package org.omg.CORBA.portable

## Class IndirectionException

- java.lang.Object
- - java.lang.Throwable
  - - java.lang.Exception
    - - java.lang.RuntimeException
      - - org.omg.CORBA.SystemException
        - - org.omg.CORBA.portable.IndirectionException

- All Implemented Interfaces:
    `Serializable`

      public class IndirectionException
      extends SystemException

  The Indirection exception is a Java specific system exception. It is thrown when the ORB's input stream is called to demarshal a value that is encoded as an indirection that is in the process of being demarshaled. This can occur when the ORB input stream calls the ValueHandler to demarshal an RMI value whose state contains a recursive reference to itself. Because the top-level ValueHandler.read_value() call has not yet returned a value, the ORB input stream's indirection table does not contain an entry for an object with the stream offset specified by the indirection tag. The stream offset is returned in the exception's offset field.
  See Also:
    `InputStream`, `OutputStream`

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `int` | `offset` | Points to the stream's offset.

    - ### Fields inherited from class org.omg.CORBA.SystemException

      `completed, minor`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `IndirectionException​(int offset)` | Creates an IndirectionException with the right offset value.

  - ### Method Summary

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from class org.omg.CORBA.SystemException

      `toString`

    - ### Methods inherited from class java.lang.Throwable

      `addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace`

- - ### Field Detail

    - #### offset

          public int offset

      Points to the stream's offset.

  - ### Constructor Detail

    - #### IndirectionException

          public IndirectionException​(int offset)

      Creates an IndirectionException with the right offset value. The stream offset is returned in the exception's offset field. This exception is constructed and thrown during reading recursively defined values off of a stream.
      Parameters:
        `offset` - the stream offset where recursion is detected.