Code:
/ 4.0 / 4.0 / untmp / 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(Listchildren) { 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 ListGetOriginalPaths() { 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 ListGetOriginalPaths(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 ListGetPaths(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 ListGetPaths() { 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 ListGetReaders(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 ListCreateReaders(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
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XmlSerializationWriter.cs
- Int16Storage.cs
- DefaultObjectSerializer.cs
- TextSchema.cs
- sqlser.cs
- BehaviorEditorPart.cs
- SerializationObjectManager.cs
- MDIWindowDialog.cs
- MinMaxParagraphWidth.cs
- Keywords.cs
- DataSourceXmlElementAttribute.cs
- DataObject.cs
- CustomErrorCollection.cs
- HtmlShim.cs
- Char.cs
- BlurBitmapEffect.cs
- SqlWriter.cs
- DtcInterfaces.cs
- MultiSelector.cs
- ObjectManager.cs
- HwndHost.cs
- MembershipValidatePasswordEventArgs.cs
- HMACRIPEMD160.cs
- EventBookmark.cs
- MultiByteCodec.cs
- PopupEventArgs.cs
- EditingMode.cs
- XmlDataSourceNodeDescriptor.cs
- PerfCounters.cs
- ConversionHelper.cs
- CommandEventArgs.cs
- CultureSpecificCharacterBufferRange.cs
- TypeResolver.cs
- TypeDelegator.cs
- WebReference.cs
- DbConnectionPoolGroupProviderInfo.cs
- DefaultBindingPropertyAttribute.cs
- WindowsContainer.cs
- ICspAsymmetricAlgorithm.cs
- PackageController.cs
- TextEffectResolver.cs
- Stack.cs
- StringAnimationBase.cs
- SystemColors.cs
- UdpAnnouncementEndpoint.cs
- BinHexDecoder.cs
- PackUriHelper.cs
- ConditionalWeakTable.cs
- ResourceWriter.cs
- FixedTextView.cs
- ClientBuildManagerTypeDescriptionProviderBridge.cs
- Point4D.cs
- RetrieveVirtualItemEventArgs.cs
- UmAlQuraCalendar.cs
- IdentityVerifier.cs
- WsdlParser.cs
- SecureEnvironment.cs
- XmlParserContext.cs
- ResourceProviderFactory.cs
- ObjectDataSourceStatusEventArgs.cs
- ConfigurationCollectionAttribute.cs
- ConnectionOrientedTransportChannelFactory.cs
- XmlCodeExporter.cs
- TypedReference.cs
- ProcessInfo.cs
- TemplateField.cs
- EntityViewGenerationAttribute.cs
- ECDiffieHellmanCng.cs
- RayMeshGeometry3DHitTestResult.cs
- XmlLanguage.cs
- OleDbPropertySetGuid.cs
- LexicalChunk.cs
- TabControlCancelEvent.cs
- PersianCalendar.cs
- DynamicRendererThreadManager.cs
- InputGestureCollection.cs
- DataViewManagerListItemTypeDescriptor.cs
- Timeline.cs
- Html32TextWriter.cs
- XmlDocument.cs
- AutomationAttributeInfo.cs
- RelatedImageListAttribute.cs
- PassportAuthenticationEventArgs.cs
- MenuItemAutomationPeer.cs
- BlobPersonalizationState.cs
- BasicCellRelation.cs
- RankException.cs
- ApplicationSecurityInfo.cs
- TextTabProperties.cs
- CompositeActivityTypeDescriptor.cs
- CompModSwitches.cs
- RemoteWebConfigurationHost.cs
- XmlAttributeOverrides.cs
- mda.cs
- StubHelpers.cs
- SpotLight.cs
- X509Chain.cs
- Closure.cs
- OutputCacheProfileCollection.cs
- DeflateEmulationStream.cs