package net.sf.openrocket.file.openrocket.importt;
import java.util.HashMap;
import net.sf.openrocket.aerodynamics.Warning;
import net.sf.openrocket.aerodynamics.WarningSet;
import net.sf.openrocket.rocketcomponent.RocketComponent;
import net.sf.openrocket.util.Reflection;
class OverrideSetter implements Setter {
private final Reflection.Method setMethod;
private final Reflection.Method enabledMethod;
public OverrideSetter(Reflection.Method set, Reflection.Method enabledMethod) {
this.setMethod = set;
this.enabledMethod = enabledMethod;
}
@Override
public void set(RocketComponent c, String s, HashMap<String, String> attributes,
WarningSet warnings) {
try {
double d = Double.parseDouble(s);
setMethod.invoke(c, d);
enabledMethod.invoke(c, true);
} catch (NumberFormatException e) {
warnings.add(Warning.FILE_INVALID_PARAMETER);
}
}
}