aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/mammoth/internal/docx/Styles.java
blob: 8fcf582d02d268fc7e4c14f6b4af345382d0f67b (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
package org.zwobble.mammoth.internal.docx;

import org.zwobble.mammoth.internal.documents.NumberingStyle;
import org.zwobble.mammoth.internal.documents.Style;

import java.util.Map;
import java.util.Optional;

import static org.zwobble.mammoth.internal.util.Maps.lookup;
import static org.zwobble.mammoth.internal.util.Maps.map;

public class Styles {
    public static final Styles EMPTY = new Styles(map(), map(), map(), map());

    private final Map<String, Style> paragraphStyles;
    private final Map<String, Style> characterStyles;
    private final Map<String, Style> tableStyles;
    private final Map<String, NumberingStyle> numberingStyles;

    public Styles(
        Map<String, Style> paragraphStyles,
        Map<String, Style> characterStyles,
        Map<String, Style> tableStyles,
        Map<String, NumberingStyle> numberingStyles
    ) {
        this.paragraphStyles = paragraphStyles;
        this.characterStyles = characterStyles;
        this.tableStyles = tableStyles;
        this.numberingStyles = numberingStyles;
    }

    public Optional<Style> findParagraphStyleById(String id) {
        return lookup(paragraphStyles, id);
    }

    public Optional<Style> findCharacterStyleById(String id) {
        return lookup(characterStyles, id);
    }

    public Optional<Style> findTableStyleById(String id) {
        return lookup(tableStyles, id);
    }

    public Optional<NumberingStyle> findNumberingStyleById(String id) {
        return lookup(numberingStyles, id);
    }
}