aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/mammoth/internal/documents/Paragraph.java
blob: c9859b65e6f82a854688320a29e0d49c164c6414 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package org.zwobble.mammoth.internal.documents;

import java.util.List;
import java.util.Optional;

public class Paragraph implements DocumentElement, HasChildren<Paragraph> {
    private final Optional<Style> style;
    private final Optional<NumberingLevel> numbering;
    private final ParagraphIndent indent;
    private final List<DocumentElement> children;

    public Paragraph(
        Optional<Style> style,
        Optional<NumberingLevel> numbering,
        ParagraphIndent indent,
        List<DocumentElement> children
    ) {
        this.style = style;
        this.numbering = numbering;
        this.indent = indent;
        this.children = children;
    }

    public Optional<Style> getStyle() {
        return style;
    }

    public Optional<NumberingLevel> getNumbering() {
        return numbering;
    }

    public ParagraphIndent getIndent() {
        return indent;
    }

    @Override
    public List<DocumentElement> getChildren() {
        return children;
    }

    @Override
    public Paragraph replaceChildren(List<DocumentElement> newChildren) {
        return new Paragraph(this.style, this.numbering, this.indent, newChildren);
    }

    @Override
    public <T, U> T accept(DocumentElementVisitor<T, U> visitor, U context) {
        return visitor.visit(this, context);
    }
}