Class RenderUtils


  • public final class RenderUtils
    extends java.lang.Object
    Helper utilities for diagnostic info rendering. Uses copy of logback's TargetLengthBasedClassNameAbbreviator to shrink full class name to predictable size.
    Since:
    14.07.2016
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.String brackets​(java.lang.String string)  
      static java.lang.String getClassName​(java.lang.Class<?> type)
      Should be used instead of Class.getSimpleName() because for anonymous classes it leads to empty string.
      static java.lang.String markers​(java.util.List<java.lang.String> markers)
      Renders markers as: *marker1,marker2..
      static java.lang.String renderClass​(java.lang.Class<?> type)  
      static java.lang.String renderClassLine​(java.lang.Class<?> type)
      Shortcut for renderClassLine(Class, List) to render without markers.
      static java.lang.String renderClassLine​(java.lang.Class<?> type, int pos, java.util.List<java.lang.String> markers)
      Renders scope as: class-simple-name#pos (class-package) *markers.
      static java.lang.String renderClassLine​(java.lang.Class<?> type, java.util.List<java.lang.String> markers)
      Renders class as: class-simple-name (class-package) *markers.
      static java.lang.String renderDisabledClassLine​(java.lang.Class<?> type)
      Render disabled class as: -class-simple-name (class-package).
      static java.lang.String renderDisabledClassLine​(java.lang.Class<?> type, int pos, java.util.List<java.lang.String> markers)
      Render disabled class as: -class-simple-name#pos (class-package) *markers.
      static java.lang.String renderDisabledInstaller​(java.lang.Class<FeatureInstaller> type)
      Renders disabled installer line.
      static java.lang.String renderInstaller​(java.lang.Class<FeatureInstaller> type, java.util.List<java.lang.String> markers)
      Render installer line.
      static java.lang.String renderPackage​(java.lang.Class<?> type)
      If provided type is inner class then declaring class will be rendered instead of package.
      • Methods inherited from class java.lang.Object

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

      • renderInstaller

        public static java.lang.String renderInstaller​(java.lang.Class<FeatureInstaller> type,
                                                       java.util.List<java.lang.String> markers)
        Render installer line. Assuming installer class always ends with Installer and by removing this postfix and converting rest to lower case we can get human readable installer name. Result may be worse for multi-word cases, but anyway it's pretty readable.

        Format: human-readable-installer-name (installer-class) *markers.

        Parameters:
        type - installer class
        markers - markers
        Returns:
        rendered installer line
      • renderDisabledInstaller

        public static java.lang.String renderDisabledInstaller​(java.lang.Class<FeatureInstaller> type)
        Renders disabled installer line. The same as installer line, but with '-' before installer name and without markers.
        Parameters:
        type - disabled installer class
        Returns:
        rendered disabled installer line
      • renderClassLine

        public static java.lang.String renderClassLine​(java.lang.Class<?> type,
                                                       java.util.List<java.lang.String> markers)
        Renders class as: class-simple-name (class-package) *markers. For anonymous class simple name will be Class$1.
        Parameters:
        type - class
        markers - markers
        Returns:
        rendered class line
      • renderClassLine

        public static java.lang.String renderClassLine​(java.lang.Class<?> type)
        Shortcut for renderClassLine(Class, List) to render without markers.
        Parameters:
        type - class
        Returns:
        rendered clas line
      • renderClassLine

        public static java.lang.String renderClassLine​(java.lang.Class<?> type,
                                                       int pos,
                                                       java.util.List<java.lang.String> markers)
        Renders scope as: class-simple-name#pos (class-package) *markers. For position 1 position is not rendered.
        Parameters:
        type - instance class
        pos - instance position number (registration order) in scope
        markers - markers
        Returns:
        rendered scope line
      • renderDisabledClassLine

        public static java.lang.String renderDisabledClassLine​(java.lang.Class<?> type)
        Render disabled class as: -class-simple-name (class-package).
        Parameters:
        type - class
        Returns:
        rendered disabled class line
      • renderDisabledClassLine

        public static java.lang.String renderDisabledClassLine​(java.lang.Class<?> type,
                                                               int pos,
                                                               java.util.List<java.lang.String> markers)
        Render disabled class as: -class-simple-name#pos (class-package) *markers.
        Parameters:
        type - class
        pos - instance position
        markers - markers (may be null)
        Returns:
        rendered disabled class line
      • renderClass

        public static java.lang.String renderClass​(java.lang.Class<?> type)
        Parameters:
        type - class to render
        Returns:
        class rendered in abbreviated manner (to fit it into 36 chars)
        See Also:
        ClassNameAbbreviator
      • renderPackage

        public static java.lang.String renderPackage​(java.lang.Class<?> type)
        If provided type is inner class then declaring class will be rendered instead of package.
        Parameters:
        type - class to render package
        Returns:
        class package rendered in abbreviated manner (to fit nto 20 chars)
        See Also:
        ClassNameAbbreviator
      • brackets

        public static java.lang.String brackets​(java.lang.String string)
        Parameters:
        string - string to apply brackets
        Returns:
        provided string inside brackets
      • markers

        public static java.lang.String markers​(java.util.List<java.lang.String> markers)
        Renders markers as: *marker1,marker2..
        Parameters:
        markers - markers to render (may be null)
        Returns:
        rendered markers or empty string if no markers provided
      • getClassName

        public static java.lang.String getClassName​(java.lang.Class<?> type)
        Should be used instead of Class.getSimpleName() because for anonymous classes it leads to empty string.
        Parameters:
        type - type to get class name from
        Returns:
        class name