Class NestableDelegate

  • All Implemented Interfaces:
    java.io.Serializable

    @Deprecated(since="2021-04-30")
    public class NestableDelegate
    extends java.lang.Object
    implements java.io.Serializable
    Deprecated.
    Commons Lang 2 is in maintenance mode. Commons Lang 3 should be used instead.

    A shared implementation of the nestable exception functionality.

    The code is shared between NestableError, NestableException and NestableRuntimeException.

    Since:
    1.0
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static boolean matchSubclasses
      Deprecated.
      Whether to match subclasses via indexOf.
      static boolean topDown
      Deprecated.
      Whether to print the stack trace top-down.
      static boolean trimStackFrames
      Deprecated.
      Whether to trim the repeated stack trace.
    • Constructor Summary

      Constructors 
      Constructor Description
      NestableDelegate​(Nestable nestable)
      Deprecated.
      Constructs a new NestableDelegate instance to manage the specified Nestable.
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      java.lang.String getMessage​(int index)
      Deprecated.
      Returns the error message of the Throwable in the chain of Throwables at the specified index, numbered from 0.
      java.lang.String getMessage​(java.lang.String baseMsg)
      Deprecated.
      Returns the full message contained by the Nestable and any nested Throwables.
      java.lang.String[] getMessages()
      Deprecated.
      Returns the error message of this and any nested Throwables in an array of Strings, one element for each message.
      java.lang.Throwable getThrowable​(int index)
      Deprecated.
      Returns the Throwable in the chain of Throwables at the specified index, numbered from 0.
      int getThrowableCount()
      Deprecated.
      Returns the number of Throwables contained in the Nestable contained by this delegate.
      java.lang.Throwable[] getThrowables()
      Deprecated.
      Returns this delegate's Nestable and any nested Throwables in an array of Throwables, one element for each Throwable.
      int indexOfThrowable​(java.lang.Class type, int fromIndex)
      Deprecated.
      Returns the index, numbered from 0, of the first Throwable that matches the specified type, or a subclass, in the chain of Throwables with an index greater than or equal to the specified index.
      void printStackTrace()
      Deprecated.
      Prints the stack trace of this exception the the standar error stream.
      void printStackTrace​(java.io.PrintStream out)
      Deprecated.
      Prints the stack trace of this exception to the specified stream.
      void printStackTrace​(java.io.PrintWriter out)
      Deprecated.
      Prints the stack trace of this exception to the specified writer.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • topDown

        public static boolean topDown
        Deprecated.
        Whether to print the stack trace top-down. This public flag may be set by calling code, typically in initialisation. This exists for backwards compatability, setting it to false will return the library to v1.0 behaviour (but will affect all users of the library in the classloader).
        Since:
        2.0
      • trimStackFrames

        public static boolean trimStackFrames
        Deprecated.
        Whether to trim the repeated stack trace. This public flag may be set by calling code, typically in initialisation. This exists for backwards compatability, setting it to false will return the library to v1.0 behaviour (but will affect all users of the library in the classloader).
        Since:
        2.0
      • matchSubclasses

        public static boolean matchSubclasses
        Deprecated.
        Whether to match subclasses via indexOf. This public flag may be set by calling code, typically in initialisation. This exists for backwards compatability, setting it to false will return the library to v2.0 behaviour (but will affect all users of the library in the classloader).
        Since:
        2.1
    • Constructor Detail

      • NestableDelegate

        public NestableDelegate​(Nestable nestable)
        Deprecated.
        Constructs a new NestableDelegate instance to manage the specified Nestable.
        Parameters:
        nestable - the Nestable implementation (must extend Throwable)
        Since:
        2.0
    • Method Detail

      • getMessage

        public java.lang.String getMessage​(int index)
        Deprecated.
        Returns the error message of the Throwable in the chain of Throwables at the specified index, numbered from 0.
        Parameters:
        index - the index of the Throwable in the chain of Throwables
        Returns:
        the error message, or null if the Throwable at the specified index in the chain does not contain a message
        Throws:
        java.lang.IndexOutOfBoundsException - if the index argument is negative or not less than the count of Throwables in the chain
        Since:
        2.0
      • getMessage

        public java.lang.String getMessage​(java.lang.String baseMsg)
        Deprecated.
        Returns the full message contained by the Nestable and any nested Throwables.
        Parameters:
        baseMsg - the base message to use when creating the full message. Should be generally be called via nestableHelper.getMessage(super.getMessage()), where super is an instance of Throwable.
        Returns:
        The concatenated message for this and all nested Throwables
        Since:
        2.0
      • getMessages

        public java.lang.String[] getMessages()
        Deprecated.
        Returns the error message of this and any nested Throwables in an array of Strings, one element for each message. Any Throwable not containing a message is represented in the array by a null. This has the effect of cause the length of the returned array to be equal to the result of the getThrowableCount() operation.
        Returns:
        the error messages
        Since:
        2.0
      • getThrowable

        public java.lang.Throwable getThrowable​(int index)
        Deprecated.
        Returns the Throwable in the chain of Throwables at the specified index, numbered from 0.
        Parameters:
        index - the index, numbered from 0, of the Throwable in the chain of Throwables
        Returns:
        the Throwable
        Throws:
        java.lang.IndexOutOfBoundsException - if the index argument is negative or not less than the count of Throwables in the chain
        Since:
        2.0
      • getThrowableCount

        public int getThrowableCount()
        Deprecated.
        Returns the number of Throwables contained in the Nestable contained by this delegate.
        Returns:
        the throwable count
        Since:
        2.0
      • getThrowables

        public java.lang.Throwable[] getThrowables()
        Deprecated.
        Returns this delegate's Nestable and any nested Throwables in an array of Throwables, one element for each Throwable.
        Returns:
        the Throwables
        Since:
        2.0
      • indexOfThrowable

        public int indexOfThrowable​(java.lang.Class type,
                                    int fromIndex)
        Deprecated.
        Returns the index, numbered from 0, of the first Throwable that matches the specified type, or a subclass, in the chain of Throwables with an index greater than or equal to the specified index. The method returns -1 if the specified type is not found in the chain.

        NOTE: From v2.1, we have clarified the Nestable interface such that this method matches subclasses. If you want to NOT match subclasses, please use ExceptionUtils.indexOfThrowable(Throwable, Class, int) (which is avaiable in all versions of lang). An alternative is to use the public static flag matchSubclasses on NestableDelegate, however this is not recommended.

        Parameters:
        type - the type to find, subclasses match, null returns -1
        fromIndex - the index, numbered from 0, of the starting position in the chain to be searched
        Returns:
        index of the first occurrence of the type in the chain, or -1 if the type is not found
        Throws:
        java.lang.IndexOutOfBoundsException - if the fromIndex argument is negative or not less than the count of Throwables in the chain
        Since:
        2.0
      • printStackTrace

        public void printStackTrace()
        Deprecated.
        Prints the stack trace of this exception the the standar error stream.
      • printStackTrace

        public void printStackTrace​(java.io.PrintStream out)
        Deprecated.
        Prints the stack trace of this exception to the specified stream.
        Parameters:
        out - PrintStream to use for output.
        See Also:
        printStackTrace(PrintWriter)
      • printStackTrace

        public void printStackTrace​(java.io.PrintWriter out)
        Deprecated.
        Prints the stack trace of this exception to the specified writer. If the Throwable class has a getCause method (i.e. running on jre1.4 or higher), this method just uses Throwable's printStackTrace() method. Otherwise, generates the stack-trace, by taking into account the 'topDown' and 'trimStackFrames' parameters. The topDown and trimStackFrames are set to 'true' by default (produces jre1.4-like stack trace).
        Parameters:
        out - PrintWriter to use for output.