/**
*
*/
package ca.concordia.cssanalyser.cssmodel;
/**
* Stores the location info for a CSS element
* @author Davood Mazinanian
*
*/
public class LocationInfo {
private int lineNumber;
private int columnNumber;
private int offset;
private int lenghth;
public LocationInfo() {
lineNumber = columnNumber = offset = lenghth = -1;
}
public LocationInfo(int fileLineNumber, int fileColNumber) {
this(fileLineNumber, fileColNumber, -1, -1);
}
public LocationInfo(int lineNumber, int columnNumber, int offset, int length) {
this.lineNumber = lineNumber;
this.columnNumber = columnNumber;
this.offset = offset;
this.lenghth = length;
}
public int getLineNumber() {
return lineNumber;
}
public int getColumnNumber() {
return columnNumber;
}
public int getOffset() {
return offset;
}
public int getLength() {
return lenghth;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + columnNumber;
result = prime * result + lenghth;
result = prime * result + lineNumber;
result = prime * result + offset;
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
LocationInfo other = (LocationInfo) obj;
if (columnNumber != other.columnNumber)
return false;
if (lenghth != other.lenghth)
return false;
if (lineNumber != other.lineNumber)
return false;
if (offset != other.offset)
return false;
return true;
}
@Override
public String toString() {
return String.format("Line: %6s, Column: %6s, Offset: %8s, Length: %8s", lineNumber, columnNumber, offset, lenghth);
}
}