001package org.hl7.fhir.utilities;
002
003public class SourceLocation {
004  private int line;
005  private int column;
006  public  SourceLocation(int line, int column) {
007    super();
008    this.line = line;
009    this.column = column;
010  }
011  public int getLine() {
012    return line;
013  }
014  public int getColumn() {
015    return column;
016  }
017  public void setLine(int line) {
018    this.line = line;
019  }
020  public void setColumn(int column) {
021    this.column = column;
022  }
023
024  public String toString() {
025    return Integer.toString(line)+", "+Integer.toString(column);
026  }
027  
028  public void newLine() {
029    setLine(getLine() + 1);
030    setColumn(1);
031  }
032  public boolean checkChar(char ch, boolean last13) {
033    if (ch == '\r') {
034      newLine();
035      return true;
036    } else if (ch == '\n') {
037      if (!last13) {
038        newLine();
039      }
040      return false;
041    } else {
042      setColumn(getColumn() + 1);
043      return false;
044    }
045  }
046}