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.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;
20 interface Rfc6020ModuleWriter {
24 void startModuleNode(String identifier);
26 void startOrganizationNode(String input);
28 void startContactNode(String input);
30 void startDescriptionNode(String input);
32 void startUnitsNode(String input);
34 void startYangVersionNode(String input);
36 void startNamespaceNode(URI uri);
38 void startKeyNode(List<QName> keyList);
40 void startPrefixNode(String input);
42 void startFeatureNode(QName qName);
44 void startExtensionNode(QName qName);
46 void startArgumentNode(String input);
48 void startStatusNode(Status status);
50 void startTypeNode(QName qName);
52 void startLeafNode(QName qName);
54 void startContainerNode(QName qName);
56 void startGroupingNode(QName qName);
58 void startRpcNode(QName qName);
60 void startInputNode();
62 void startOutputNode();
64 void startLeafListNode(QName qName);
66 void startListNode(QName qName);
68 void startChoiceNode(QName qName);
70 void startCaseNode(QName qName);
72 void startNotificationNode(QName qName);
74 void startIdentityNode(QName qName);
76 void startBaseNode(QName qName);
78 void startTypedefNode(QName qName);
80 void startRevisionNode(Date date);
82 void startDefaultNode(String string);
84 void startMustNode(RevisionAwareXPath xpath);
86 void startErrorMessageNode(String input);
88 void startErrorAppTagNode(String input);
90 void startPatternNode(String regularExpression);
92 void startValueNode(Integer integer);
94 void startEnumNode(String name);
96 void startRequireInstanceNode(boolean require);
98 void startPathNode(RevisionAwareXPath revisionAwareXPath);
100 void startBitNode(String name);
102 void startPositionNode(UnsignedInteger position);
104 void startReferenceNode(String input);
106 void startRevisionDateNode(Date date);
108 void startImportNode(String moduleName);
110 void startUsesNode(QName groupingName);
112 void startAugmentNode(SchemaPath targetPath);
114 void startConfigNode(boolean config);
116 void startLengthNode(String lengthString);
118 void startMaxElementsNode(Integer max);
120 void startMinElementsNode(Integer min);
122 void startPresenceNode(boolean presence);
124 void startOrderedByNode(String ordering);
126 void startRangeNode(String rangeString);
128 void startRefineNode(SchemaPath path);
130 void startMandatoryNode(boolean mandatory);
132 void startAnyxmlNode(QName qName);
134 void startUnknownNode(StatementDefinition def);
136 void startUnknownNode(StatementDefinition def, String nodeParameter);
138 void startFractionDigitsNode(Integer fractionDigits);
140 void startYinElementNode(boolean yinElement);
142 void startWhenNode(RevisionAwareXPath revisionAwareXPath);