Bug 2497: Added YIN Export for Effective Schema Context.
[yangtools.git] / yang / yang-model-export / src / main / java / org / opendaylight / yangtools / yang / model / export / Rfc6020ModuleWriter.java
1 /*
2  * Copyright (c) 2015 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.yangtools.yang.model.export;
9
10 import com.google.common.primitives.UnsignedInteger;
11 import java.net.URI;
12 import java.util.Date;
13 import java.util.List;
14 import org.opendaylight.yangtools.yang.common.QName;
15 import org.opendaylight.yangtools.yang.model.api.RevisionAwareXPath;
16 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
17 import org.opendaylight.yangtools.yang.model.api.Status;
18 import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
19
20 interface Rfc6020ModuleWriter {
21
22     void endNode();
23
24     void startModuleNode(String identifier);
25
26     void startOrganizationNode(String input);
27
28     void startContactNode(String input);
29
30     void startDescriptionNode(String input);
31
32     void startUnitsNode(String input);
33
34     void startYangVersionNode(String input);
35
36     void startNamespaceNode(URI uri);
37
38     void startKeyNode(List<QName> keyList);
39
40     void startPrefixNode(String input);
41
42     void startFeatureNode(QName qName);
43
44     void startExtensionNode(QName qName);
45
46     void startArgumentNode(String input);
47
48     void startStatusNode(Status status);
49
50     void startTypeNode(QName qName);
51
52     void startLeafNode(QName qName);
53
54     void startContainerNode(QName qName);
55
56     void startGroupingNode(QName qName);
57
58     void startRpcNode(QName qName);
59
60     void startInputNode();
61
62     void startOutputNode();
63
64     void startLeafListNode(QName qName);
65
66     void startListNode(QName qName);
67
68     void startChoiceNode(QName qName);
69
70     void startCaseNode(QName qName);
71
72     void startNotificationNode(QName qName);
73
74     void startIdentityNode(QName qName);
75
76     void startBaseNode(QName qName);
77
78     void startTypedefNode(QName qName);
79
80     void startRevisionNode(Date date);
81
82     void startDefaultNode(String string);
83
84     void startMustNode(RevisionAwareXPath xpath);
85
86     void startErrorMessageNode(String input);
87
88     void startErrorAppTagNode(String input);
89
90     void startPatternNode(String regularExpression);
91
92     void startValueNode(Integer integer);
93
94     void startEnumNode(String name);
95
96     void startRequireInstanceNode(boolean require);
97
98     void startPathNode(RevisionAwareXPath revisionAwareXPath);
99
100     void startBitNode(String name);
101
102     void startPositionNode(UnsignedInteger position);
103
104     void startReferenceNode(String input);
105
106     void startRevisionDateNode(Date date);
107
108     void startImportNode(String moduleName);
109
110     void startUsesNode(QName groupingName);
111
112     void startAugmentNode(SchemaPath targetPath);
113
114     void startConfigNode(boolean config);
115
116     void startLengthNode(String lengthString);
117
118     void startMaxElementsNode(Integer max);
119
120     void startMinElementsNode(Integer min);
121
122     void startPresenceNode(boolean presence);
123
124     void startOrderedByNode(String ordering);
125
126     void startRangeNode(String rangeString);
127
128     void startRefineNode(SchemaPath path);
129
130     void startMandatoryNode(boolean mandatory);
131
132     void startAnyxmlNode(QName qName);
133
134     void startUnknownNode(StatementDefinition def);
135
136     void startUnknownNode(StatementDefinition def, String nodeParameter);
137
138     void startFractionDigitsNode(Integer fractionDigits);
139
140     void startYinElementNode(boolean yinElement);
141
142     void startWhenNode(RevisionAwareXPath revisionAwareXPath);
143
144 }