aboutsummaryrefslogtreecommitdiff
path: root/contrib/zpages
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/zpages')
-rw-r--r--contrib/zpages/src/main/java/io/opencensus/contrib/zpages/TracezZPageHandler.java31
1 files changed, 13 insertions, 18 deletions
diff --git a/contrib/zpages/src/main/java/io/opencensus/contrib/zpages/TracezZPageHandler.java b/contrib/zpages/src/main/java/io/opencensus/contrib/zpages/TracezZPageHandler.java
index b0cf579c..8c1aedae 100644
--- a/contrib/zpages/src/main/java/io/opencensus/contrib/zpages/TracezZPageHandler.java
+++ b/contrib/zpages/src/main/java/io/opencensus/contrib/zpages/TracezZPageHandler.java
@@ -672,27 +672,22 @@ final class TracezZPageHandler extends ZPageHandler {
return stringBuilder.toString();
}
+ // The return type needs to be nullable when this function is used as an argument to 'match' in
+ // attributeValueToString, because 'match' doesn't allow covariant return types.
+ private static final Function<Object, /*@Nullable*/ String> returnToString =
+ new Function<Object, /*@Nullable*/ String>() {
+ @Override
+ public String apply(Object input) {
+ return input.toString();
+ }
+ };
+
@javax.annotation.Nullable
private static String attributeValueToString(AttributeValue attributeValue) {
return attributeValue.match(
- new Function<String, /*@Nullable*/ String>() {
- @Override
- public String apply(String stringValue) {
- return stringValue;
- }
- },
- new Function<Boolean, /*@Nullable*/ String>() {
- @Override
- public String apply(Boolean booleanValue) {
- return booleanValue.toString();
- }
- },
- new Function<Long, /*@Nullable*/ String>() {
- @Override
- public String apply(Long longValue) {
- return longValue.toString();
- }
- },
+ returnToString,
+ returnToString,
+ returnToString,
Functions.</*@Nullable*/ String>returnNull());
}