/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package automenta.netention.value.set;
import automenta.netention.DefiniteValue;
import automenta.netention.IndefiniteValue;
import automenta.netention.PropertyValue;
import automenta.netention.value.string.StringContains;
import automenta.netention.value.string.StringEquals;
import automenta.netention.value.string.StringNotContains;
/**
*
* @author seh
*/
public class SelectionIs extends PropertyValue implements DefiniteValue<String> {
private String option;
public SelectionIs() { }
public SelectionIs(String option) {
super();
this.option = option;
}
public String getOption() {
return option;
}
@Override public String getValue() {
return option;
}
public void setValue(String s) {
this.option = s;
}
@Override public double satisfies(IndefiniteValue i) {
if (i.getClass().equals( SelectionEquals.class )) {
//TODO implement string-difference-distance fall-off (ex: 0.05 * # of chars different)
return ((SelectionEquals)i).getValue().equalsIgnoreCase(getValue()) ? 1.0 : 0.0;
}
return 0;
}
}