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
- DataConnectionHelper.cs
- MailBnfHelper.cs
- HeaderedContentControl.cs
- SerializerProvider.cs
- ConstNode.cs
- DataGridAddNewRow.cs
- GridViewCancelEditEventArgs.cs
- LockedAssemblyCache.cs
- DataRowChangeEvent.cs
- ConfigurationElement.cs
- BoolExpression.cs
- TabControlAutomationPeer.cs
- DataColumnMapping.cs
- ArgumentOutOfRangeException.cs
- XmlSerializationReader.cs
- ProcessInfo.cs
- LineServices.cs
- PathSegmentCollection.cs
- XPathDocument.cs
- GridItemPattern.cs
- ExpandableObjectConverter.cs
- COM2ComponentEditor.cs
- Helper.cs
- TablePatternIdentifiers.cs
- ToolStripSeparator.cs
- TagPrefixInfo.cs
- XomlCompilerParameters.cs
- TableProviderWrapper.cs
- SmtpSection.cs
- SystemIPv4InterfaceProperties.cs
- DataServiceConfiguration.cs
- CredentialSelector.cs
- LayoutDump.cs
- ExtendedProtectionPolicy.cs
- CustomSignedXml.cs
- GeneralTransform3DCollection.cs
- ReadOnlyDictionary.cs
- CuspData.cs
- ValueConversionAttribute.cs
- ZipIOExtraFieldElement.cs
- RNGCryptoServiceProvider.cs
- QueryOutputWriter.cs
- Evidence.cs
- ObjectAnimationUsingKeyFrames.cs
- XPathPatternBuilder.cs
- WpfXamlLoader.cs
- AspNetSynchronizationContext.cs
- Decoder.cs
- XsdValidatingReader.cs
- TableLayoutRowStyleCollection.cs
- WebServiceResponse.cs
- TdsParserHelperClasses.cs
- UnsafeNativeMethods.cs
- CodeDelegateInvokeExpression.cs
- arc.cs
- WindowsListViewGroup.cs
- CollectionContainer.cs
- ISAPIWorkerRequest.cs
- Cloud.cs
- DesignerVerbToolStripMenuItem.cs
- EventDescriptorCollection.cs
- DoubleCollectionConverter.cs
- DataGridViewColumn.cs
- SafeFindHandle.cs
- AuthenticationException.cs
- WebPartManagerInternals.cs
- Literal.cs
- PointCollectionValueSerializer.cs
- BufferedGraphicsContext.cs
- IRCollection.cs
- StrongNamePublicKeyBlob.cs
- IdentifierService.cs
- ProcessHostFactoryHelper.cs
- GraphicsPathIterator.cs
- ButtonColumn.cs
- SspiHelper.cs
- XslNumber.cs
- NumberFormatInfo.cs
- EventMappingSettingsCollection.cs
- XmlBoundElement.cs
- RequestCachePolicyConverter.cs
- ResourceExpressionBuilder.cs
- MediaContext.cs
- StdValidatorsAndConverters.cs
- EventTrigger.cs
- FrameworkReadOnlyPropertyMetadata.cs
- SiteMembershipCondition.cs
- MissingMethodException.cs
- PtsCache.cs
- XmlTextReaderImplHelpers.cs
- CalendarData.cs
- WorkflowLayouts.cs
- XmlException.cs
- SoapAttributeOverrides.cs
- SQLDecimal.cs
- XhtmlBasicTextViewAdapter.cs
- SmtpReplyReaderFactory.cs
- HostExecutionContextManager.cs
- ConsoleKeyInfo.cs
- WebBaseEventKeyComparer.cs