Class EnhancedThrowableRenderer

  • All Implemented Interfaces:
    ThrowableRenderer

    public final class EnhancedThrowableRenderer
    extends java.lang.Object
    implements ThrowableRenderer
    Enhanced implementation of ThrowableRenderer. Uses Throwable.getStackTrace if running on JDK 1.4 or later and delegates to DefaultThrowableRenderer.render on earlier virtual machines.
    Since:
    1.2.16
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.reflect.Method getClassNameMethod
      StackTraceElement.getClassName() method.
      private java.lang.reflect.Method getStackTraceMethod
      Throwable.getStackTrace() method.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String[] doRender​(java.lang.Throwable throwable)
      Render Throwable.
      private java.lang.Class findClass​(java.lang.String className)
      Find class given class name.
      private java.lang.String formatElement​(java.lang.Object element, java.util.Map classMap)
      Format one element from stack trace.
      • Methods inherited from class java.lang.Object

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

      • getStackTraceMethod

        private java.lang.reflect.Method getStackTraceMethod
        Throwable.getStackTrace() method.
      • getClassNameMethod

        private java.lang.reflect.Method getClassNameMethod
        StackTraceElement.getClassName() method.
    • Constructor Detail

      • EnhancedThrowableRenderer

        public EnhancedThrowableRenderer()
        Construct new instance.
    • Method Detail

      • doRender

        public java.lang.String[] doRender​(java.lang.Throwable throwable)
        Render Throwable.
        Specified by:
        doRender in interface ThrowableRenderer
        Parameters:
        throwable - throwable, may not be null.
        Returns:
        String representation.
      • formatElement

        private java.lang.String formatElement​(java.lang.Object element,
                                               java.util.Map classMap)
        Format one element from stack trace.
        Parameters:
        element - element, may not be null.
        classMap - map of class name to location.
        Returns:
        string representation of element.
      • findClass

        private java.lang.Class findClass​(java.lang.String className)
                                   throws java.lang.ClassNotFoundException
        Find class given class name.
        Parameters:
        className - class name, may not be null.
        Returns:
        class, will not be null.
        Throws:
        java.lang.ClassNotFoundException - thrown if class can not be found.