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
- DebugView.cs
- DriveInfo.cs
- TemplateComponentConnector.cs
- HostedHttpContext.cs
- TypeUsageBuilder.cs
- RootBuilder.cs
- WrapPanel.cs
- DoubleLinkListEnumerator.cs
- ProofTokenCryptoHandle.cs
- RequestSecurityToken.cs
- DataGridViewRow.cs
- SafeUserTokenHandle.cs
- AspNetHostingPermission.cs
- QilVisitor.cs
- ConstraintStruct.cs
- SafeEventHandle.cs
- FileLevelControlBuilderAttribute.cs
- SettingsSavedEventArgs.cs
- TraceContextEventArgs.cs
- ProfileGroupSettings.cs
- MarkupCompilePass2.cs
- ConstraintStruct.cs
- RegexCompiler.cs
- ClassImporter.cs
- LinkLabel.cs
- DataKey.cs
- XmlDataCollection.cs
- NumberFunctions.cs
- Compensation.cs
- AnnotationAuthorChangedEventArgs.cs
- SByteStorage.cs
- HtmlControl.cs
- GenericTypeParameterConverter.cs
- MetabaseServerConfig.cs
- XsltLoader.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- RsaKeyIdentifierClause.cs
- EntityKeyElement.cs
- XmlParserContext.cs
- ArcSegment.cs
- ConnectionManagementElementCollection.cs
- ConfigXmlDocument.cs
- CqlGenerator.cs
- ContextStaticAttribute.cs
- FixedSOMElement.cs
- TcpConnectionPoolSettingsElement.cs
- MatrixAnimationBase.cs
- TransactionContext.cs
- ObservableCollection.cs
- CallbackTimeoutsElement.cs
- WindowsSlider.cs
- SmiEventSink.cs
- MsmqTransportSecurity.cs
- ConstructorArgumentAttribute.cs
- ContentPlaceHolder.cs
- VBIdentifierDesigner.xaml.cs
- SvcMapFileLoader.cs
- WebPartActionVerb.cs
- AlternationConverter.cs
- ImageField.cs
- LabelExpression.cs
- DataGridBeginningEditEventArgs.cs
- DbConnectionPool.cs
- WindowsMenu.cs
- IInstanceTable.cs
- SoapAttributeAttribute.cs
- IxmlLineInfo.cs
- DeferredBinaryDeserializerExtension.cs
- WebPartTransformerAttribute.cs
- PowerStatus.cs
- D3DImage.cs
- CDSCollectionETWBCLProvider.cs
- KnownTypeAttribute.cs
- _SslStream.cs
- InstanceContextMode.cs
- DispatcherExceptionEventArgs.cs
- DeclaredTypeElement.cs
- MultiDataTrigger.cs
- MaterialCollection.cs
- HtmlListAdapter.cs
- ListComponentEditorPage.cs
- MetadataItem.cs
- BitmapPalettes.cs
- ListenerConnectionModeReader.cs
- TemplateControlCodeDomTreeGenerator.cs
- Signature.cs
- EventLogEntryCollection.cs
- Item.cs
- DrawingContextWalker.cs
- ReferencedType.cs
- LineVisual.cs
- ApplicationSecurityManager.cs
- TdsParser.cs
- FrameworkContentElement.cs
- MgmtConfigurationRecord.cs
- CodeBinaryOperatorExpression.cs
- PropertyMetadata.cs
- ConditionalBranch.cs
- MetadataCache.cs
- CodeAttributeDeclarationCollection.cs