2 * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved.
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
8 package org.opendaylight.yangtools.yang.model.export;
10 import com.google.common.primitives.UnsignedInteger;
12 import java.util.List;
13 import org.opendaylight.yangtools.yang.common.QName;
14 import org.opendaylight.yangtools.yang.common.Revision;
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.UniqueConstraint;
19 import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
20 import org.opendaylight.yangtools.yang.model.api.type.ModifierKind;
22 interface YangModuleWriter {
26 void startModuleNode(String identifier);
28 void startOrganizationNode(String input);
30 void startContactNode(String input);
32 void startDescriptionNode(String input);
34 void startUnitsNode(String input);
36 void startYangVersionNode(String input);
38 void startNamespaceNode(URI uri);
40 void startKeyNode(List<QName> keyList);
42 void startPrefixNode(String input);
44 void startFeatureNode(QName qName);
46 void startExtensionNode(QName qName);
48 void startArgumentNode(String input);
50 void startStatusNode(Status status);
52 void startTypeNode(QName qName);
54 void startLeafNode(QName qName);
56 void startContainerNode(QName qName);
58 void startGroupingNode(QName qName);
60 void startRpcNode(QName qName);
62 void startInputNode();
64 void startOutputNode();
66 void startLeafListNode(QName qName);
68 void startListNode(QName qName);
70 void startChoiceNode(QName qName);
72 void startCaseNode(QName qName);
74 void startNotificationNode(QName qName);
76 void startIdentityNode(QName qName);
78 void startBaseNode(QName qName);
80 void startTypedefNode(QName qName);
82 void startRevisionNode(Revision date);
84 void startDefaultNode(String string);
86 void startMustNode(RevisionAwareXPath xpath);
88 void startErrorMessageNode(String input);
90 void startErrorAppTagNode(String input);
92 void startPatternNode(String regularExpression);
94 void startValueNode(Integer integer);
96 void startEnumNode(String name);
98 void startRequireInstanceNode(boolean require);
100 void startPathNode(RevisionAwareXPath revisionAwareXPath);
102 void startBitNode(String name);
104 void startPositionNode(UnsignedInteger position);
106 void startReferenceNode(String input);
108 void startRevisionDateNode(Revision date);
110 void startImportNode(String moduleName);
112 void startUsesNode(QName groupingName);
114 void startAugmentNode(SchemaPath targetPath);
116 void startConfigNode(boolean config);
118 void startLengthNode(String lengthString);
120 void startMaxElementsNode(Integer max);
122 void startMinElementsNode(Integer min);
124 void startPresenceNode(boolean presence);
126 void startOrderedByNode(String ordering);
128 void startRangeNode(String rangeString);
130 void startRefineNode(SchemaPath path);
132 void startMandatoryNode(boolean mandatory);
134 void startAnyxmlNode(QName qName);
136 void startUnknownNode(StatementDefinition def);
138 void startUnknownNode(StatementDefinition def, String nodeParameter);
140 void startFractionDigitsNode(Integer fractionDigits);
142 void startYinElementNode(boolean yinElement);
144 void startWhenNode(RevisionAwareXPath revisionAwareXPath);
146 void startAnydataNode(QName qName);
148 void startActionNode(QName qName);
150 void startModifierNode(ModifierKind modifier);
152 void startUniqueNode(UniqueConstraint uniqueConstraint);
154 void startRevisionNode(String rawArgument);
156 void startRevisionDateNode(String rawArgument);
158 void startExtensionNode(String rawArgument);
160 void startBaseNode(String rawArgument);
162 void startFeatureNode(String rawArgument);
164 void startYinElementNode(String rawArgument);
166 void startIdentityNode(String rawArgument);
168 void startTypedefNode(String rawArgument);
170 void startRpcNode(String rawArgument);
172 void startTypeNode(String rawArgument);
174 void startContainerNode(String rawArgument);
176 void startPresenceNode(String rawArgument);
178 void startStatusNode(String rawArgument);
180 void startConfigNode(String rawArgument);
182 void startLeafNode(String rawArgument);
184 void startWhenNode(String rawArgument);
186 void startLeafListNode(String rawArgument);
188 void startMustNode(String rawArgument);
190 void startMinElementsNode(String rawArgument);
192 void startMaxElementsNode(String rawArgument);
194 void startListNode(String rawArgument);
196 void startKeyNode(String rawArgument);
198 void startUniqueNode(String rawArgument);
200 void startActionNode(String rawArgument);
202 void startChoiceNode(String rawArgument);
204 void startMandatoryNode(String rawArgument);
206 void startAnyxmlNode(String rawArgument);
208 void startCaseNode(String rawArgument);
210 void startAnydataNode(String rawArgument);
212 void startGroupingNode(String rawArgument);
214 void startUsesNode(String rawArgument);
216 void startRefineNode(String rawArgument);
218 void startAugmentNode(String rawArgument);
220 void startNotificationNode(String rawArgument);
222 void startValueNode(String rawArgument);
224 void startModifierNode(String rawArgument);
226 void startFractionDigitsNode(String rawArgument);
228 void startPathNode(String rawArgument);
230 void startRequireInstanceNode(String rawArgument);
232 void startPositionNode(String rawArgument);
234 void startBelongsToNode(String rawArgument);
236 void startIfFeatureNode(String rawArgument);
238 void startSubmoduleNode(String rawArgument);
240 void startIncludeNode(String rawArgument);
242 void startDeviationNode(String rawArgument);
244 void startDeviateNode(String rawArgument);