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 package gov.nist.secauto.metaschema.core.datatype.markup;
28
29 import com.fasterxml.jackson.core.JsonParser;
30
31 import gov.nist.secauto.metaschema.core.datatype.markup.flexmark.XmlMarkupParser;
32 import gov.nist.secauto.metaschema.core.metapath.item.atomic.IMarkupItem;
33 import gov.nist.secauto.metaschema.core.util.ObjectUtils;
34
35 import org.codehaus.stax2.XMLEventReader2;
36
37 import java.io.IOException;
38 import java.util.List;
39
40 import javax.xml.stream.XMLStreamException;
41
42 import edu.umd.cs.findbugs.annotations.NonNull;
43
44 public class MarkupLineAdapter
45 extends AbstractMarkupAdapter<MarkupLine> {
46 @NonNull
47 private static final List<String> NAMES = ObjectUtils.notNull(
48 List.of("markup-line"));
49
50 MarkupLineAdapter() {
51 super(MarkupLine.class);
52 }
53
54 @Override
55 public List<String> getNames() {
56 return NAMES;
57 }
58
59
60
61
62 @Override
63 public MarkupLine parse(String value) {
64 return MarkupLine.fromMarkdown(value);
65 }
66
67 @SuppressWarnings("null")
68 @Override
69 public MarkupLine parse(XMLEventReader2 eventReader) throws IOException {
70 try {
71 return XmlMarkupParser.instance().parseMarkupline(eventReader);
72 } catch (XMLStreamException ex) {
73 throw new IOException(ex);
74 }
75 }
76
77 @Override
78 public MarkupLine parse(JsonParser parser) throws IOException {
79 @SuppressWarnings("null") MarkupLine retval = parse(parser.getValueAsString());
80
81 parser.nextToken();
82 return retval;
83 }
84
85 @Override
86 public String getDefaultJsonValueKey() {
87 return "RICHTEXT";
88 }
89
90 @Override
91 public Class<IMarkupItem> getItemClass() {
92 return IMarkupItem.class;
93 }
94
95 @Override
96 public IMarkupItem newItem(Object value) {
97 MarkupLine item = toValue(value);
98 return IMarkupItem.valueOf(item);
99 }
100 }