Class RenderUtils

java.lang.Object
ru.vyarus.dropwizard.guice.debug.util.RenderUtils

public final class RenderUtils extends 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 Details

    • renderInstaller

      public static String renderInstaller(Class<FeatureInstaller> type, List<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 String renderDisabledInstaller(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 String renderClassLine(Class<?> type, List<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 String renderClassLine(Class<?> type)
      Shortcut for renderClassLine(Class, List) to render without markers.
      Parameters:
      type - class
      Returns:
      rendered clas line
    • renderClassLine

      public static String renderClassLine(Class<?> type, int pos, List<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 String renderDisabledClassLine(Class<?> type)
      Render disabled class as: -class-simple-name (class-package).
      Parameters:
      type - class
      Returns:
      rendered disabled class line
    • renderDisabledClassLine

      public static String renderDisabledClassLine(Class<?> type, int pos, List<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 String renderClass(Class<?> type)
      Parameters:
      type - class to render
      Returns:
      class rendered in abbreviated manner (to fit it into 36 chars)
      See Also:
    • renderPackage

      public static String renderPackage(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:
    • brackets

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

      public static String markers(List<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 String getClassName(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
    • getFullClassName

      public static String getFullClassName(Class<?> type)
      The same as getClassName(Class) but for inner classes would preserve upper classes. For example, would print SomeClass$Inner instead of just Inner for inner class.
      Parameters:
      type - type to get class name from
      Returns:
      full class name (including root classes for inner class declarations)
    • renderAnnotation

      public static String renderAnnotation(Annotation annotation)
      Render annotation. Supports only "value" annotation method - other possible methods simply ignored.
      Parameters:
      annotation - annotation to render
      Returns:
      rendered annotation string