2010-05-05 Marek Habersack <mhabersack@novell.com>
[mono.git] / mcs / class / System.Web / System.Web / SiteMapNodeCollection.cs
index 13b1536666b10338d0d6d130046853dc72f51de0..12ffbce0e532e26f8f5ca7dae7f847358ab32f8c 100644 (file)
@@ -6,7 +6,7 @@
 //     Lluis Sanchez Gual (lluis@novell.com)
 //
 //  (C) 2003 Ben Maurer
-//  (C) 2005 Novell, Inc (http://www.novell.com)
+//  (C) 2005-2009 Novell, Inc (http://www.novell.com)
 //
 
 //
@@ -30,7 +30,6 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
-#if NET_2_0
 using System.Collections;
 using System.Collections.Specialized;
 using System.Text;
@@ -42,7 +41,16 @@ namespace System.Web
        public class SiteMapNodeCollection : IList, IHierarchicalEnumerable
        {
                ArrayList list;
+#if TARGET_JVM
+               const string _siteMapNodeCollection_EmptyList = "SiteMapNodeCollection.EmptyList";
+               internal static SiteMapNodeCollection EmptyList
+               {
+                       get { return (SiteMapNodeCollection) AppDomain.CurrentDomain.GetData (_siteMapNodeCollection_EmptyList); }
+                       set { AppDomain.CurrentDomain.SetData (_siteMapNodeCollection_EmptyList, value); }
+               }
+#else
                internal static SiteMapNodeCollection EmptyList;
+#endif
                
                static SiteMapNodeCollection ()
                {
@@ -205,7 +213,9 @@ namespace System.Web
                public virtual bool IsReadOnly {
                        get { return list != null && list.IsReadOnly; }
                }
-               
+
+               #region IList Members
+
                object IList.this [int index] {
                        get { return List [index]; }
                        set { OnValidate (value); List [index] = value; }
@@ -243,7 +253,58 @@ namespace System.Web
                {
                        List.CopyTo (array, index);
                }
+
+               void IList.Clear () {
+                       Clear ();
+               }
+
+               bool IList.IsFixedSize {
+                       get { return IsFixedSize; }
+               }
+
+               bool IList.IsReadOnly {
+                       get { return IsReadOnly; }
+               }
+
+               void IList.RemoveAt (int index) {
+                       RemoveAt (index);
+               }
+
+               #endregion
+
+               #region ICollection Members
+
+
+               int ICollection.Count {
+                       get { return Count; }
+               }
+
+               bool ICollection.IsSynchronized {
+                       get { return IsSynchronized; }
+               }
+
+               object ICollection.SyncRoot {
+                       get { return SyncRoot; }
+               }
+
+               #endregion
+
+               #region IEnumerable Members
+
+               IEnumerator IEnumerable.GetEnumerator () {
+                       return GetEnumerator ();
+               }
+
+               #endregion
+
+               #region IHierarchicalEnumerable Members
+
+               IHierarchyData IHierarchicalEnumerable.GetHierarchyData (object enumeratedItem) {
+                       return GetHierarchyData (enumeratedItem);
+               }
+
+               #endregion
        }
 }
-#endif
+