package edu.ucsd.arcum.interpreter.fragments;
import org.eclipse.jdt.core.dom.AST;
import edu.ucsd.arcum.interpreter.query.IEntityLookup;
import edu.ucsd.arcum.interpreter.satisfier.BindingMap;
public class SimplePropertyLeaf extends ProgramFragment
{
private Object value;
public SimplePropertyLeaf(Object value) {
this.value = value;
}
@Override protected void buildString(StringBuilder buff) {
buff.append(getIndenter());
buff.append(value.toString());
}
@Override protected BindingMap matchesSimpleProperty(Object simple) {
if (simple == value || simple.equals(value)) {
BindingMap result = bindRoot(simple);
return result;
}
else {
return null;
}
}
@Override protected BindingMap matchesEmpty(EmptyEntityInfo entity) {
if (value == null) {
return BindingMap.newEmptyMap();
}
return null;
}
@Override public BindingMap generateNode(IEntityLookup lookup, AST ast) {
return bindRoot(value);
}
}