Go to the documentation of this file.00001 using System;
00002 using System.Collections.Generic;
00003
00004 namespace N2.Collections
00005 {
00010 public class DuplicateFilter : ItemFilter
00011 {
00012 #region Private Fields
00013 private Dictionary<int, bool> existing = new Dictionary<int, bool>();
00014 #endregion
00015
00016 #region Public Methods
00017 public override bool Match(N2.ContentItem item)
00018 {
00019 if (existing.ContainsKey(item.ID))
00020 return false;
00021
00022 existing.Add(item.ID, true);
00023 return true;
00024 }
00025
00026 public void Clear()
00027 {
00028 existing.Clear();
00029 }
00030 #endregion
00031
00034 public static void FilterDuplicates(IList<ContentItem> items)
00035 {
00036 ItemFilter.Filter(items, new DuplicateFilter());
00037 }
00038
00039 #region IDisposable Members
00040
00041 public override void Dispose()
00042 {
00043 Clear();
00044 }
00045
00046 #endregion
00047 }
00048 }