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
- ObjectRef.cs
- HorizontalAlignConverter.cs
- InternalConfigEventArgs.cs
- SudsWriter.cs
- FacetEnabledSchemaElement.cs
- SizeChangedEventArgs.cs
- UnescapedXmlDiagnosticData.cs
- EventDescriptor.cs
- ApplicationServicesHostFactory.cs
- NCryptSafeHandles.cs
- PasswordRecovery.cs
- GB18030Encoding.cs
- RootProfilePropertySettingsCollection.cs
- ObjectContext.cs
- AutomationIdentifierGuids.cs
- SqlDataSourceQueryConverter.cs
- ViewSimplifier.cs
- TypeBuilder.cs
- XamlDesignerSerializationManager.cs
- XmlBufferReader.cs
- FontCacheLogic.cs
- InputScope.cs
- HtmlElementEventArgs.cs
- AlignmentYValidation.cs
- PeerDefaultCustomResolverClient.cs
- safelinkcollection.cs
- ReachSerializer.cs
- Stackframe.cs
- StagingAreaInputItem.cs
- FixedSOMGroup.cs
- InteropAutomationProvider.cs
- EdmProviderManifest.cs
- ReaderOutput.cs
- OracleNumber.cs
- QilTernary.cs
- FolderLevelBuildProvider.cs
- ReflectionHelper.cs
- Point3DValueSerializer.cs
- OdbcCommandBuilder.cs
- MarkupObject.cs
- XPathExpr.cs
- UnsupportedPolicyOptionsException.cs
- DefaultSection.cs
- SevenBitStream.cs
- HelpEvent.cs
- COM2PropertyBuilderUITypeEditor.cs
- ListControl.cs
- Label.cs
- AssemblyInfo.cs
- GlyphRunDrawing.cs
- ContractUtils.cs
- EmptyQuery.cs
- HttpCapabilitiesEvaluator.cs
- OdbcPermission.cs
- HostedElements.cs
- ControlType.cs
- XmlArrayItemAttribute.cs
- DuplexClientBase.cs
- WindowsSecurityToken.cs
- RepeatInfo.cs
- CollectionViewGroupRoot.cs
- WebPartZoneBaseDesigner.cs
- Compiler.cs
- QueryCreatedEventArgs.cs
- CheckBox.cs
- UnionCodeGroup.cs
- HtmlTableCell.cs
- HttpServerVarsCollection.cs
- DataObjectSettingDataEventArgs.cs
- XmlProcessingInstruction.cs
- SessionEndedEventArgs.cs
- HTMLTextWriter.cs
- KeyConverter.cs
- HttpValueCollection.cs
- CroppedBitmap.cs
- CodeAccessSecurityEngine.cs
- StatusBarPanel.cs
- WizardPanel.cs
- DbParameterHelper.cs
- DataGridViewCellEventArgs.cs
- XmlBufferReader.cs
- DesignerSelectionListAdapter.cs
- UniqueTransportManagerRegistration.cs
- HierarchicalDataBoundControl.cs
- webproxy.cs
- XmlObjectSerializerReadContextComplex.cs
- QilFactory.cs
- TypefaceMetricsCache.cs
- RefreshEventArgs.cs
- SystemIPv6InterfaceProperties.cs
- CommunicationObject.cs
- WebPartDescription.cs
- OleDbCommandBuilder.cs
- DesignerCommandSet.cs
- XPathNodeIterator.cs
- CompiledRegexRunner.cs
- StrongNameUtility.cs
- _SslSessionsCache.cs
- AnnotationResourceCollection.cs
- HwndSource.cs