/** * Create a new parameter. * @param modelelement The model element. * @param name The name. */ public RParameter(MParameter modelelement, String name, IInternalAccess agent, UnparsedExpression inival, String pename) { super(modelelement, agent); this.name = name!=null? name: modelelement.getName(); this.publisher = new EventPublisher(agent, ChangeEvent.VALUECHANGED+"."+pename+"."+getName(), (MParameter)getModelElement()); if(modelelement!=null && modelelement.getEvaluationMode()==EvaluationMode.PULL) { this.inival = inival; } setValue(evaluateValue(inival)); }
/** * Get the value of a parameter. * @return The value. */ public Object getValue() { return ((MParameter)getModelElement()).getEvaluationMode()==EvaluationMode.PULL ? evaluateValue(inival) : value; }
/** * Update the dynamic value for push or update rate implementation. */ public void updateDynamicValue() { internalSetValue(evaluateValue(inival)); }