Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/27/09 18:36:06 (15 years ago)
Author:
epitzer
Message:

Persistence fixes: Honor Storable.Name property, add more formatters and decomposers needed for HL integration. (#603)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Persistence/3.3/Default/Xml/Primitive/String2XmlFormatter.cs

    r1659 r1679  
    55using System.Text.RegularExpressions;
    66using HeuristicLab.Persistence.Default.Decomposers.Storable;
     7using System.Globalization;
    78
    89
    910namespace HeuristicLab.Persistence.Default.Xml.Primitive {
     11
     12  [EmptyStorableClass]
     13  public class TimeSpan2XmlFormatter : PrimitiveXmlFormatterBase<TimeSpan> {
     14
     15    public override XmlString Format(TimeSpan o) {
     16      return new XmlString(o.ToString());
     17    }
     18
     19    public override TimeSpan Parse(XmlString t) {
     20      try {
     21        return TimeSpan.Parse(t.Data);
     22      } catch (FormatException x) {
     23        throw new PersistenceException("Cannot parse TimeSpan string representation.", x);
     24      } catch (OverflowException x) {
     25        throw new PersistenceException("Overflow during TimeSpan parsing.", x);
     26      }
     27    }
     28  }
     29
     30  [EmptyStorableClass]
     31  public class Guid2XmlFormatter : PrimitiveXmlFormatterBase<Guid> {
     32
     33    public override XmlString Format(Guid o) {
     34      return new XmlString(o.ToString("D", CultureInfo.InvariantCulture));
     35    }
     36
     37    public override Guid Parse(XmlString t) {
     38      try {
     39        return new Guid(t.Data);
     40      } catch (FormatException x) {
     41        throw new PersistenceException("Cannot parse Guid string representation.", x);
     42      } catch (OverflowException x) {
     43        throw new PersistenceException("Overflow during Guid parsing.", x);
     44      }
     45    }
     46  }
    1047
    1148  [EmptyStorableClass]
Note: See TracChangeset for help on using the changeset viewer.