diff options
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/internal/archives')
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(); } |
