aboutsummaryrefslogtreecommitdiff
path: root/src/api/java/com
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/java/com')
-rw-r--r--src/api/java/com/amadornes/artifactural/api/artifact/Artifact.java8
-rw-r--r--src/api/java/com/amadornes/artifactural/api/artifact/Internal.java16
-rw-r--r--src/api/java/com/amadornes/artifactural/api/artifact/MissingArtifactException.java1
-rw-r--r--src/api/java/com/amadornes/artifactural/api/cache/ArtifactCache.java2
4 files changed, 22 insertions, 5 deletions
diff --git a/src/api/java/com/amadornes/artifactural/api/artifact/Artifact.java b/src/api/java/com/amadornes/artifactural/api/artifact/Artifact.java
index 7e797fb..4271d70 100644
--- a/src/api/java/com/amadornes/artifactural/api/artifact/Artifact.java
+++ b/src/api/java/com/amadornes/artifactural/api/artifact/Artifact.java
@@ -23,10 +23,10 @@ public interface Artifact {
Artifact apply(ArtifactTransformer transformer);
- Artifact.Cached cache(ArtifactCache cache, String specifier);
+ Artifact.Cached cache(ArtifactCache cache);
- default Artifact.Cached optionallyCache(ArtifactCache cache, String specifier) {
- return this instanceof Artifact.Cached ? (Artifact.Cached) this : cache(cache, specifier);
+ default Artifact.Cached optionallyCache(ArtifactCache cache) {
+ return this instanceof Artifact.Cached ? (Artifact.Cached) this : cache(cache);
}
boolean isPresent();
@@ -35,8 +35,10 @@ public interface Artifact {
interface Cached extends Artifact {
+ // Gets the file location, AND writes the file to disc if it hasn't already.
File asFile() throws IOException, MissingArtifactException;
+ // Gets the file location, but doesn't guarantee that it exists. As the wrapped Artifact may not of been written. What's the point of this?
File getFileLocation() throws IOException, MissingArtifactException;
}
diff --git a/src/api/java/com/amadornes/artifactural/api/artifact/Internal.java b/src/api/java/com/amadornes/artifactural/api/artifact/Internal.java
index c7fd883..321b4fc 100644
--- a/src/api/java/com/amadornes/artifactural/api/artifact/Internal.java
+++ b/src/api/java/com/amadornes/artifactural/api/artifact/Internal.java
@@ -35,9 +35,18 @@ final class Internal {
return "missing";
}
+ @Override
+ public String toString() {
+ return "NO_IDENTIFIER";
+ }
+
};
static final Artifact NO_ARTIFACT = new Artifact.Cached() {
+ @Override
+ public String toString() {
+ return "NO_ARTIFACT";
+ }
@Override
public ArtifactIdentifier getIdentifier() {
@@ -56,6 +65,11 @@ final class Internal {
public String getHash() {
return "ERROR";
}
+
+ @Override
+ public String toString() {
+ return "NO_METADATA";
+ }
};
}
@@ -75,7 +89,7 @@ final class Internal {
}
@Override
- public Artifact.Cached cache(ArtifactCache cache, String specifier) {
+ public Artifact.Cached cache(ArtifactCache cache) {
return this;
}
diff --git a/src/api/java/com/amadornes/artifactural/api/artifact/MissingArtifactException.java b/src/api/java/com/amadornes/artifactural/api/artifact/MissingArtifactException.java
index 479909c..8ceef19 100644
--- a/src/api/java/com/amadornes/artifactural/api/artifact/MissingArtifactException.java
+++ b/src/api/java/com/amadornes/artifactural/api/artifact/MissingArtifactException.java
@@ -1,6 +1,7 @@
package com.amadornes.artifactural.api.artifact;
public class MissingArtifactException extends RuntimeException {
+ private static final long serialVersionUID = 4902516963452435653L;
public MissingArtifactException(ArtifactIdentifier identifier) {
super("Could not find artifact: " + identifier);
diff --git a/src/api/java/com/amadornes/artifactural/api/cache/ArtifactCache.java b/src/api/java/com/amadornes/artifactural/api/cache/ArtifactCache.java
index 3209656..8099d30 100644
--- a/src/api/java/com/amadornes/artifactural/api/cache/ArtifactCache.java
+++ b/src/api/java/com/amadornes/artifactural/api/cache/ArtifactCache.java
@@ -4,6 +4,6 @@ import com.amadornes.artifactural.api.artifact.Artifact;
public interface ArtifactCache {
- Artifact.Cached store(Artifact artifact, String specifier);
+ Artifact.Cached store(Artifact artifact);
}