@Override public Object put(KEY key, Object value) { if (value != null) { if (!key.getFieldType().isInstance(value)) { throw new IllegalArgumentException( "Can not set Parameters Property '" + key.getFieldName() + "' because of type mismatch. The required type is " + key.getFieldType()); } if (value instanceof Number && !key.checkRange((Number) value)) { throw new IllegalArgumentException( "Can not set Parameters Property '" + key.getFieldName() + "' because of value '" + value + "' not in range. Range[" + key.getMin() + "-" + key.getMax() + "]"); } } return super.put(key, value); }
private void buildParamStr(StringBuilder spatialInfo, KEY key) { Object value = getParameterByKey(key); if (value instanceof int[]) { value = ArrayUtils.intArrayToString(value); } spatialInfo.append("\t\t").append(key.getFieldName()).append(":").append(value).append("\n"); }
static { for (KEY key : KEY.values()) { fieldMap.put(key.getFieldName(), key); } }