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
- DataViewListener.cs
- InitializerFacet.cs
- ReflectionTypeLoadException.cs
- NativeWindow.cs
- DomainConstraint.cs
- XmlCharCheckingReader.cs
- NonClientArea.cs
- ToolStripContentPanelRenderEventArgs.cs
- ToolStripPanelCell.cs
- ArgumentNullException.cs
- SqlDataReaderSmi.cs
- SignatureHelper.cs
- SqlMetaData.cs
- StructuredCompositeActivityDesigner.cs
- XsdValidatingReader.cs
- SqlGenerator.cs
- DropTarget.cs
- UnicodeEncoding.cs
- BamlLocalizationDictionary.cs
- InkCanvasInnerCanvas.cs
- EmbeddedMailObjectsCollection.cs
- ExpiredSecurityTokenException.cs
- ListMarkerSourceInfo.cs
- SQLStringStorage.cs
- UrlPropertyAttribute.cs
- NTAccount.cs
- TextEditorThreadLocalStore.cs
- DynamicResourceExtensionConverter.cs
- FileDialogCustomPlace.cs
- ListItemCollection.cs
- HttpModulesSection.cs
- ExpressionBindingCollection.cs
- securitycriticaldata.cs
- ContentElement.cs
- SmiMetaDataProperty.cs
- SecurityHelper.cs
- OperatorExpressions.cs
- ConnectionStringsExpressionBuilder.cs
- SymLanguageVendor.cs
- ClockGroup.cs
- NativeMethods.cs
- IndexingContentUnit.cs
- MapPathBasedVirtualPathProvider.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- mongolianshape.cs
- DbDataAdapter.cs
- InstanceDataCollectionCollection.cs
- PersistenceContextEnlistment.cs
- ContextMenuService.cs
- COM2IProvidePropertyBuilderHandler.cs
- RMPublishingDialog.cs
- EditorZoneBase.cs
- ArgumentNullException.cs
- WsatAdminException.cs
- TypeTypeConverter.cs
- MissingManifestResourceException.cs
- RoleGroup.cs
- DocumentSequenceHighlightLayer.cs
- AppDomainFactory.cs
- Clause.cs
- ExpressionUtilities.cs
- StretchValidation.cs
- SystemFonts.cs
- ArrayElementGridEntry.cs
- MLangCodePageEncoding.cs
- ToolStripRendererSwitcher.cs
- GenerateTemporaryTargetAssembly.cs
- OwnerDrawPropertyBag.cs
- HttpClientCertificate.cs
- WebPartConnectionsCloseVerb.cs
- Vars.cs
- SegmentInfo.cs
- InputScopeConverter.cs
- InstrumentationTracker.cs
- GenericPrincipal.cs
- Configuration.cs
- MarkupObject.cs
- StatusBarDesigner.cs
- HtmlInputCheckBox.cs
- DataBoundLiteralControl.cs
- SqlProviderManifest.cs
- TreeIterator.cs
- QueryParameter.cs
- ToolStripRenderEventArgs.cs
- SimpleHandlerFactory.cs
- AsyncPostBackErrorEventArgs.cs
- controlskin.cs
- Rule.cs
- CategoryGridEntry.cs
- Debugger.cs
- DataContract.cs
- ValidatorUtils.cs
- PackageProperties.cs
- Camera.cs
- WebHeaderCollection.cs
- LambdaCompiler.Expressions.cs
- CatalogZoneAutoFormat.cs
- ScriptingJsonSerializationSection.cs
- EventLogPermissionEntryCollection.cs
- ListenerSessionConnection.cs