aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/mammoth/internal/archives
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/internal/archives')
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/archives/Archive.java1
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/archives/InMemoryArchive.java5
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/archives/ZippedArchive.java5
3 files changed, 11 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/archives/Archive.java b/src/main/java/org/zwobble/mammoth/internal/archives/Archive.java
index 4440234..2f5a4ae 100644
--- a/src/main/java/org/zwobble/mammoth/internal/archives/Archive.java
+++ b/src/main/java/org/zwobble/mammoth/internal/archives/Archive.java
@@ -7,4 +7,5 @@ import java.util.Optional;
public interface Archive extends Closeable {
Optional<InputStream> tryGetInputStream(String name) throws IOException;
+ boolean exists(String name);
}
diff --git a/src/main/java/org/zwobble/mammoth/internal/archives/InMemoryArchive.java b/src/main/java/org/zwobble/mammoth/internal/archives/InMemoryArchive.java
index 9ad7134..0844e8d 100644
--- a/src/main/java/org/zwobble/mammoth/internal/archives/InMemoryArchive.java
+++ b/src/main/java/org/zwobble/mammoth/internal/archives/InMemoryArchive.java
@@ -46,6 +46,11 @@ public class InMemoryArchive implements MutableArchive {
}
@Override
+ public boolean exists(String name) {
+ return entries.containsKey(name);
+ }
+
+ @Override
public void writeEntry(String path, String content) {
entries.put(path, content.getBytes(StandardCharsets.UTF_8));
}
diff --git a/src/main/java/org/zwobble/mammoth/internal/archives/ZippedArchive.java b/src/main/java/org/zwobble/mammoth/internal/archives/ZippedArchive.java
index 853ced9..47be074 100644
--- a/src/main/java/org/zwobble/mammoth/internal/archives/ZippedArchive.java
+++ b/src/main/java/org/zwobble/mammoth/internal/archives/ZippedArchive.java
@@ -29,6 +29,11 @@ public class ZippedArchive implements Archive {
}
@Override
+ public boolean exists(String name) {
+ return zipFile.getEntry(name) != null;
+ }
+
+ @Override
public void close() throws IOException {
zipFile.close();
}