
com.weaverplatform.sp4rql.model.token.VariableToken Maven / Gradle / Ivy
package com.weaverplatform.sp4rql.model.token;
import com.weaverplatform.sp4rql.model.expression.ExpressionArgument;
import com.weaverplatform.sp4rql.model.solution.SolutionType;
import com.weaverplatform.util.IndentStringBuilder;
public class VariableToken extends Sp4rqlToken implements ExpressionArgument {
private final String label;
public VariableToken(String label) {
this.label = label;
}
public String getLabel() {
return label;
}
@Override
public Integer resolvesTo() {
return SolutionType.union(SolutionType.NODE, SolutionType.LITERAL, SolutionType.PREDICATE, SolutionType.GRAPH);
}
@Override
public String toString() {
return String.format("?%s", label);
}
@Override
public void buildString(IndentStringBuilder builder) {
builder.append("?");
builder.append(label);
}
@Override
public int hashCode() {
return label.hashCode();
}
@Override
public boolean equals(Object object) {
if(! (object instanceof VariableToken)) {
return false;
}
return ((VariableToken) object).getLabel().equals(getLabel());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy