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
- OdbcErrorCollection.cs
- TreeNodeConverter.cs
- HttpInputStream.cs
- TextServicesCompartmentContext.cs
- ApplicationInfo.cs
- Condition.cs
- SubpageParaClient.cs
- UInt32.cs
- HttpRuntime.cs
- WorkflowService.cs
- GridViewRowPresenter.cs
- DynamicValueConverter.cs
- ServiceHostingEnvironment.cs
- Exception.cs
- smtpconnection.cs
- StorageComplexPropertyMapping.cs
- XmlSerializerFactory.cs
- Helpers.cs
- PointAnimationBase.cs
- XPathSelectionIterator.cs
- SafeRegistryHandle.cs
- HandlerFactoryCache.cs
- ImageMapEventArgs.cs
- ToolStripDesignerAvailabilityAttribute.cs
- RadioButton.cs
- ProfileInfo.cs
- XmlSerializerFactory.cs
- PersonalizationStateQuery.cs
- PathData.cs
- Clipboard.cs
- Thickness.cs
- ObjectMemberMapping.cs
- Token.cs
- CompatibleComparer.cs
- FunctionQuery.cs
- GPPOINTF.cs
- TemplateField.cs
- ReadOnlyCollection.cs
- WebPartZoneCollection.cs
- XmlnsPrefixAttribute.cs
- diagnosticsswitches.cs
- AppSettingsReader.cs
- ValidationException.cs
- XmlSerializationReader.cs
- ToolstripProfessionalRenderer.cs
- SQLInt16.cs
- SoapIncludeAttribute.cs
- PrintControllerWithStatusDialog.cs
- ExecutionEngineException.cs
- BufferedGraphicsContext.cs
- KernelTypeValidation.cs
- ResourcePermissionBase.cs
- NavigationWindow.cs
- sqlser.cs
- ModelPerspective.cs
- ScalarType.cs
- RectangleF.cs
- InkCanvas.cs
- ContourSegment.cs
- CodeTypeOfExpression.cs
- ListViewDeletedEventArgs.cs
- LicenseManager.cs
- BaseDataListPage.cs
- UserPrincipalNameElement.cs
- NegotiateStream.cs
- MatrixUtil.cs
- ClientTargetSection.cs
- WindowsFormsSynchronizationContext.cs
- SerialPinChanges.cs
- SecurityDescriptor.cs
- PasswordPropertyTextAttribute.cs
- KeySpline.cs
- userdatakeys.cs
- NameScopePropertyAttribute.cs
- GradientStop.cs
- DefaultCommandConverter.cs
- XmlAttributeCollection.cs
- FamilyCollection.cs
- LabelAutomationPeer.cs
- HwndSource.cs
- XmlSchemaAnnotation.cs
- TokenCreationParameter.cs
- DCSafeHandle.cs
- Transactions.cs
- SecurityRuntime.cs
- DbParameterHelper.cs
- TrackBar.cs
- SecurityHeaderLayout.cs
- SqlClientPermission.cs
- StrokeCollection.cs
- UrlPath.cs
- SourceFileInfo.cs
- WindowsFormsHostAutomationPeer.cs
- MimeImporter.cs
- HttpResponseBase.cs
- RequestBringIntoViewEventArgs.cs
- _emptywebproxy.cs
- ItemsChangedEventArgs.cs
- BooleanProjectedSlot.cs
- PipelineModuleStepContainer.cs