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
- IPAddressCollection.cs
- SspiSafeHandles.cs
- GZipDecoder.cs
- ListViewItemCollectionEditor.cs
- HtmlTableRow.cs
- CodeMemberMethod.cs
- EventLogPermission.cs
- ActivityExecutorDelegateInfo.cs
- BinaryUtilClasses.cs
- DesignerUtils.cs
- GridViewCancelEditEventArgs.cs
- ColorBlend.cs
- DataSvcMapFile.cs
- SizeAnimationBase.cs
- GenericPrincipal.cs
- Point4DValueSerializer.cs
- WinFormsSecurity.cs
- WindowsRichEdit.cs
- ViewKeyConstraint.cs
- externdll.cs
- ReadOnlyNameValueCollection.cs
- Unit.cs
- ApplicationSecurityInfo.cs
- WindowsFormsLinkLabel.cs
- PinnedBufferMemoryStream.cs
- RichTextBoxContextMenu.cs
- OleAutBinder.cs
- ExtensionFile.cs
- TriggerCollection.cs
- GroupBox.cs
- SearchForVirtualItemEventArgs.cs
- BindableTemplateBuilder.cs
- SingleResultAttribute.cs
- XmlReflectionMember.cs
- ObfuscationAttribute.cs
- ComponentEvent.cs
- MenuItemBinding.cs
- PrintControllerWithStatusDialog.cs
- TabControlToolboxItem.cs
- ImagingCache.cs
- BitmapFrameDecode.cs
- CodePageEncoding.cs
- AppLevelCompilationSectionCache.cs
- LinqDataSourceHelper.cs
- TreeViewItemAutomationPeer.cs
- EmptyStringExpandableObjectConverter.cs
- FrameworkElementAutomationPeer.cs
- NavigationWindow.cs
- CodeTypeDelegate.cs
- MailMessage.cs
- EmptyReadOnlyDictionaryInternal.cs
- AutomationProperties.cs
- PageDeviceFont.cs
- OutOfMemoryException.cs
- BookmarkManager.cs
- TextParaLineResult.cs
- XmlLoader.cs
- HotSpotCollection.cs
- Type.cs
- HitTestParameters.cs
- ToolStripSeparator.cs
- CallbackValidator.cs
- HostSecurityManager.cs
- ReplacementText.cs
- WebConfigurationHost.cs
- AliasedSlot.cs
- PropertyMappingExceptionEventArgs.cs
- HTTP_SERVICE_CONFIG_URLACL_KEY.cs
- GlobalProxySelection.cs
- x509utils.cs
- DeviceSpecificDesigner.cs
- SecurityTokenProvider.cs
- ListViewAutomationPeer.cs
- HelpInfo.cs
- RequestUriProcessor.cs
- JournalEntryListConverter.cs
- SelectionGlyph.cs
- DecimalAnimationBase.cs
- CollectionViewProxy.cs
- ZipPackagePart.cs
- ToolStripContainerDesigner.cs
- DependencyObject.cs
- Image.cs
- HandleCollector.cs
- CodeNamespaceImport.cs
- EmptyCollection.cs
- Interlocked.cs
- TabControlEvent.cs
- PropertyMetadata.cs
- ASCIIEncoding.cs
- Message.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- FixedPage.cs
- TextBoxAutoCompleteSourceConverter.cs
- XmlUTF8TextReader.cs
- KeysConverter.cs
- DataTemplateSelector.cs
- ApplicationSecurityInfo.cs
- CallInfo.cs
- TextParagraphView.cs