package quickml.supervised.dataProcessing;
import java.io.Serializable;
import java.util.HashSet;
/**
* Created by alexanderhawk on 10/14/15.
*/
public class AttributeCharacteristics {
public boolean isNumber = true;
public boolean isBoolean = true;
private HashSet<Serializable> observedVals = new HashSet();
public void updateBooleanStatus(Serializable val) {
if (!isBoolean || val == null) {
return;
}
if (observedVals.size() > 2 || (observedVals.size() == 2 && !observedVals.contains(val))) {
isBoolean = false;
} else {
observedVals.add(val);
}
if (bothValsAreNumbers()) {
isBoolean = false;
}
}
private boolean bothValsAreNumbers() {
boolean bothValsAreNum = true;
for (Serializable key : observedVals) {
if (!(key instanceof Number))
return false;
}
return true;
}
}