MetadataArtifactLoaderComposite.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Metadata / MetadataArtifactLoaderComposite.cs / 1305376 / MetadataArtifactLoaderComposite.cs

                            //---------------------------------------------------------------------- 
// 
//      Copyright (c) Microsoft Corporation.  All rights reserved.
// 
// 
// @owner       [....]
// @backupOwner [....] 
//--------------------------------------------------------------------- 

using System.Collections.Generic; 
using System.Collections;
using System.Diagnostics;
using System.Globalization;
using System.Reflection; 
using System.Text;
using System.Xml; 
using System.Data.Mapping; 
using System.IO;
using System.Security; 
using System.Security.Permissions;
using System.Collections.ObjectModel;

 
namespace System.Data.Metadata.Edm
{ 
    ///  
    /// This class represents a super-collection (a collection of collections)
    /// of artifact resources. Typically, this "meta-collection" would contain 
    /// artifacts represented as individual files, directories (which are in
    /// turn collections of files), and embedded resources.
    /// 
    /// This is the root class for access to all loader objects. 
    internal class MetadataArtifactLoaderComposite : MetadataArtifactLoader, IEnumerable
    { 
        ///  
        /// The list of loaders aggregated by the composite.
        ///  
        private readonly ReadOnlyCollection _children;

        /// 
        /// Constructor - loads all resources into the _children collection 
        /// 
        /// A list of collections to aggregate 
        public MetadataArtifactLoaderComposite(List children) 
        {
            Debug.Assert(children != null); 
            _children = new List(children).AsReadOnly();
        }

        public override string Path 
        {
            get { return string.Empty; } 
        } 

        public override void CollectFilePermissionPaths(List paths, DataSpace spaceToGet) 
        {
            foreach (MetadataArtifactLoader loader in _children)
            {
                loader.CollectFilePermissionPaths(paths, spaceToGet); 
            }
        } 
 
        public override bool IsComposite
        { 
            get
            {
                return true;
            } 
        }
 
        ///  
        /// Get the list of paths to all artifacts in the original, unexpanded form
        ///  
        /// A List of strings identifying paths to all resources
        public override List GetOriginalPaths()
        {
            List list = new List(); 

            foreach (MetadataArtifactLoader loader in _children) 
            { 
                list.AddRange(loader.GetOriginalPaths());
            } 

            return list;
        }
 
        /// 
        /// Get paths to artifacts for a specific DataSpace, in the original, unexpanded 
        /// form 
        /// 
        /// The DataSpace for the artifacts of interest 
        /// A List of strings identifying paths to all artifacts for a specific DataSpace
        public override List GetOriginalPaths(DataSpace spaceToGet)
        {
            List list = new List(); 

            foreach (MetadataArtifactLoader loader in _children) 
            { 
                list.AddRange(loader.GetOriginalPaths(spaceToGet));
            } 

            return list;
        }
 
        /// 
        /// Get paths to artifacts for a specific DataSpace. 
        ///  
        /// The DataSpace for the artifacts of interest
        /// A List of strings identifying paths to all artifacts for a specific DataSpace 
        public override List GetPaths(DataSpace spaceToGet)
        {
            List list = new List();
 
            foreach (MetadataArtifactLoader loader in _children)
            { 
                list.AddRange(loader.GetPaths(spaceToGet)); 
            }
 
            return list;
        }

        ///  
        /// Get paths to all artifacts
        ///  
        /// A List of strings identifying paths to all resources 
        public override List GetPaths()
        { 
            List list = new List();

            foreach (MetadataArtifactLoader resource in _children)
            { 
                list.AddRange(resource.GetPaths());
            } 
 
            return list;
        } 

        /// 
        /// Aggregates all resource streams from the _children collection
        ///  
        /// A List of XmlReader objects; cannot be null
        public override List GetReaders(Dictionary sourceDictionary) 
        { 
            List list = new List();
 
            foreach (MetadataArtifactLoader resource in _children)
            {
                list.AddRange(resource.GetReaders(sourceDictionary));
            } 

            return list; 
        } 

        ///  
        /// Get XmlReaders for a specific DataSpace.
        /// 
        /// The DataSpace corresponding to the requested artifacts
        /// A List of XmlReader objects 
        public override List CreateReaders(DataSpace spaceToGet)
        { 
            List list = new List(); 

            foreach (MetadataArtifactLoader resource in _children) 
            {
                list.AddRange(resource.CreateReaders(spaceToGet));
            }
 
            return list;
        } 
 
        #region IEnumerable Members
 
        public IEnumerator GetEnumerator()
        {
            return this._children.GetEnumerator();
        } 

        #endregion 
 
        #region IEnumerable Members
 
        IEnumerator IEnumerable.GetEnumerator()
        {
            return this._children.GetEnumerator();
        } 

