package aima.core.learning.framework;
import java.util.Arrays;
import java.util.List;
/**
* @author Ravi Mohan
*
*/
public class StringAttributeSpecification implements AttributeSpecification {
String attributeName;
List<String> attributePossibleValues;
public StringAttributeSpecification(String attributeName,
List<String> attributePossibleValues) {
this.attributeName = attributeName;
this.attributePossibleValues = attributePossibleValues;
}
public StringAttributeSpecification(String attributeName,
String[] attributePossibleValues) {
this(attributeName, Arrays.asList(attributePossibleValues));
}
public boolean isValid(String value) {
return (attributePossibleValues.contains(value));
}
/**
* @return Returns the attributeName.
*/
public String getAttributeName() {
return attributeName;
}
public List<String> possibleAttributeValues() {
return attributePossibleValues;
}
public Attribute createAttribute(String rawValue) {
return new StringAttribute(rawValue, this);
}
}