XPathChangeNavigator.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. //
  2. // XPathChangeNavigator.cs
  3. //
  4. // Author:
  5. // Atsushi Enomoto <[email protected]>
  6. //
  7. // (C)2004 Novell Inc.
  8. //
  9. #if NET_2_0
  10. using System;
  11. using System.Collections;
  12. namespace System.Xml.XPath
  13. {
  14. public abstract class XPathChangeNavigator
  15. : XPathNavigator, IXPathChangeNavigable
  16. {
  17. protected XPathChangeNavigator ()
  18. {
  19. }
  20. // Properties
  21. public abstract XmlNodeChangeType NodeChangeType { get; }
  22. public abstract object OriginalTypedValue { get; }
  23. public abstract string OriginalValue { get; }
  24. // Methods
  25. public virtual void AcceptChange ()
  26. {
  27. AcceptChange (XmlChangeFilters.AllChanges);
  28. }
  29. public abstract void AcceptChange (XmlChangeFilters filters);
  30. public virtual void AcceptChangesOnSubtree ()
  31. {
  32. AcceptChangesOnSubtree (XmlChangeFilters.AllChanges);
  33. }
  34. [MonoTODO]
  35. public virtual void AcceptChangesOnSubtree (XmlChangeFilters filters)
  36. {
  37. throw new NotImplementedException ();
  38. }
  39. public virtual XPathChangeNavigator CreateChangeNavigator ()
  40. {
  41. return (XPathChangeNavigator) Clone ();
  42. }
  43. public virtual void RejectChange ()
  44. {
  45. RejectChange (XmlChangeFilters.AllChanges);
  46. }
  47. public abstract void RejectChange (XmlChangeFilters filters);
  48. public virtual XPathNodeIterator SelectChanges ()
  49. {
  50. return SelectChanges (XmlChangeFilters.AllChanges);
  51. }
  52. public abstract XPathNodeIterator SelectChanges (XmlChangeFilters changeTypes);
  53. }
  54. }
  55. #endif