Bug 3874: Support of yang modeled AnyXML - XML deserialization
[yangtools.git] / yang / yang-parser-impl / src / main / java / org / opendaylight / yangtools / yang / parser / spi / source / DeclarationInTextSource.java
index 8f37fdf889ffc9e65ebe0dde24084229e5714b9d..fb05b40202491eaeb4b05b0f7cf82e9f07a22e4b 100644 (file)
@@ -18,7 +18,7 @@ import org.opendaylight.yangtools.yang.model.api.meta.StatementSource;
  * of YANG / YIN statement stream sources.
  *
  *
- *  To create source reference use one of this static factiories:
+ *  To create source reference use one of this static factories:
  *  <ul>
  *  <li>{@link #atPosition(String, int, int)} - provides most specific reference of statement location,
  *  this is most prefered since it provides most context to debug YANG model.
@@ -33,14 +33,14 @@ import org.opendaylight.yangtools.yang.model.api.meta.StatementSource;
  */
 public abstract class DeclarationInTextSource implements StatementSourceReference {
 
-    private final String source;
+    private final String sourceName;
 
-    DeclarationInTextSource(String source) {
-        this.source = source;
+    DeclarationInTextSource(String sourceName) {
+        this.sourceName = sourceName;
     }
 
     public String getSourceName() {
-        return source;
+        return sourceName;
     }
 
     @Override
@@ -56,17 +56,17 @@ public abstract class DeclarationInTextSource implements StatementSourceReferenc
     }
 
     public static final DeclarationInTextSource atLine(String sourceName, int line) {
-        return new AtLine(sourceName,line);
+        return new AtLine(sourceName, line);
     }
 
     public static final DeclarationInTextSource atPosition(String sourceName, int line, int position) {
-        return new AtPosition(sourceName,line,position);
+        return new AtPosition(sourceName, line,position);
     }
 
     private static class InSource extends DeclarationInTextSource {
 
-        public InSource(String source) {
-            super(source);
+        InSource(String sourceName) {
+            super(sourceName);
         }
 
         @Override
@@ -76,12 +76,12 @@ public abstract class DeclarationInTextSource implements StatementSourceReferenc
 
     }
 
-    private static class AtLine extends DeclarationInTextSource {
+    private static class AtLine extends InSource {
 
         private final int line;
 
-        public AtLine(String source,int line) {
-            super(source);
+        AtLine(String sourceName, int line) {
+            super(sourceName);
             this.line = line;
         }
 
@@ -89,23 +89,25 @@ public abstract class DeclarationInTextSource implements StatementSourceReferenc
         public String toString() {
             return String.format("%s:%d", getSourceName(),line);
         }
+        
+        public int getLine() {
+            return line;
+        }
 
     }
 
-    private static class AtPosition extends DeclarationInTextSource {
+    private static class AtPosition extends AtLine {
 
-        private int line;
-        private int character;
+        private final int character;
 
-        public AtPosition(String source, int line, int character) {
-            super(source);
-            this.line = line;
+        AtPosition(String sourceName, int line, int character) {
+            super(sourceName, line);
             this.character = character;
         }
 
         @Override
         public String toString() {
-            return String.format("%s:%d:%d", getSourceName(),line,character);
+            return String.format("%s:%d:%d", getSourceName(),getLine(),character);
         }
 
     }