diff options
Diffstat (limited to 'src/java_tools/buildjar/java/com/google/devtools/build/buildjar/JarOwner.java')
-rw-r--r-- | src/java_tools/buildjar/java/com/google/devtools/build/buildjar/JarOwner.java | 31 |
1 files changed, 13 insertions, 18 deletions
diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/JarOwner.java b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/JarOwner.java index eeec099310..f2908a503e 100644 --- a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/JarOwner.java +++ b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/JarOwner.java @@ -15,8 +15,8 @@ package com.google.devtools.build.buildjar; import com.google.auto.value.AutoValue; -import com.google.common.base.Function; -import javax.annotation.Nullable; +import java.nio.file.Path; +import java.util.Optional; /** * Holds information about the Bazel rule that created a certain jar. @@ -27,26 +27,21 @@ import javax.annotation.Nullable; @AutoValue public abstract class JarOwner { - /** A long way to say 'JarOwner::label'. */ - public static final Function<JarOwner, String> LABEL = - new Function<JarOwner, String>() { - @Nullable - @Override - public String apply(@Nullable JarOwner jarOwner) { - return jarOwner == null ? null : jarOwner.label(); - } - }; + public abstract Path jar(); - public abstract String label(); + public abstract Optional<String> label(); - @Nullable - public abstract String aspect(); + public abstract Optional<String> aspect(); - public static JarOwner create(String label) { - return new AutoValue_JarOwner(label, null); + public static JarOwner create(Path jar) { + return new AutoValue_JarOwner(jar, Optional.empty(), Optional.empty()); } - public static JarOwner create(String label, String aspect) { - return new AutoValue_JarOwner(label, aspect); + public static JarOwner create(Path jar, String label, Optional<String> aspect) { + return new AutoValue_JarOwner(jar, Optional.of(label), aspect); + } + + public JarOwner withLabel(Optional<String> label) { + return new AutoValue_JarOwner(jar(), label, aspect()); } } |