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
- ScriptDescriptor.cs
- SystemIPGlobalStatistics.cs
- StreamGeometry.cs
- UnsafeNativeMethods.cs
- DataSourceControl.cs
- AdvancedBindingEditor.cs
- ColumnMapVisitor.cs
- ValueUtilsSmi.cs
- ToolStripDropDownItem.cs
- FileDialogPermission.cs
- QuotedPrintableStream.cs
- SimpleWebHandlerParser.cs
- RelationshipDetailsRow.cs
- Asn1IntegerConverter.cs
- TaskFormBase.cs
- Msec.cs
- DependencyProperty.cs
- Buffer.cs
- messageonlyhwndwrapper.cs
- WsdlHelpGeneratorElement.cs
- DataRelationCollection.cs
- PolicyStatement.cs
- PrinterUnitConvert.cs
- StylusLogic.cs
- RegexNode.cs
- VisualBrush.cs
- AsyncStreamReader.cs
- CodeEntryPointMethod.cs
- PkcsMisc.cs
- PngBitmapEncoder.cs
- NavigateEvent.cs
- ChannelPoolSettings.cs
- DesignTimeParseData.cs
- XPathMultyIterator.cs
- InternalsVisibleToAttribute.cs
- BrowserCapabilitiesFactory.cs
- DataRow.cs
- InputLanguageManager.cs
- KeyTime.cs
- XmlSchemaInclude.cs
- SqlReferenceCollection.cs
- TableRow.cs
- MetaChildrenColumn.cs
- xmlsaver.cs
- PersistenceTask.cs
- HtmlMeta.cs
- GenericEnumConverter.cs
- ColorAnimationBase.cs
- DoubleCollectionValueSerializer.cs
- unsafeIndexingFilterStream.cs
- WindowsSolidBrush.cs
- ResourceWriter.cs
- SerialErrors.cs
- HtmlSelect.cs
- WmlSelectionListAdapter.cs
- DropDownButton.cs
- TypedRowGenerator.cs
- PrintController.cs
- ObjectDataSourceView.cs
- WebServiceData.cs
- Html32TextWriter.cs
- SqlWebEventProvider.cs
- FilterQueryOptionExpression.cs
- ThreadStartException.cs
- MetaChildrenColumn.cs
- RunInstallerAttribute.cs
- altserialization.cs
- SafeNativeMethods.cs
- StorageInfo.cs
- HtmlShimManager.cs
- ConfigurationManagerHelper.cs
- Size.cs
- CharEnumerator.cs
- CSharpCodeProvider.cs
- GenericWebPart.cs
- XDRSchema.cs
- WebPartPersonalization.cs
- RadioButtonStandardAdapter.cs
- ApplyImportsAction.cs
- CellLabel.cs
- BindingList.cs
- SqlUDTStorage.cs
- ContainerControlDesigner.cs
- QueryAsyncResult.cs
- TextEditorTables.cs
- MultiAsyncResult.cs
- AdvancedBindingEditor.cs
- SettingsProperty.cs
- UrlMapping.cs
- CharStorage.cs
- ImageCodecInfoPrivate.cs
- EncodingStreamWrapper.cs
- TextTreeInsertUndoUnit.cs
- ArgumentsParser.cs
- PassportIdentity.cs
- MorphHelper.cs
- BindableTemplateBuilder.cs
- MarshalByValueComponent.cs
- HtmlTernaryTree.cs
- ObjectComplexPropertyMapping.cs