@Override public void initialize(ParameterValueAssignment configuration) { final String paramType = configuration.getParameter().getType(); final DynamicValueAssignment dva = (DynamicValueAssignment) configuration; final Map<String, String> params = dva.getConfiguration(); parameterType = SupportedTypes.get(paramType); if (parameterType == null) { throw new IllegalArgumentException( "The given parameter value assignment is not supported by " + this.getClass().getSimpleName() + "."); } final LMVState dState = new LMVState(); dState.min = Double.valueOf(params.get(PARAM_MIN)); dState.max = Double.valueOf(params.get(PARAM_MAX)); dState.step = Double.valueOf(params.get(PARAM_STEP)); state = dState; if (state.step == 0) { state.size = 1; } else { state.size = (int) (1 + Math.floor((state.max - state.min) / state.step)); } dynamicValueAssignment = dva; }
@Override public boolean canVary(ParameterValueAssignment configuration) { final SupportedTypes paramType = SupportedTypes.get(configuration.getParameter().getType()); final boolean typeCheck = (paramType != null) && (paramType == SupportedTypes.Double || paramType == SupportedTypes.Integer); return (configuration instanceof DynamicValueAssignment) && typeCheck; }