aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/JarOwner.java
diff options
context:
space:
mode:
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.java31
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());
}
}