aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/mammoth/documents/Image.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-02-13 22:38:53 +0000
committerMichael Williamson <mike@zwobble.org>2016-02-13 22:38:53 +0000
commit8d01886d494d8251c0825ca7d6df214d19415325 (patch)
tree4a6755fff27f997c815418dabba20840aafd2322 /src/main/java/org/zwobble/mammoth/documents/Image.java
parent6ae918357de9c9ff0b84e70016ea08aefeb48dea (diff)
Read v:imagedata
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/documents/Image.java')
-rw-r--r--src/main/java/org/zwobble/mammoth/documents/Image.java39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/mammoth/documents/Image.java b/src/main/java/org/zwobble/mammoth/documents/Image.java
new file mode 100644
index 0000000..7435cbf
--- /dev/null
+++ b/src/main/java/org/zwobble/mammoth/documents/Image.java
@@ -0,0 +1,39 @@
+package org.zwobble.mammoth.documents;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Optional;
+
+public class Image implements DocumentElement {
+ @FunctionalInterface
+ public interface InputStreamSupplier {
+ InputStream open() throws IOException;
+ }
+
+ private final Optional<String> altText;
+ private final Optional<String> contentType;
+ private final InputStreamSupplier open;
+
+ public Image(Optional<String> altText, Optional<String> contentType, InputStreamSupplier open) {
+ this.altText = altText;
+ this.contentType = contentType;
+ this.open = open;
+ }
+
+ public Optional<String> getAltText() {
+ return altText;
+ }
+
+ public Optional<String> getContentType() {
+ return contentType;
+ }
+
+ public InputStream open() throws IOException {
+ return open.open();
+ }
+
+ @Override
+ public <T> T accept(DocumentElementVisitor<T> visitor) {
+ return visitor.visit(this);
+ }
+}