Bug 6868: If-feature argument may be boolean expression
[yangtools.git] / yang / yang-parser-impl / src / main / java / org / opendaylight / yangtools / yang / parser / spi / source / DeclarationInTextSource.java
index 8f37fdf889ffc9e65ebe0dde24084229e5714b9d..22ef73a8042a3ea709a696df3457a23c0dc9a8c2 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(final String sourceName) {
+        this.sourceName = sourceName;
     }
 
     public String getSourceName() {
-        return source;
+        return sourceName;
     }
 
     @Override
@@ -51,63 +51,60 @@ public abstract class DeclarationInTextSource implements StatementSourceReferenc
     @Override
     public abstract String toString();
 
-    public static final DeclarationInTextSource inSource(String sourceName) {
+    public static DeclarationInTextSource inSource(final String sourceName) {
         return new InSource(sourceName);
     }
 
-    public static final DeclarationInTextSource atLine(String sourceName, int line) {
-        return new AtLine(sourceName,line);
+    public static DeclarationInTextSource atLine(final String sourceName, final int line) {
+        return new AtLine(sourceName, line);
     }
 
-    public static final DeclarationInTextSource atPosition(String sourceName, int line, int position) {
-        return new AtPosition(sourceName,line,position);
+    public static DeclarationInTextSource atPosition(final String sourceName, final int line, final int position) {
+        return new AtPosition(sourceName, line,position);
     }
 
     private static class InSource extends DeclarationInTextSource {
-
-        public InSource(String source) {
-            super(source);
+        InSource(final String sourceName) {
+            super(sourceName);
         }
 
         @Override
         public String toString() {
             return getSourceName();
         }
-
     }
 
-    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(final String sourceName, final int line) {
+            super(sourceName);
             this.line = line;
         }
 
         @Override
         public String toString() {
-            return String.format("%s:%d", getSourceName(),line);
+            return 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(final String sourceName, final int line, final int character) {
+            super(sourceName, line);
             this.character = character;
         }
 
         @Override
         public String toString() {
-            return String.format("%s:%d:%d", getSourceName(),line,character);
+            return getSourceName() + ':' + getLine() + ':' + character;
         }
-
     }
-
 }