/// <summary> /// Prova ad ottenere il contesto di elaborazione relativo alla classe specificata. Restituisce true /// se tale classe esiste e quindi è possibile eseguire il task, oppure false se non esiste e quindi /// non è possibile eseguire task. /// </summary> /// <param name="className">nome completo della classe da utilizzare per l'elaborazione del task</param> /// <param name="classVersion">versione della classe da utilizzare per l'elaborazione del task</param> /// <param name="context"> /// Quando termina, questo metodo restituisce il contesto di elaborazione associato alla classe specificata /// nel caso in cui la classe venga trovata; in caso contrario restituisce il contesto predefinito, che non /// esegue alcuna elaborazione. /// </param> /// <returns>true, se esiste il contesto cercato per l'elaborazione, altrimenti false</returns> public bool TryGetContext(string className, string classVersion, out TaskPerformerContext context) { if (className != null && classVersion != null) { string classId = GetClassIdentifier(className, classVersion); if (classId.Length > 0 && m_TaskPerformers.TryGetValue(classId, out context)) { return(true); } } context = m_NoneTaskPerformerContext; return(false); }
/// <summary> /// Aggiunge l'istanza specificata di ITaskPerformer a questo provider, restituendo true /// se l'operazione viene completata con successo, oppure false se in questo provider ne /// è già presente una avente stesso nome e stessa versione, o se quella specificata non /// è valida. Per poter essere considerata valida, l'istanza specificata non deve essere /// null e deve contenere un nome e una versione che non siano vuoti. /// </summary> /// <param name="classInstance">istanza di ITaskPerformer da aggiungere</param> /// <returns>true, se l'istanza è stata aggiunta al provider, false altrimenti</returns> public bool Add(ITaskPerformer classInstance) { bool isValidClass = true; isValidClass = isValidClass && classInstance != null; isValidClass = isValidClass && !string.IsNullOrEmpty(classInstance.Name); isValidClass = isValidClass && !string.IsNullOrEmpty(classInstance.Version); if (isValidClass) { String classId = GetClassIdentifier(classInstance.Name, classInstance.Version); if (!m_TaskPerformers.ContainsKey(classId)) { TaskPerformerContext context = new TaskPerformerContext(classInstance); m_TaskPerformers.Add(classId, context); return true; } } return false; }
/// <summary> /// Aggiunge l'istanza specificata di ITaskPerformer a questo provider, restituendo true /// se l'operazione viene completata con successo, oppure false se in questo provider ne /// è già presente una avente stesso nome e stessa versione, o se quella specificata non /// è valida. Per poter essere considerata valida, l'istanza specificata non deve essere /// null e deve contenere un nome e una versione che non siano vuoti. /// </summary> /// <param name="classInstance">istanza di ITaskPerformer da aggiungere</param> /// <returns>true, se l'istanza è stata aggiunta al provider, false altrimenti</returns> public bool Add(ITaskPerformer classInstance) { bool isValidClass = true; isValidClass = isValidClass && classInstance != null; isValidClass = isValidClass && !string.IsNullOrEmpty(classInstance.Name); isValidClass = isValidClass && !string.IsNullOrEmpty(classInstance.Version); if (isValidClass) { String classId = GetClassIdentifier(classInstance.Name, classInstance.Version); if (!m_TaskPerformers.ContainsKey(classId)) { TaskPerformerContext context = new TaskPerformerContext(classInstance); m_TaskPerformers.Add(classId, context); return(true); } } return(false); }
/// <summary> /// Inizializza un nuovo oggetto della classe TaskPerformerContextManager vuoto. /// </summary> public TaskPerformerContextManager() { m_TaskPerformers = new Dictionary<String, TaskPerformerContext>(); m_NoneTaskPerformerContext = new TaskPerformerContext(new NoneTaskPerformer()); }
/// <summary> /// Prova ad ottenere il contesto di elaborazione relativo alla classe specificata. Restituisce true /// se tale classe esiste e quindi è possibile eseguire il task, oppure false se non esiste e quindi /// non è possibile eseguire task. /// </summary> /// <param name="className">nome completo della classe da utilizzare per l'elaborazione del task</param> /// <param name="classVersion">versione della classe da utilizzare per l'elaborazione del task</param> /// <param name="context"> /// Quando termina, questo metodo restituisce il contesto di elaborazione associato alla classe specificata /// nel caso in cui la classe venga trovata; in caso contrario restituisce il contesto predefinito, che non /// esegue alcuna elaborazione. /// </param> /// <returns>true, se esiste il contesto cercato per l'elaborazione, altrimenti false</returns> public bool TryGetContext(string className, string classVersion, out TaskPerformerContext context) { if (className != null && classVersion != null) { string classId = GetClassIdentifier(className, classVersion); if (classId.Length > 0 && m_TaskPerformers.TryGetValue(classId, out context)) { return true; } } context = m_NoneTaskPerformerContext; return false; }
/// <summary> /// Inizializza un nuovo oggetto della classe TaskPerformerContextManager vuoto. /// </summary> public TaskPerformerContextManager() { m_TaskPerformers = new Dictionary <String, TaskPerformerContext>(); m_NoneTaskPerformerContext = new TaskPerformerContext(new NoneTaskPerformer()); }