aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/mammoth/internal/documents
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2025-08-03 09:36:04 +0100
committerMichael Williamson <mike@zwobble.org>2025-08-03 09:36:04 +0100
commit2b5635c1425f7a4e31d2d0aedb892f2d8d033f92 (patch)
tree1dad2042a89092872c4b4c4a01a0250cbd9dcac2 /src/main/java/org/zwobble/mammoth/internal/documents
parent7f6f1e5cc669ddaf09b7800daacc7bd06037e4c9 (diff)
Remove type argument from HasChildren
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/internal/documents')
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/documents/Document.java9
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/documents/DocumentElementVisitor.java2
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/documents/HasChildren.java5
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/documents/HasGetChildren.java7
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/documents/Hyperlink.java4
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/documents/Paragraph.java4
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/documents/Run.java4
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/documents/Table.java4
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/documents/TableCell.java4
-rw-r--r--src/main/java/org/zwobble/mammoth/internal/documents/TableRow.java4
10 files changed, 24 insertions, 23 deletions
diff --git a/src/main/java/org/zwobble/mammoth/internal/documents/Document.java b/src/main/java/org/zwobble/mammoth/internal/documents/Document.java
index b1807d5..44d4db0 100644
--- a/src/main/java/org/zwobble/mammoth/internal/documents/Document.java
+++ b/src/main/java/org/zwobble/mammoth/internal/documents/Document.java
@@ -2,7 +2,7 @@ package org.zwobble.mammoth.internal.documents;
import java.util.List;
-public class Document implements HasChildren<Document> {
+public class Document implements DocumentElement, HasChildren {
private final List<DocumentElement> children;
private final Notes notes;
private final List<Comment> comments;
@@ -19,10 +19,15 @@ public class Document implements HasChildren<Document> {
}
@Override
- public Document replaceChildren(List<DocumentElement> newChildren) {
+ public DocumentElement replaceChildren(List<DocumentElement> newChildren) {
return new Document(newChildren, this.notes, this.comments);
}
+ @Override
+ public <T, U> T accept(DocumentElementVisitor<T, U> visitor, U context) {
+ return visitor.visit(this, context);
+ }
+
public Notes getNotes() {
return notes;
}
diff --git a/src/main/java/org/zwobble/mammoth/internal/documents/DocumentElementVisitor.java b/src/main/java/org/zwobble/mammoth/internal/documents/DocumentElementVisitor.java
index ea67113..de288b9 100644
--- a/src/main/java/org/zwobble/mammoth/internal/documents/DocumentElementVisitor.java
+++ b/src/main/java/org/zwobble/mammoth/internal/documents/DocumentElementVisitor.java
@@ -1,6 +1,8 @@
package org.zwobble.mammoth.internal.documents;
public interface DocumentElementVisitor<T, U> {
+ T visit(Document document, U context);
+
T visit(Paragraph paragraph, U context);
T visit(Run run, U context);
T visit(Text text, U context);
diff --git a/src/main/java/org/zwobble/mammoth/internal/documents/HasChildren.java b/src/main/java/org/zwobble/mammoth/internal/documents/HasChildren.java
index 3b5ad4b..1d01141 100644
--- a/src/main/java/org/zwobble/mammoth/internal/documents/HasChildren.java
+++ b/src/main/java/org/zwobble/mammoth/internal/documents/HasChildren.java
@@ -2,6 +2,7 @@ package org.zwobble.mammoth.internal.documents;
import java.util.List;
-public interface HasChildren<T> extends HasGetChildren {
- T replaceChildren(List<DocumentElement> newChildren);
+public interface HasChildren {
+ List<DocumentElement> getChildren();
+ DocumentElement replaceChildren(List<DocumentElement> newChildren);
}
diff --git a/src/main/java/org/zwobble/mammoth/internal/documents/HasGetChildren.java b/src/main/java/org/zwobble/mammoth/internal/documents/HasGetChildren.java
deleted file mode 100644
index 18d39fc..0000000
--- a/src/main/java/org/zwobble/mammoth/internal/documents/HasGetChildren.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package org.zwobble.mammoth.internal.documents;
-
-import java.util.List;
-
-public interface HasGetChildren {
- List<DocumentElement> getChildren();
-}
diff --git a/src/main/java/org/zwobble/mammoth/internal/documents/Hyperlink.java b/src/main/java/org/zwobble/mammoth/internal/documents/Hyperlink.java
index bf86ffe..6191986 100644
--- a/src/main/java/org/zwobble/mammoth/internal/documents/Hyperlink.java
+++ b/src/main/java/org/zwobble/mammoth/internal/documents/Hyperlink.java
@@ -3,7 +3,7 @@ package org.zwobble.mammoth.internal.documents;
import java.util.List;
import java.util.Optional;
-public class Hyperlink implements DocumentElement, HasChildren<Hyperlink> {
+public class Hyperlink implements DocumentElement, HasChildren {
public static Hyperlink href(String href, Optional<String> targetFrame, List<DocumentElement> children) {
return new Hyperlink(Optional.of(href), Optional.empty(), targetFrame, children);
}
@@ -42,7 +42,7 @@ public class Hyperlink implements DocumentElement, HasChildren<Hyperlink> {
}
@Override
- public Hyperlink replaceChildren(List<DocumentElement> newChildren) {
+ public DocumentElement replaceChildren(List<DocumentElement> newChildren) {
return new Hyperlink(this.href, this.anchor, this.targetFrame, newChildren);
}
diff --git a/src/main/java/org/zwobble/mammoth/internal/documents/Paragraph.java b/src/main/java/org/zwobble/mammoth/internal/documents/Paragraph.java
index c9859b6..d3967c9 100644
--- a/src/main/java/org/zwobble/mammoth/internal/documents/Paragraph.java
+++ b/src/main/java/org/zwobble/mammoth/internal/documents/Paragraph.java
@@ -3,7 +3,7 @@ package org.zwobble.mammoth.internal.documents;
import java.util.List;
import java.util.Optional;
-public class Paragraph implements DocumentElement, HasChildren<Paragraph> {
+public class Paragraph implements DocumentElement, HasChildren {
private final Optional<Style> style;
private final Optional<NumberingLevel> numbering;
private final ParagraphIndent indent;
@@ -39,7 +39,7 @@ public class Paragraph implements DocumentElement, HasChildren<Paragraph> {
}
@Override
- public Paragraph replaceChildren(List<DocumentElement> newChildren) {
+ public DocumentElement replaceChildren(List<DocumentElement> newChildren) {
return new Paragraph(this.style, this.numbering, this.indent, newChildren);
}
diff --git a/src/main/java/org/zwobble/mammoth/internal/documents/Run.java b/src/main/java/org/zwobble/mammoth/internal/documents/Run.java
index d1de84a..6deca28 100644
--- a/src/main/java/org/zwobble/mammoth/internal/documents/Run.java
+++ b/src/main/java/org/zwobble/mammoth/internal/documents/Run.java
@@ -3,7 +3,7 @@ package org.zwobble.mammoth.internal.documents;
import java.util.List;
import java.util.Optional;
-public class Run implements DocumentElement, HasChildren<Run> {
+public class Run implements DocumentElement, HasChildren {
private final Optional<String> highlight;
private final boolean isBold;
private final boolean isItalic;
@@ -81,7 +81,7 @@ public class Run implements DocumentElement, HasChildren<Run> {
}
@Override
- public Run replaceChildren(List<DocumentElement> newChildren) {
+ public DocumentElement replaceChildren(List<DocumentElement> newChildren) {
return new Run(
this.highlight,
this.isBold,
diff --git a/src/main/java/org/zwobble/mammoth/internal/documents/Table.java b/src/main/java/org/zwobble/mammoth/internal/documents/Table.java
index 6f1751a..7656a93 100644
--- a/src/main/java/org/zwobble/mammoth/internal/documents/Table.java
+++ b/src/main/java/org/zwobble/mammoth/internal/documents/Table.java
@@ -3,7 +3,7 @@ package org.zwobble.mammoth.internal.documents;
import java.util.List;
import java.util.Optional;
-public class Table implements DocumentElement, HasChildren<Table> {
+public class Table implements DocumentElement, HasChildren {
private final Optional<Style> style;
private final List<DocumentElement> children;
@@ -22,7 +22,7 @@ public class Table implements DocumentElement, HasChildren<Table> {
}
@Override
- public Table replaceChildren(List<DocumentElement> newChildren) {
+ public DocumentElement replaceChildren(List<DocumentElement> newChildren) {
return new Table(this.style, newChildren);
}
diff --git a/src/main/java/org/zwobble/mammoth/internal/documents/TableCell.java b/src/main/java/org/zwobble/mammoth/internal/documents/TableCell.java
index 14900aa..bf3c8b5 100644
--- a/src/main/java/org/zwobble/mammoth/internal/documents/TableCell.java
+++ b/src/main/java/org/zwobble/mammoth/internal/documents/TableCell.java
@@ -2,7 +2,7 @@ package org.zwobble.mammoth.internal.documents;
import java.util.List;
-public class TableCell implements DocumentElement, HasChildren<TableCell> {
+public class TableCell implements DocumentElement, HasChildren {
private final int rowspan;
private final int colspan;
private final List<DocumentElement> children;
@@ -27,7 +27,7 @@ public class TableCell implements DocumentElement, HasChildren<TableCell> {
}
@Override
- public TableCell replaceChildren(List<DocumentElement> newChildren) {
+ public DocumentElement replaceChildren(List<DocumentElement> newChildren) {
return new TableCell(this.rowspan, this.colspan, newChildren);
}
diff --git a/src/main/java/org/zwobble/mammoth/internal/documents/TableRow.java b/src/main/java/org/zwobble/mammoth/internal/documents/TableRow.java
index 00edc5f..6d5260f 100644
--- a/src/main/java/org/zwobble/mammoth/internal/documents/TableRow.java
+++ b/src/main/java/org/zwobble/mammoth/internal/documents/TableRow.java
@@ -2,7 +2,7 @@ package org.zwobble.mammoth.internal.documents;
import java.util.List;
-public class TableRow implements DocumentElement, HasChildren<TableRow> {
+public class TableRow implements DocumentElement, HasChildren {
private final List<DocumentElement> children;
private final boolean isHeader;
@@ -17,7 +17,7 @@ public class TableRow implements DocumentElement, HasChildren<TableRow> {
}
@Override
- public TableRow replaceChildren(List<DocumentElement> newChildren) {
+ public DocumentElement replaceChildren(List<DocumentElement> newChildren) {
return new TableRow(newChildren, this.isHeader);
}