Class RenderUtils
- java.lang.Object
-
- ru.vyarus.dropwizard.guice.debug.util.RenderUtils
-
public final class RenderUtils extends java.lang.ObjectHelper utilities for diagnostic info rendering. Uses copy of logback'sTargetLengthBasedClassNameAbbreviatorto 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.Stringbrackets(java.lang.String string)static java.lang.StringgetClassName(java.lang.Class<?> type)Should be used instead ofClass.getSimpleName()because for anonymous classes it leads to empty string.static java.lang.StringgetFullClassName(java.lang.Class<?> type)The same asgetClassName(Class)but for inner classes would preserve upper classes.static java.lang.Stringmarkers(java.util.List<java.lang.String> markers)Renders markers as: *marker1,marker2..static java.lang.StringrenderAnnotation(java.lang.annotation.Annotation annotation)Render annotation.static java.lang.StringrenderClass(java.lang.Class<?> type)static java.lang.StringrenderClassLine(java.lang.Class<?> type)Shortcut forrenderClassLine(Class, List)to render without markers.static java.lang.StringrenderClassLine(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.StringrenderClassLine(java.lang.Class<?> type, java.util.List<java.lang.String> markers)Renders class as: class-simple-name (class-package) *markers.static java.lang.StringrenderDisabledClassLine(java.lang.Class<?> type)Render disabled class as: -class-simple-name (class-package).static java.lang.StringrenderDisabledClassLine(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.StringrenderDisabledInstaller(java.lang.Class<FeatureInstaller> type)Renders disabled installer line.static java.lang.StringrenderInstaller(java.lang.Class<FeatureInstaller> type, java.util.List<java.lang.String> markers)Render installer line.static java.lang.StringrenderPackage(java.lang.Class<?> type)If provided type is inner class then declaring class will be rendered instead of package.
-
-
-
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 classmarkers- 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- classmarkers- markers- Returns:
- rendered class line
-
renderClassLine
public static java.lang.String renderClassLine(java.lang.Class<?> type)
Shortcut forrenderClassLine(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 classpos- instance position number (registration order) in scopemarkers- 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- classpos- instance positionmarkers- 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 ofClass.getSimpleName()because for anonymous classes it leads to empty string.- Parameters:
type- type to get class name from- Returns:
- class name
-
getFullClassName
public static java.lang.String getFullClassName(java.lang.Class<?> type)
The same asgetClassName(Class)but for inner classes would preserve upper classes. For example, would printSomeClass$Innerinstead of justInnerfor inner class.- Parameters:
type- type to get class name from- Returns:
- full class name (including root classes for inner class declarations)
-
renderAnnotation
public static java.lang.String renderAnnotation(java.lang.annotation.Annotation annotation)
Render annotation. Supports only "value" annotation method - other possible methods simply ignored.- Parameters:
annotation- annotation to render- Returns:
- rendered annotation string
-
-