FunctionParameter.java
- /**
- * Copyright (c) 2014 European Organisation for Nuclear Research (CERN), All Rights Reserved.
- */
- package cern.accsoft.steering.jmad.kernel.cmd.param;
- /**
- * Gives the possibility to assign a function (by function name) with given function value like tgauss(1.2) or ranf(); <br>
- * <br>
- * NOTE: function value of null results into no values such that: {@literal tgauss(null) -> tgauss();}
- *
- * @author agorzaws
- */
- public class FunctionParameter extends AbstractParameter {
- private String name;
- private String functionName;
- private Double value;
- private Double functionValue;
- /**
- * @param name name of the parameter
- * @param functionName name of the function
- * @param value value of the parameter
- * @param functionValue value of the function (<b>null</b> if none)
- */
- public FunctionParameter(String name, String functionName, Double value, Double functionValue) {
- super();
- this.name = name;
- this.functionName = functionName;
- this.functionValue = functionValue;
- this.value = value;
- }
- @Override
- public String compose() {
- if (value != null) {
- String functionCall = functionName + "(" + (functionValue == null ? "" : functionValue.doubleValue()) + ")";
- return name + ":=" + functionCall + "*" + value;
- }
- return "";
- }
- @Override
- public boolean isSet() {
- return (value != null);
- }
- }