package com.github.mustachejava;
public final class TemplateContext {
private final String sm;
private final String em;
private final String file;
private final int line;
private final boolean startOfLine;
public TemplateContext(String sm, String em, String file, int line, boolean startOfLine) {
this.sm = sm;
this.em = em;
this.file = file;
this.line = line;
this.startOfLine = startOfLine;
}
public boolean startOfLine() {
return startOfLine;
}
public String startChars() {
return sm;
}
public String endChars() {
return em;
}
public String file() {
return file;
}
public int line() {
return line;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
TemplateContext that = (TemplateContext) o;
return line == that.line &&
!(em != null ? !em.equals(that.em) : that.em != null) &&
!(file != null ? !file.equals(that.file) : that.file != null) &&
!(sm != null ? !sm.equals(that.sm) : that.sm != null);
}
@Override
public int hashCode() {
int result = sm != null ? sm.hashCode() : 0;
result = 31 * result + (em != null ? em.hashCode() : 0);
result = 31 * result + (file != null ? file.hashCode() : 0);
result = 31 * result + line;
return result;
}
public String toString() {
return "[" + file + ":" + line + "]";
}
}