aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/mammoth/internal/documents/Hyperlink.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-02-24 08:16:16 +0000
committerMichael Williamson <mike@zwobble.org>2016-02-24 08:16:16 +0000
commit3e2786a004eddf968a5fa7d5a92dff5b1b5f7734 (patch)
tree7fa1bcc1e484cd0ef782f64baf504ee83333d397 /src/main/java/org/zwobble/mammoth/internal/documents/Hyperlink.java
parent0dc3a12affc2e46c1a0df2899cf51a1ae3fdbd61 (diff)
Create internal package
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/internal/documents/Hyperlink.java')
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/documents/Hyperlink.java42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/documents/Hyperlink.java b/src/main/java/org/zwobble/mammoth/internal/documents/Hyperlink.java
new file mode 100644
index 0000000..ceb558f
--- /dev/null
+++ b/src/main/java/org/zwobble/mammoth/internal/documents/Hyperlink.java
@@ -0,0 +1,42 @@
+package org.zwobble.mammoth.internal.documents;
+
+import java.util.List;
+import java.util.Optional;
+
+public class Hyperlink implements DocumentElement, HasChildren {
+ public static Hyperlink href(String href, List<DocumentElement> children) {
+ return new Hyperlink(Optional.of(href), Optional.empty(), children);
+ }
+
+ public static Hyperlink anchor(String anchor, List<DocumentElement> children) {
+ return new Hyperlink(Optional.empty(), Optional.of(anchor), children);
+ }
+
+ private final Optional<String> href;
+ private final Optional<String> anchor;
+ private final List<DocumentElement> children;
+
+ private Hyperlink(Optional<String> href, Optional<String> anchor, List<DocumentElement> children) {
+ this.href = href;
+ this.anchor = anchor;
+ this.children = children;
+ }
+
+ public Optional<String> getHref() {
+ return href;
+ }
+
+ public Optional<String> getAnchor() {
+ return anchor;
+ }
+
+ @Override
+ public List<DocumentElement> getChildren() {
+ return children;
+ }
+
+ @Override
+ public <T> T accept(DocumentElementVisitor<T> visitor) {
+ return visitor.visit(this);
+ }
+}