final class PackageNameCompressor
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private static java.util.regex.Pattern |
CLASSNAME_PATTERN |
(package private) static java.lang.String |
LEGEND_FOOTER |
(package private) static java.lang.String |
LEGEND_HEADER |
private static com.google.common.base.Joiner |
PACKAGE_JOINER |
private static com.google.common.base.Splitter |
PACKAGE_SPLITTER |
private static com.google.common.collect.ImmutableSet<java.lang.String> |
PACKAGES_SKIPPED_IN_LEGEND |
private static java.util.regex.Pattern |
QUOTED_PATTERN |
Modifier | Constructor and Description |
---|---|
private |
PackageNameCompressor() |
Modifier and Type | Method and Description |
---|---|
private static java.lang.String |
buildClassNameLegend(java.util.Map<java.lang.String,java.lang.String> replacementMap) |
(package private) static java.lang.String |
compressPackagesInMessage(java.lang.String input)
Compresses an error message by stripping the packages out of class names and adding them
to a legend at the bottom of the error.
|
private static com.google.common.collect.ImmutableSet<java.lang.String> |
replaceFullNames(java.lang.String input,
java.util.Map<java.lang.String,java.lang.String> replacementMap,
java.lang.StringBuilder output)
Replaces full class names in
input and append the replaced content to output
and then returns a set of short names that were used as replacement. |
private static java.util.Map<java.lang.String,java.lang.String> |
shortenNames(java.util.Collection<java.lang.String> names)
Returns a map from short name to full name after resolving conflicts.
|
static final java.lang.String LEGEND_HEADER
static final java.lang.String LEGEND_FOOTER
private static final com.google.common.collect.ImmutableSet<java.lang.String> PACKAGES_SKIPPED_IN_LEGEND
private static final com.google.common.base.Splitter PACKAGE_SPLITTER
private static final com.google.common.base.Joiner PACKAGE_JOINER
private static final java.util.regex.Pattern CLASSNAME_PATTERN
private static final java.util.regex.Pattern QUOTED_PATTERN
static java.lang.String compressPackagesInMessage(java.lang.String input)
private static com.google.common.collect.ImmutableSet<java.lang.String> replaceFullNames(java.lang.String input, java.util.Map<java.lang.String,java.lang.String> replacementMap, java.lang.StringBuilder output)
input
and append the replaced content to output
and then returns a set of short names that were used as replacement.
String literals that are quoted in the input
will be added to the output
unchanged. So any full class name that only appear in the string literal will not be included
in the returned short names set.
private static java.lang.String buildClassNameLegend(java.util.Map<java.lang.String,java.lang.String> replacementMap)
private static java.util.Map<java.lang.String,java.lang.String> shortenNames(java.util.Collection<java.lang.String> names)