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
- FileUpload.cs
- SemanticBasicElement.cs
- SplineKeyFrames.cs
- NegotiateStream.cs
- GeometryCollection.cs
- X509Certificate2.cs
- DBConnection.cs
- ExpressionBinding.cs
- InitializationEventAttribute.cs
- FontSourceCollection.cs
- StorageAssociationTypeMapping.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- ControlCodeDomSerializer.cs
- PreservationFileWriter.cs
- PartBasedPackageProperties.cs
- MemoryMappedView.cs
- PolicyDesigner.cs
- FontWeights.cs
- CharKeyFrameCollection.cs
- XsdCachingReader.cs
- AutoGeneratedFieldProperties.cs
- PriorityItem.cs
- RequestQueue.cs
- Message.cs
- XamlDebuggerXmlReader.cs
- LogEntryHeaderv1Deserializer.cs
- DataGridColumn.cs
- DebugView.cs
- HttpCookie.cs
- ControlPaint.cs
- PathSegmentCollection.cs
- RangeBaseAutomationPeer.cs
- ProcessHostMapPath.cs
- CacheModeValueSerializer.cs
- ObjectQueryState.cs
- RuntimeConfig.cs
- UserControl.cs
- EmptyQuery.cs
- StorageComplexPropertyMapping.cs
- XmlWriterTraceListener.cs
- PropertyManager.cs
- SqlConnectionStringBuilder.cs
- formatter.cs
- XmlSchemaException.cs
- UIElement3DAutomationPeer.cs
- ToolStripItemGlyph.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- ParameterCollection.cs
- TypeForwardedToAttribute.cs
- ControlLocalizer.cs
- TreeBuilder.cs
- HttpRawResponse.cs
- QueryOutputWriter.cs
- XmlWhitespace.cs
- Point4DConverter.cs
- AsymmetricKeyExchangeDeformatter.cs
- ChildChangedEventArgs.cs
- TextRangeAdaptor.cs
- SqlStream.cs
- WorkerRequest.cs
- SqlDataSourceStatusEventArgs.cs
- CommonRemoteMemoryBlock.cs
- ConfigurationSection.cs
- UidPropertyAttribute.cs
- SessionStateUtil.cs
- QilInvokeLateBound.cs
- SqlPersonalizationProvider.cs
- TagPrefixCollection.cs
- SQLMembershipProvider.cs
- SafeNativeMethods.cs
- WebPartMinimizeVerb.cs
- SoapSchemaMember.cs
- PowerStatus.cs
- Funcletizer.cs
- PrimitiveSchema.cs
- BindingMAnagerBase.cs
- TransactionCache.cs
- TextWriter.cs
- ProcessDesigner.cs
- ObjectDataSourceWizardForm.cs
- ConcurrentStack.cs
- AutoSizeToolBoxItem.cs
- TableLayoutPanelCellPosition.cs
- TransactionsSectionGroup.cs
- SeekStoryboard.cs
- CompilerCollection.cs
- ObjectViewListener.cs
- Config.cs
- HttpHandlerAction.cs
- ControlIdConverter.cs
- BStrWrapper.cs
- ColumnResizeAdorner.cs
- RegisteredExpandoAttribute.cs
- DragDrop.cs
- ExpressionQuoter.cs
- NativeRightsManagementAPIsStructures.cs
- HelpKeywordAttribute.cs
- TypeSchema.cs
- ControlPropertyNameConverter.cs
- InkCanvas.cs