From aae5feafc0096f5421e34f3c014df479ed03d92c Mon Sep 17 00:00:00 2001 From: Maschell Date: Wed, 10 Apr 2019 18:59:39 +0200 Subject: [PATCH] Add a interface "FSTDataProvider" which helps you getting data for a given FSTEntry --- .../wiiu/jnus/interfaces/FSTDataProvider.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/de/mas/wiiu/jnus/interfaces/FSTDataProvider.java diff --git a/src/de/mas/wiiu/jnus/interfaces/FSTDataProvider.java b/src/de/mas/wiiu/jnus/interfaces/FSTDataProvider.java new file mode 100644 index 0000000..597410e --- /dev/null +++ b/src/de/mas/wiiu/jnus/interfaces/FSTDataProvider.java @@ -0,0 +1,22 @@ +package de.mas.wiiu.jnus.interfaces; + +import java.io.IOException; +import java.io.InputStream; +import java.util.Optional; + +import de.mas.wiiu.jnus.entities.fst.FSTEntry; + +public interface FSTDataProvider { + public String getName(); + + public FSTEntry getRoot(); + + public default byte[] readFile(FSTEntry entry) throws IOException { + return readFile(entry, 0, entry.getFileSize()); + } + + public byte[] readFile(FSTEntry entry, long offset, long size) throws IOException; + + public InputStream readFileAsStream(FSTEntry entry, long offset, Optional size) throws IOException; + +}