Add YinXMLEventReaderFactory
[yangtools.git] / yang / yang-model-export / src / main / java / org / opendaylight / yangtools / yang / model / export / SingleModuleYinStatementWriter.java
index 8b798b28862a6f5319c1ee6808f9f0dc1400d43f..59a4f784aba65063605da37d9c63cb6a83cf27b0 100644 (file)
@@ -23,10 +23,11 @@ import javax.xml.stream.XMLStreamWriter;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.YangConstants;
 import org.opendaylight.yangtools.yang.model.api.RevisionAwareXPath;
-import org.opendaylight.yangtools.yang.model.api.Rfc6020Mapping;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
+import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
 import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
 
+@Deprecated
 @Beta
 @NotThreadSafe
 class SingleModuleYinStatementWriter implements StatementTextWriter {
@@ -38,12 +39,10 @@ class SingleModuleYinStatementWriter implements StatementTextWriter {
 
     private SingleModuleYinStatementWriter(final XMLStreamWriter writer, final URI moduleNamespace,
             final Map<String, URI> prefixToNs) {
-        super();
         this.writer = writer;
         this.currentModuleNs = moduleNamespace;
         this.prefixToNamespace = HashBiMap.create(prefixToNs);
         initializeYinNamespaceInXml();
-
     }
 
     private void initializeYinNamespaceInXml() {
@@ -60,7 +59,7 @@ class SingleModuleYinStatementWriter implements StatementTextWriter {
         }
     }
 
-    static final StatementTextWriter create(final XMLStreamWriter writer, final URI moduleNs,
+    static StatementTextWriter create(final XMLStreamWriter writer, final URI moduleNs,
             final Map<String, URI> prefixToNs) {
         return new SingleModuleYinStatementWriter(writer, moduleNs, prefixToNs);
     }
@@ -70,7 +69,7 @@ class SingleModuleYinStatementWriter implements StatementTextWriter {
         currentStatement = Preconditions.checkNotNull(statement);
         try {
             writeStartXmlElement(statement.getStatementName());
-            if (Rfc6020Mapping.Module.equals(statement) || Rfc6020Mapping.Submodule.equals(statement)) {
+            if (YangStmtMapping.MODULE.equals(statement) || YangStmtMapping.SUBMODULE.equals(statement)) {
                 declareXmlNamespaces(prefixToNamespace);
             }
         } catch (final XMLStreamException e) {
@@ -107,13 +106,13 @@ class SingleModuleYinStatementWriter implements StatementTextWriter {
     public void writeArgument(final SchemaPath targetPath) {
         checkArgumentApplicable();
         final StringBuilder valueStr = new StringBuilder();
-        if(targetPath.isAbsolute()) {
+        if (targetPath.isAbsolute()) {
             valueStr.append("/");
         }
         final Iterator<QName> argIt = targetPath.getPathFromRoot().iterator();
-        while(argIt.hasNext()) {
+        while (argIt.hasNext()) {
             valueStr.append(toPrefixedString(argIt.next()));
-            if(argIt.hasNext()) {
+            if (argIt.hasNext()) {
                 valueStr.append("/");
             }
         }
@@ -128,7 +127,6 @@ class SingleModuleYinStatementWriter implements StatementTextWriter {
         writeArgument0(xpath.toString());
     }
 
-
     private void writeArgument0(final String strRep) {
         try {
             if (isArgumentYinElement(currentStatement)) {
@@ -144,11 +142,9 @@ class SingleModuleYinStatementWriter implements StatementTextWriter {
         }
     }
 
-    private boolean isArgumentYinElement(StatementDefinition currentStatement) {
-        if (currentStatement instanceof Rfc6020Mapping) {
-            return ((Rfc6020Mapping) currentStatement).isArgumentYinElement();
-        } else if (currentStatement instanceof ExtensionStatement) {
-            return ((ExtensionStatement) currentStatement).isArgumentYinElement();
+    private static boolean isArgumentYinElement(final StatementDefinition currentStatement) {
+        if (currentStatement instanceof YangStmtMapping || currentStatement instanceof ExtensionStatement) {
+            return currentStatement.isArgumentYinElement();
         }
         return false;
     }
@@ -159,9 +155,7 @@ class SingleModuleYinStatementWriter implements StatementTextWriter {
                 currentStatement.getArgumentName());
     }
 
-
-
-    private String toPrefixedString(@Nullable final String prefix, final String localName) {
+    private static String toPrefixedString(@Nullable final String prefix, final String localName) {
         if (prefix == null || prefix.isEmpty()) {
             return localName;
         }
@@ -179,7 +173,7 @@ class SingleModuleYinStatementWriter implements StatementTextWriter {
     }
 
     private @Nullable String ensureAndGetXmlNamespacePrefix(final URI namespace) {
-        if(YangConstants.RFC6020_YANG_NAMESPACE.equals(namespace)) {
+        if (YangConstants.RFC6020_YANG_NAMESPACE.equals(namespace)) {
          // YANG namespace does not have prefix if used in arguments.
             return null;
 
@@ -189,7 +183,7 @@ class SingleModuleYinStatementWriter implements StatementTextWriter {
             // FIXME: declare prefix
             prefix =prefixToNamespace.inverse().get(namespace);
         }
-        if(prefix == null) {
+        if (prefix == null) {
             throw new IllegalArgumentException("Namespace " + namespace + " is not bound to imported prefixes.");
         }
         return prefix;
@@ -221,5 +215,4 @@ class SingleModuleYinStatementWriter implements StatementTextWriter {
     private void writeStartXmlElement(final QName name) throws XMLStreamException {
         writer.writeStartElement(name.getNamespace().toString(), name.getLocalName());
     }
-
 }