        #endregion 
    } 
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//---------------------------------------------------------------------- 
// 
//      Copyright (c) Microsoft Corporation.  All rights reserved.
// 
// 
// @owner       [....]
// @backupOwner [....] 
//--------------------------------------------------------------------- 

using System.Collections.Generic; 
using System.Collections;
using System.Diagnostics;
using System.Globalization;
using System.Reflection; 
using System.Text;
using System.Xml; 
using System.Data.Mapping; 
using System.IO;
using System.Security; 
using System.Security.Permissions;
using System.Collections.ObjectModel;

 
namespace System.Data.Metadata.Edm
{ 
    ///  
    /// This class represents a super-collection (a collection of collections)
    /// of artifact resources. Typically, this "meta-collection" would contain 
    /// artifacts represented as individual files, directories (which are in
    /// turn collections of files), and embedded resources.
    /// 
    /// This is the root class for access to all loader objects. 
    internal class MetadataArtifactLoaderComposite : MetadataArtifactLoader, IEnumerable
    { 
        ///  
        /// The list of loaders aggregated by the composite.
        ///  
        private readonly ReadOnlyCollection _children;

        /// 
        /// Constructor - loads all resources into the _children collection 
        /// 
        /// A list of collections to aggregate 
        public MetadataArtifactLoaderComposite(List children) 
        {
            Debug.Assert(children != null); 
            _children = new List(children).AsReadOnly();
        }

        public override string Path 
        {
            get { return string.Empty; } 
        } 

        public override void CollectFilePermissionPaths(List paths, DataSpace spaceToGet) 
        {
            foreach (MetadataArtifactLoader loader in _children)
            {
                loader.CollectFilePermissionPaths(paths, spaceToGet); 
            }
        } 
 
        public override bool IsComposite
        { 
            get
            {
                return true;
            } 
        }
 
        ///  
        /// Get the list of paths to all artifacts in the original, unexpanded form
        ///  
        /// A List of strings identifying paths to all resources
        public override List GetOriginalPaths()
        {
            List list = new List(); 

            foreach (MetadataArtifactLoader loader in _children) 
            { 
                list.AddRange(loader.GetOriginalPaths());
            } 

            return list;
        }
 
        /// 
        /// Get paths to artifacts for a specific DataSpace, in the original, unexpanded 
        /// form 
        /// 
        /// The DataSpace for the artifacts of interest 
        /// A List of strings identifying paths to all artifacts for a specific DataSpace
        public override List GetOriginalPaths(DataSpace spaceToGet)
        {
            List list = new List(); 

            foreach (MetadataArtifactLoader loader in _children) 
            { 
                list.AddRange(loader.GetOriginalPaths(spaceToGet));
            } 

            return list;
        }
 
        /// 
        /// Get paths to artifacts for a specific DataSpace. 
        ///  
        /// The DataSpace for the artifacts of interest
        /// A List of strings identifying paths to all artifacts for a specific DataSpace 
        public override List GetPaths(DataSpace spaceToGet)
        {
            List list = new List();
 
            foreach (MetadataArtifactLoader loader in _children)
            { 
                list.AddRange(loader.GetPaths(spaceToGet)); 
            }
 
            return list;
        }

        ///  
        /// Get paths to all artifacts
        ///  
        /// A List of strings identifying paths to all resources 
        public override List GetPaths()
        { 
            List list = new List();

            foreach (MetadataArtifactLoader resource in _children)
            { 
                list.AddRange(resource.GetPaths());
            } 
 
            return list;
        } 

        /// 
        /// Aggregates all resource streams from the _children collection
        ///  
        /// A List of XmlReader objects; cannot be null
        public override List GetReaders(Dictionary sourceDictionary) 
        { 
            List list = new List();
 
            foreach (MetadataArtifactLoader resource in _children)
            {
                list.AddRange(resource.GetReaders(sourceDictionary));
            } 

            return list; 
        } 

        ///  
        /// Get XmlReaders for a specific DataSpace.
        /// 
        /// The DataSpace corresponding to the requested artifacts
        /// A List of XmlReader objects 
        public override List CreateReaders(DataSpace spaceToGet)
        { 
            List list = new List(); 

            foreach (MetadataArtifactLoader resource in _children) 
            {
                list.AddRange(resource.CreateReaders(spaceToGet));
            }
 
            return list;
        } 
 
        #region IEnumerable Members
 
        public IEnumerator GetEnumerator()
        {
            return this._children.GetEnumerator();
        } 

        #endregion 
 
        #region IEnumerable Members
 
        IEnumerator IEnumerable.GetEnumerator()
        {
            return this._children.GetEnumerator();
        } 

        #endregion 
    } 
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK