Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / ndp / fx / src / DataEntity / System / Data / Metadata / MetadataArtifactLoaderComposite.cs / 3 / MetadataArtifactLoaderComposite.cs
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner [....]
//---------------------------------------------------------------------
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.
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner [....]
//---------------------------------------------------------------------
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
- AccessViolationException.cs
- RightsDocument.cs
- DbExpressionVisitor_TResultType.cs
- WindowsSolidBrush.cs
- SourceSwitch.cs
- AxHost.cs
- WeakHashtable.cs
- ScriptingScriptResourceHandlerSection.cs
- Exceptions.cs
- HttpHandlerAction.cs
- TextureBrush.cs
- Hashtable.cs
- ErrorWebPart.cs
- DateTimeOffsetAdapter.cs
- MatrixIndependentAnimationStorage.cs
- CLRBindingWorker.cs
- TraceEventCache.cs
- XmlEnumAttribute.cs
- TracingConnection.cs
- Membership.cs
- GestureRecognitionResult.cs
- URL.cs
- FileDialogCustomPlacesCollection.cs
- SemanticAnalyzer.cs
- SqlConnectionHelper.cs
- HuffModule.cs
- ClosableStream.cs
- _SSPIWrapper.cs
- TextTrailingCharacterEllipsis.cs
- BamlTreeMap.cs
- HotSpot.cs
- CompilerLocalReference.cs
- NonPrimarySelectionGlyph.cs
- RegexInterpreter.cs
- WebBrowsableAttribute.cs
- ExpressionBindings.cs
- SqlAliasesReferenced.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- Rfc4050KeyFormatter.cs
- InitializationEventAttribute.cs
- AspCompat.cs
- KerberosTicketHashIdentifierClause.cs
- PageRequestManager.cs
- TagMapCollection.cs
- ToolboxItem.cs
- ActivityCodeDomReferenceService.cs
- ServiceDescription.cs
- PrePrepareMethodAttribute.cs
- OleDbFactory.cs
- DynamicUpdateCommand.cs
- Expander.cs
- XmlHierarchicalDataSourceView.cs
- FloatUtil.cs
- ProxyHelper.cs
- PropertyPath.cs
- EditableTreeList.cs
- StyleXamlParser.cs
- WebPartVerbsEventArgs.cs
- RelatedPropertyManager.cs
- OneOfConst.cs
- handlecollector.cs
- StringExpressionSet.cs
- GC.cs
- SourceChangedEventArgs.cs
- SqlFormatter.cs
- SqlDesignerDataSourceView.cs
- DesigntimeLicenseContextSerializer.cs
- ImageField.cs
- HttpResponseWrapper.cs
- FileDialog_Vista_Interop.cs
- TextDecorationCollection.cs
- CodePrimitiveExpression.cs
- RTLAwareMessageBox.cs
- SecurityException.cs
- EllipticalNodeOperations.cs
- GridProviderWrapper.cs
- MsmqHostedTransportConfiguration.cs
- TextTreeText.cs
- DefaultPrintController.cs
- DelegateSerializationHolder.cs
- ProgressBarRenderer.cs
- __Filters.cs
- TextBoxRenderer.cs
- GcSettings.cs
- RectIndependentAnimationStorage.cs
- PropertyGridEditorPart.cs
- SafeMILHandle.cs
- WebRequestModulesSection.cs
- InstanceHandleConflictException.cs
- ToolboxDataAttribute.cs
- MarkupWriter.cs
- PeerNameResolver.cs
- SplitterPanel.cs
- ComplexBindingPropertiesAttribute.cs
- IResourceProvider.cs
- TaiwanLunisolarCalendar.cs
- AssemblyUtil.cs
- NotFiniteNumberException.cs
- TextDecorationCollection.cs
- AnnotationComponentManager.cs