/[xmltv_parser]/trunk/libxmltv/Core/PropertyList.cs
ViewVC logotype

Diff of /trunk/libxmltv/Core/PropertyList.cs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

--- trunk/libxmltv/Core/PropertyList.cs	2013/03/10 10:34:07	100
+++ trunk/libxmltv/Core/PropertyList.cs	2013/03/10 17:41:52	118
@@ -6,23 +6,25 @@
 
 namespace libxmltv.Core
 {
-    public class PropertyList : PropertyList<string, object>, IPropertyList 
+    [Serializable]
+    internal class PropertyList : PropertyList<string, object>, IPropertyList 
     {
         public PropertyList() :base() { }
-        public PropertyList(IEnumerable<PropertyValuePair<string, object>> collection) : base(collection) { }
+        public PropertyList(IEnumerable<IPropertyValuePair<string, object>> collection) : base(collection) { }
         public PropertyList(int capacity) : base(capacity) { }
     }
-    public class PropertyList<TKey, TValue> : IPropertyList<TKey, TValue>
+    [Serializable]
+    internal class PropertyList<TKey, TValue> : IPropertyList<TKey, TValue>
     {
-        private PropertyCollection<PropertyValuePair<TKey, TValue>> properties;
-        public PropertyList() { properties = new PropertyCollection<PropertyValuePair<TKey, TValue>>(); }
-        public PropertyList(IEnumerable<PropertyValuePair<TKey, TValue>> collection) : this() { foreach (var p in collection) { properties.AddProperty(p); } }
+        private PropertyCollection<IPropertyValuePair<TKey, TValue>> properties;
+        public PropertyList() { properties = new PropertyCollection<IPropertyValuePair<TKey, TValue>>(); }
+        public PropertyList(IEnumerable<IPropertyValuePair<TKey, TValue>> collection) : this() { foreach (var p in collection) { properties.AddProperty(p); } }
         public PropertyList(int capacity)
         {
-            properties = new PropertyCollection<PropertyValuePair<TKey, TValue>>();
+            properties = new PropertyCollection<IPropertyValuePair<TKey, TValue>>();
         }
-        public PropertyValuePair<TKey, TValue> this[int index] { get { return properties.ToList()[index]; } set { properties.ToList()[index] = value; } }
-        public IEnumerable<PropertyValuePair<TKey, TValue>> this[TKey name] 
+        public IPropertyValuePair<TKey, TValue> this[int index] { get { return properties.ToList()[index]; } set { properties.ToList()[index] = value; } }
+        public IEnumerable<IPropertyValuePair<TKey, TValue>> this[TKey name] 
         {
             get
             {
@@ -33,20 +35,16 @@
                 }
                 return list;
             }
-            //set
-            //{
-            //    var list = value;
-            //}
         }
-        public int IndexOfProperty(PropertyValuePair<TKey, TValue> item) { return properties.ToList().IndexOf(item); }
-        public void InsertPropertyAtIndex(int index, PropertyValuePair<TKey, TValue> item) { properties.ToList().Insert(index, item); }
+        public int IndexOfProperty(IPropertyValuePair<TKey, TValue> item) { return properties.ToList().IndexOf(item); }
+        public void InsertPropertyAtIndex(int index, IPropertyValuePair<TKey, TValue> item) { properties.ToList().Insert(index, item); }
         public void RemovePropertyAt(int index) { properties.RemoveProperty(this[index]); }
         public int PropertyCount { get { return properties.PropertyCount; } }
         public bool IsReadOnly
         {
             get
             {
-                IPropertyCollection<PropertyValuePair<TKey, TValue>> collection = (properties as IPropertyCollection<PropertyValuePair<TKey, TValue>>);
+                IPropertyCollection<IPropertyValuePair<TKey, TValue>> collection = (properties as IPropertyCollection<IPropertyValuePair<TKey, TValue>>);
                 if(collection == null)
                 {
                     throw new InvalidCastException(string.Format("Unable to cast: '{0}' to '{1}'", properties.GetType().Name, typeof(IPropertyCollection<PropertyValuePair<TKey, TValue>>).Name));
@@ -54,17 +52,22 @@
                 return collection.IsReadOnly;
             }
         }
-        public void AddProperty(PropertyValuePair<TKey, TValue> item) { properties.AddProperty(item); }
+        public void AddProperty(IPropertyValuePair<TKey, TValue> item) { properties.AddProperty(item); }
         public void ClearProperties() { properties.ClearProperties(); }
-        public bool ContainsProperty(PropertyValuePair<TKey, TValue> item) { return properties.Contains(item); }
-        public void CopyPropertiesTo(PropertyValuePair<TKey, TValue>[] array, int arrayIndex) { properties.CopyPropertiesTo(array, arrayIndex); }
-        public bool RemoveProperty(PropertyValuePair<TKey, TValue> item) { return properties.RemoveProperty(item); }
-        public IEnumerator<PropertyValuePair<TKey, TValue>> GetEnumerator() { return properties.GetEnumerator(); }
+        public bool ContainsProperty(IPropertyValuePair<TKey, TValue> item) { return properties.Contains(item); }
+        public void CopyPropertiesTo(IPropertyValuePair<TKey, TValue>[] array, int arrayIndex) { properties.CopyPropertiesTo(array, arrayIndex); }
+        public bool RemoveProperty(IPropertyValuePair<TKey, TValue> item) { return properties.RemoveProperty(item); }
+        public IEnumerator<IPropertyValuePair<TKey, TValue>> GetEnumerator() { return properties.GetEnumerator(); }
         System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { return this.GetEnumerator(); }
 
 
         public bool ContainsProperty(TKey name, TValue value) { return ContainsProperty(new PropertyValuePair<TKey, TValue>(name, value)); }
         public void AddProperty(TKey name, TValue value) { AddProperty(new PropertyValuePair<TKey, TValue>(name, value)); }
         public void RemoveProperty(TKey name, TValue value) { RemoveProperty(new PropertyValuePair<TKey, TValue>(name, value)); }
+
+        public override string ToString()
+        {
+            return string.Format("Property Count: {0}", PropertyCount);
+        }
     }
 }

 

  ViewVC Help
Powered by ViewVC 1.1.22