/// <summary> /// /// {</summary> /// <param name="parameterName"></param> /// <param name="evaluateVariable"></param> /// <returns></returns> protected string _GetParameter(PatchInstructionParameter.ParameterName parameterName, bool evaluateVariable) { bool requiredParameter = false; string returnedValue = null; try { // Parameter information ParameterInfo info = SupportedParameterInformation[parameterName]; requiredParameter = info.Required; // Retrieving parameter value... PatchInstructionParameter resultPip = _Parameters[parameterName.ToString()]; if (resultPip != null) { if (evaluateVariable) { returnedValue = PatchInstructionParameter.EvaluateParameter(resultPip.Value); } else { returnedValue = resultPip.Value; } } else if (requiredParameter) { throw new MissingParameterException(parameterName); } } catch (Exception ex) { Exception2.PrintStackTrace(ex); if (requiredParameter) { throw new MissingParameterException(parameterName, ex); } } return(returnedValue); }
/// <summary> /// Retrieves the parameter with given name. Enables mandatory parameters checks. /// </summary> /// <param name="parameterName">Name of parameter to get</param> /// <returns>The parameter, or null if this parameter does not exist</returns> /// <exception cref="MissingParameterException">If mandatory parameter is missing</exception> protected string _GetParameter(PatchInstructionParameter.ParameterName parameterName) { return(_GetParameter(parameterName, true)); }
/// <summary> /// Embedding constructor /// </summary> /// <param name="parameter">Missing parameter</param> /// <param name="innerException">Previous exception to embed into this container</param> public MissingParameterException(PatchInstructionParameter.ParameterName parameter, Exception innerException) : base(null, innerException) { _ParameterName = parameter.ToString(); }
/// <summary> /// Main constructor /// </summary> /// <param name="name">Name of the parameter</param> /// <param name="isRequired">true to indicate this parameter as mandatory, false else</param> internal ParameterInfo(PatchInstructionParameter.ParameterName name, bool isRequired) { _Name = name; _Required = isRequired; }
/// <summary> /// Standard constructor /// </summary> /// <param name="parameter">Missing parameter</param> public MissingParameterException(PatchInstructionParameter.ParameterName parameter) { _ParameterName = parameter.ToString(); }