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(List children)
{
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 List GetOriginalPaths()
{
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 List GetOriginalPaths(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 List GetPaths(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 List GetPaths()
{
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 List GetReaders(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 List CreateReaders(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
- SqlServer2KCompatibilityCheck.cs
- FormViewRow.cs
- MenuItemCollection.cs
- DesignerRegionCollection.cs
- C14NUtil.cs
- DbMetaDataCollectionNames.cs
- ParamArrayAttribute.cs
- OverrideMode.cs
- CompositeFontParser.cs
- CodeAttributeDeclarationCollection.cs
- X509Chain.cs
- CustomErrorCollection.cs
- SynchronizationHandlesCodeDomSerializer.cs
- RegionInfo.cs
- dataprotectionpermission.cs
- SectionVisual.cs
- ClientUtils.cs
- EntityCollection.cs
- DataTableMapping.cs
- SqlInternalConnectionSmi.cs
- ProxyManager.cs
- DataGridRowsPresenter.cs
- TraceSwitch.cs
- InvalidProgramException.cs
- OperationContextScope.cs
- CodeExporter.cs
- GridViewRowPresenter.cs
- ReflectPropertyDescriptor.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- CalendarBlackoutDatesCollection.cs
- FixedPageStructure.cs
- DynamicResourceExtension.cs
- NameGenerator.cs
- SafeFreeMibTable.cs
- Rect3DConverter.cs
- FormsIdentity.cs
- EntityDataSourceDataSelectionPanel.designer.cs
- TypeToken.cs
- SerializerProvider.cs
- SystemFonts.cs
- LineServicesCallbacks.cs
- UserControlBuildProvider.cs
- ValueOfAction.cs
- MissingMethodException.cs
- ColumnResizeUndoUnit.cs
- WebContext.cs
- SizeAnimation.cs
- CompensationDesigner.cs
- OSEnvironmentHelper.cs
- CompiledIdentityConstraint.cs
- XomlSerializationHelpers.cs
- DynamicFilterExpression.cs
- RunClient.cs
- ServiceDurableInstanceContextProvider.cs
- MbpInfo.cs
- PageCache.cs
- StringAttributeCollection.cs
- StorageEndPropertyMapping.cs
- DaylightTime.cs
- CmsInterop.cs
- Size3D.cs
- COSERVERINFO.cs
- Int64Storage.cs
- ObjectQueryExecutionPlan.cs
- ApplicationHost.cs
- XhtmlBasicControlAdapter.cs
- datacache.cs
- PeerApplication.cs
- CngKeyBlobFormat.cs
- HttpSessionStateWrapper.cs
- KnownTypeHelper.cs
- HttpFileCollection.cs
- TextBoxAutomationPeer.cs
- Message.cs
- Console.cs
- ImageConverter.cs
- HotSpotCollection.cs
- RSAPKCS1SignatureFormatter.cs
- ListBox.cs
- XamlValidatingReader.cs
- StringCollectionMarkupSerializer.cs
- SiteMapDataSource.cs
- CommandConverter.cs
- SqlUtil.cs
- XmlILOptimizerVisitor.cs
- DesignerForm.cs
- WinEventHandler.cs
- VerificationAttribute.cs
- DataControlFieldCell.cs
- SuppressMergeCheckAttribute.cs
- UserInitiatedRoutedEventPermission.cs
- FormsAuthenticationUserCollection.cs
- DbProviderManifest.cs
- DateTimeStorage.cs
- SslStreamSecurityUpgradeProvider.cs
- DependencyPropertyKind.cs
- XmlDsigSep2000.cs
- PlainXmlSerializer.cs
- ContentFilePart.cs
- RectAnimation.cs