Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/28/10 05:19:03 (14 years ago)
Author:
swagner
Message:

Operator architecture refactoring (#95)

  • finished implemented ideas which came up during yesterday's presentation of HeuristicLab.Core and related plugins
Location:
trunk/sources/HeuristicLab.Data/3.3
Files:
6 added
15 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Data/3.3/BoolArrayData.cs

    r2677 r2694  
    5757    }
    5858
    59     bool IStringConvertibleMatrixData.Validate(string value) {
    60       int i;
    61       return int.TryParse(value, out i);
     59    bool IStringConvertibleMatrixData.Validate(string value, out string errorMessage) {
     60      bool val;
     61      bool valid = bool.TryParse(value, out val);
     62      errorMessage = string.Empty;
     63      if (!valid) {
     64        StringBuilder sb = new StringBuilder();
     65        sb.Append("Invalid Value (Valid Value Format: \"");
     66        sb.Append(FormatPatterns.GetBoolFormatPattern());
     67        sb.Append("\")");
     68        errorMessage = sb.ToString();
     69      }
     70      return valid;
    6271    }
    6372    string IStringConvertibleMatrixData.GetValue(int rowIndex, int columIndex) {
     
    6574    }
    6675    bool IStringConvertibleMatrixData.SetValue(string value, int rowIndex, int columnIndex) {
    67       bool b;
    68       if (bool.TryParse(value, out b)) {
    69         this[rowIndex] = b;
     76      bool val;
     77      if (bool.TryParse(value, out val)) {
     78        this[rowIndex] = val;
    7079        return true;
    7180      } else {
  • trunk/sources/HeuristicLab.Data/3.3/BoolData.cs

    r2684 r2694  
    4242
    4343    #region IStringConvertibleData Members
    44     bool IStringConvertibleData.Validate(string value) {
    45       bool b;
    46       return bool.TryParse(value, out b);
     44    bool IStringConvertibleData.Validate(string value, out string errorMessage) {
     45      bool val;
     46      bool valid = bool.TryParse(value, out val);
     47      errorMessage = string.Empty;
     48      if (!valid) {
     49        StringBuilder sb = new StringBuilder();
     50        sb.Append("Invalid Value (Valid Value Format: \"");
     51        sb.Append(FormatPatterns.GetBoolFormatPattern());
     52        sb.Append("\")");
     53        errorMessage = sb.ToString();
     54      }
     55      return valid;
    4756    }
    4857    string IStringConvertibleData.GetValue() {
     
    5059    }
    5160    bool IStringConvertibleData.SetValue(string value) {
    52       bool b;
    53       if (bool.TryParse(value, out b)) {
    54         Value = b;
     61      bool val;
     62      if (bool.TryParse(value, out val)) {
     63        Value = val;
    5564        return true;
    5665      } else {
  • trunk/sources/HeuristicLab.Data/3.3/DateTimeData.cs

    r2684 r2694  
    2222using System;
    2323using System.Collections.Generic;
     24using System.Globalization;
    2425using System.Text;
    2526using System.Xml;
     
    4647
    4748    #region IStringConvertibleData Members
    48     bool IStringConvertibleData.Validate(string value) {
    49       DateTime d;
    50       return DateTime.TryParse(value, out d);
     49    bool IStringConvertibleData.Validate(string value, out string errorMessage) {
     50      DateTime val;
     51      bool valid = DateTime.TryParse(value, out val);
     52      errorMessage = valid ? string.Empty : "Invalid Value (values must be formatted according to the current culture settings)";
     53      return valid;
    5154    }
    5255    string IStringConvertibleData.GetValue() {
     
    5457    }
    5558    bool IStringConvertibleData.SetValue(string value) {
    56       DateTime d;
    57       if (DateTime.TryParse(value, out d)) {
    58         Value = d;
     59      DateTime val;
     60      if (DateTime.TryParse(value, out val)) {
     61        Value = val;
    5962        return true;
    6063      } else {
  • trunk/sources/HeuristicLab.Data/3.3/DoubleData.cs

    r2684 r2694  
    4646
    4747    #region IStringConvertibleData Members
    48     bool IStringConvertibleData.Validate(string value) {
    49       double d;
    50       return double.TryParse(value, out d);
     48    bool IStringConvertibleData.Validate(string value, out string errorMessage) {
     49      double val;
     50      bool valid = double.TryParse(value, out val);
     51      errorMessage = string.Empty;
     52      if (!valid) {
     53        StringBuilder sb = new StringBuilder();
     54        sb.Append("Invalid Value (Valid Value Format: \"");
     55        sb.Append(FormatPatterns.GetDoubleFormatPattern());
     56        sb.Append("\")");
     57        errorMessage = sb.ToString();
     58      }
     59      return valid;
    5160    }
    5261    string IStringConvertibleData.GetValue() {
     
    5463    }
    5564    bool IStringConvertibleData.SetValue(string value) {
    56       double d;
    57       if (double.TryParse(value, out d)) {
    58         Value = d;
     65      double val;
     66      if (double.TryParse(value, out val)) {
     67        Value = val;
    5968        return true;
    6069      } else {
  • trunk/sources/HeuristicLab.Data/3.3/HeuristicLab.Data-3.3.csproj

    r2677 r2694  
    104104    </Compile>
    105105    <Compile Include="BoolArrayData.cs" />
     106    <Compile Include="BoolMatrixData.cs" />
     107    <Compile Include="StringMatrixData.cs" />
     108    <Compile Include="StringArrayData.cs" />
     109    <Compile Include="FormatPatterns.cs" />
     110    <Compile Include="DoubleArrayData.cs" />
     111    <Compile Include="DoubleMatrixData.cs" />
    106112    <Compile Include="IntMatrixData.cs" />
    107113    <Compile Include="ValueTypeMatrixData.cs" />
  • trunk/sources/HeuristicLab.Data/3.3/IStringConvertibleData.cs

    r2676 r2694  
    2828namespace HeuristicLab.Data {
    2929  public interface IStringConvertibleData {
    30     bool Validate(string value);
     30    bool Validate(string value, out string errorMessage);
    3131    string GetValue();
    3232    bool SetValue(string value);
  • trunk/sources/HeuristicLab.Data/3.3/IStringConvertibleMatrixData.cs

    r2677 r2694  
    3333    int Columns { get; set; }
    3434
    35     bool Validate(string value);
     35    bool Validate(string value, out string errorMessage);
    3636    string GetValue(int rowIndex, int columnIndex);
    3737    bool SetValue(string value, int rowIndex, int columnIndex);
  • trunk/sources/HeuristicLab.Data/3.3/IntArrayData.cs

    r2677 r2694  
    5757    }
    5858
    59     bool IStringConvertibleMatrixData.Validate(string value) {
    60       int i;
    61       return int.TryParse(value, out i);
     59    bool IStringConvertibleMatrixData.Validate(string value, out string errorMessage) {
     60      int val;
     61      bool valid = int.TryParse(value, out val);
     62      errorMessage = string.Empty;
     63      if (!valid) {
     64        StringBuilder sb = new StringBuilder();
     65        sb.Append("Invalid Value (Valid Value Format: \"");
     66        sb.Append(FormatPatterns.GetIntFormatPattern());
     67        sb.Append("\")");
     68        errorMessage = sb.ToString();
     69      }
     70      return valid;
    6271    }
    6372    string IStringConvertibleMatrixData.GetValue(int rowIndex, int columIndex) {
     
    6574    }
    6675    bool IStringConvertibleMatrixData.SetValue(string value, int rowIndex, int columnIndex) {
    67       int i;
    68       if (int.TryParse(value, out i)) {
    69         this[rowIndex] = i;
     76      int val;
     77      if (int.TryParse(value, out val)) {
     78        this[rowIndex] = val;
    7079        return true;
    7180      } else {
  • trunk/sources/HeuristicLab.Data/3.3/IntData.cs

    r2684 r2694  
    4242
    4343    #region IStringConvertibleData Members
    44     bool IStringConvertibleData.Validate(string value) {
    45       int i;
    46       return int.TryParse(value, out i);
     44    bool IStringConvertibleData.Validate(string value, out string errorMessage) {
     45      int val;
     46      bool valid = int.TryParse(value, out val);
     47      errorMessage = string.Empty;
     48      if (!valid) {
     49        StringBuilder sb = new StringBuilder();
     50        sb.Append("Invalid Value (Valid Value Format: \"");
     51        sb.Append(FormatPatterns.GetIntFormatPattern());
     52        sb.Append("\")");
     53        errorMessage = sb.ToString();
     54      }
     55      return valid;
    4756    }
    4857    string IStringConvertibleData.GetValue() {
     
    5059    }
    5160    bool IStringConvertibleData.SetValue(string value) {
    52       int i;
    53       if (int.TryParse(value, out i)) {
    54         Value = i;
     61      int val;
     62      if (int.TryParse(value, out val)) {
     63        Value = val;
    5564        return true;
    5665      } else {
  • trunk/sources/HeuristicLab.Data/3.3/IntMatrixData.cs

    r2677 r2694  
    5757    }
    5858
    59     bool IStringConvertibleMatrixData.Validate(string value) {
    60       int i;
    61       return int.TryParse(value, out i);
     59    bool IStringConvertibleMatrixData.Validate(string value, out string errorMessage) {
     60      int val;
     61      bool valid = int.TryParse(value, out val);
     62      errorMessage = string.Empty;
     63      if (!valid) {
     64        StringBuilder sb = new StringBuilder();
     65        sb.Append("Invalid Value (Valid Value Format: \"");
     66        sb.Append(FormatPatterns.GetIntFormatPattern());
     67        sb.Append("\")");
     68        errorMessage = sb.ToString();
     69      }
     70      return valid;
    6271    }
    6372    string IStringConvertibleMatrixData.GetValue(int rowIndex, int columIndex) {
     
    6574    }
    6675    bool IStringConvertibleMatrixData.SetValue(string value, int rowIndex, int columnIndex) {
    67       int i;
    68       if (int.TryParse(value, out i)) {
    69         this[rowIndex, columnIndex] = i;
     76      int val;
     77      if (int.TryParse(value, out val)) {
     78        this[rowIndex, columnIndex] = val;
    7079        return true;
    7180      } else {
  • trunk/sources/HeuristicLab.Data/3.3/StringData.cs

    r2684 r2694  
    6464
    6565    #region IStringConvertibleData Members
    66     bool IStringConvertibleData.Validate(string value) {
    67       return true;
     66    bool IStringConvertibleData.Validate(string value, out string errorMessage) {
     67      if (value == null) {
     68        errorMessage = "Invalid Value (string must not be null)";
     69        return false;
     70      } else {
     71        errorMessage = string.Empty;
     72        return true;
     73      }
    6874    }
    6975    string IStringConvertibleData.GetValue() {
     
    7177    }
    7278    bool IStringConvertibleData.SetValue(string value) {
    73       Value = value != null ? value : string.Empty;
    74       return true;
     79      if (value != null) {
     80        Value = value;
     81        return true;
     82      } else {
     83        return false;
     84      }
    7585    }
    7686    #endregion
  • trunk/sources/HeuristicLab.Data/3.3/TimeSpanData.cs

    r2684 r2694  
    4242
    4343    #region IStringConvertibleData Members
    44     bool IStringConvertibleData.Validate(string value) {
    45       TimeSpan t;
    46       return TimeSpan.TryParse(value, out t);
     44    bool IStringConvertibleData.Validate(string value, out string errorMessage) {
     45      TimeSpan val;
     46      bool valid = TimeSpan.TryParse(value, out val);
     47      errorMessage = string.Empty;
     48      if (!valid) {
     49        StringBuilder sb = new StringBuilder();
     50        sb.Append("Invalid Value (Valid Value Format: \"");
     51        sb.Append(FormatPatterns.GetTimeSpanFormatPattern());
     52        sb.Append("\")");
     53        errorMessage = sb.ToString();
     54      }
     55      return valid;
    4756    }
    4857    string IStringConvertibleData.GetValue() {
     
    5059    }
    5160    bool IStringConvertibleData.SetValue(string value) {
    52       TimeSpan t;
    53       if (TimeSpan.TryParse(value, out t)) {
    54         Value = t;
     61      TimeSpan val;
     62      if (TimeSpan.TryParse(value, out val)) {
     63        Value = val;
    5564        return true;
    5665      } else {
  • trunk/sources/HeuristicLab.Data/3.3/ValueTypeArrayData.cs

    r2677 r2694  
    3232  [Item("ValueTypeArrayData<T>", "A base class for representing arrays of value types.")]
    3333  public class ValueTypeArrayData<T> : Item, IEnumerable where T : struct {
     34    [Storable]
    3435    private T[] array;
    3536
  • trunk/sources/HeuristicLab.Data/3.3/ValueTypeData.cs

    r2669 r2694  
    3131  public class ValueTypeData<T> : Item where T : struct {
    3232    [Storable]
    33     protected T value;
     33    private T value;
    3434    public T Value {
    3535      get { return value; }
  • trunk/sources/HeuristicLab.Data/3.3/ValueTypeMatrixData.cs

    r2677 r2694  
    3232  [Item("ValueTypeMatrixData<T>", "A base class for representing matrices of value types.")]
    3333  public class ValueTypeMatrixData<T> : Item, IEnumerable where T : struct {
     34    [Storable]
    3435    private T[,] array;
    3536
Note: See TracChangeset for help on using the changeset viewer.