static
public FieldValue performInvalidValueTreatment(Field<?> field, MiningField miningField, Object value){
InvalidValueTreatmentMethod invalidValueTreatmentMethod = miningField.getInvalidValueTreatment();
String invalidValueReplacement = miningField.getInvalidValueReplacement();
switch(invalidValueTreatmentMethod){
case AS_IS:
break;
case AS_MISSING:
case RETURN_INVALID:
if(invalidValueReplacement != null){
throw new MisplacedAttributeException(miningField, PMMLAttributes.MININGFIELD_INVALIDVALUEREPLACEMENT, invalidValueReplacement);
}
break;
default:
throw new UnsupportedAttributeException(miningField, invalidValueTreatmentMethod);
}
switch(invalidValueTreatmentMethod){
case RETURN_INVALID:
throw new InvalidResultException("Field " + PMMLException.formatKey(field.getName()) + " cannot accept user input value " + PMMLException.formatValue(value), miningField);
case AS_IS:
if(invalidValueReplacement != null){
return createInputValue(field, miningField, invalidValueReplacement);
}
return createInputValue(field, miningField, value);
case AS_MISSING:
return createMissingInputValue(field, miningField);
default:
throw new UnsupportedAttributeException(miningField, invalidValueTreatmentMethod);
}
}