Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / ndp / fx / src / DataEntity / System / Data / Metadata / MetadataArtifactLoaderFile.cs / 2 / MetadataArtifactLoaderFile.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.Security.Cryptography; using System.Data.EntityModel.SchemaObjectModel; using System.Threading; namespace System.Data.Metadata.Edm { ////// This class represents one file-based artifact item to be loaded. /// internal class MetadataArtifactLoaderFile : MetadataArtifactLoader, IComparable { ////// This member indicates whether the file-based artifact has already been loaded. /// It is used to prevent other instances of this class from (re)loading the same /// artifact. See comment in the MetadataArtifactLoaderFile c'tor below. /// private readonly bool _alreadyLoaded = false; private readonly string _path; ////// Constructor /// /// The path to the resource to load /// The global registry of URIs public MetadataArtifactLoaderFile(string path, ICollectionuriRegistry) { _path = path; _alreadyLoaded = uriRegistry.Contains(_path); if (!_alreadyLoaded) { uriRegistry.Add(_path); // '_alreadyLoaded' is not set because while we would like to prevent // other instances of MetadataArtifactLoaderFile that wrap the same // _path from being added to the list of paths/readers, we do want to // include this particular instance. } } public override string Path { get { return _path; } } /// /// Implementation of IComparable.CompareTo() /// /// The object to compare to ///0 if the loaders are "equal" (i.e., have the same _path value) public int CompareTo(object obj) { MetadataArtifactLoaderFile loader = obj as MetadataArtifactLoaderFile; if (loader != null) { return string.Compare(_path, loader._path, StringComparison.OrdinalIgnoreCase); } Debug.Assert(false, "object is not a MetadataArtifactLoaderFile"); return -1; } ////// Equals() returns true if the objects have the same _path value /// /// The object to compare to ///true if the objects have the same _path value public override bool Equals(object obj) { return this.CompareTo(obj) == 0; } ////// GetHashCode override that defers the result to the _path member variable. /// ///public override int GetHashCode() { return _path.GetHashCode(); } public override void CollectFilePermissionPaths(List paths, DataSpace spaceToGet) { if (!_alreadyLoaded && MetadataArtifactLoader.IsArtifactOfDataSpace(_path, spaceToGet)) { paths.Add(_path); } } /// /// 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 (); if (!_alreadyLoaded && MetadataArtifactLoader.IsArtifactOfDataSpace(_path, spaceToGet)) { list.Add(_path); } return list; } /// /// Get paths to all artifacts /// ///A List of strings identifying paths to all resources public override ListGetPaths() { List list = new List (); if (!_alreadyLoaded) { list.Add(_path); } return list; } /// /// Create and return an XmlReader around the file represented by this instance. /// ///A List of XmlReaders for all resources public override ListGetReaders(Dictionary sourceDictionary) { List list = new List (); if (!_alreadyLoaded) { XmlReader reader = CreateXmlReader(); list.Add(reader); if (sourceDictionary != null) { sourceDictionary.Add(this, reader); } } return list; } /// /// Create and return an XmlReader around the file represented by this instance /// if it is of the requested DataSpace type. /// /// The DataSpace corresponding to the requested artifacts ///A List of XmlReader objects public override ListCreateReaders(DataSpace spaceToGet) { List list = new List (); if (!_alreadyLoaded && MetadataArtifactLoader.IsArtifactOfDataSpace(_path, spaceToGet)) { XmlReader reader = CreateXmlReader(); list.Add(reader); } return list; } /// /// Create an XmlReader around the artifact file /// ///An XmlReader that wraps a file private XmlReader CreateXmlReader() { XmlReaderSettings readerSettings = Schema.CreateEdmStandardXmlReaderSettings(); // we know that we aren't reading a fragment readerSettings.ConformanceLevel = ConformanceLevel.Document; return XmlReader.Create(_path, readerSettings); } } } // 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.Security.Cryptography; using System.Data.EntityModel.SchemaObjectModel; using System.Threading; namespace System.Data.Metadata.Edm { ////// This class represents one file-based artifact item to be loaded. /// internal class MetadataArtifactLoaderFile : MetadataArtifactLoader, IComparable { ////// This member indicates whether the file-based artifact has already been loaded. /// It is used to prevent other instances of this class from (re)loading the same /// artifact. See comment in the MetadataArtifactLoaderFile c'tor below. /// private readonly bool _alreadyLoaded = false; private readonly string _path; ////// Constructor /// /// The path to the resource to load /// The global registry of URIs public MetadataArtifactLoaderFile(string path, ICollectionuriRegistry) { _path = path; _alreadyLoaded = uriRegistry.Contains(_path); if (!_alreadyLoaded) { uriRegistry.Add(_path); // '_alreadyLoaded' is not set because while we would like to prevent // other instances of MetadataArtifactLoaderFile that wrap the same // _path from being added to the list of paths/readers, we do want to // include this particular instance. } } public override string Path { get { return _path; } } /// /// Implementation of IComparable.CompareTo() /// /// The object to compare to ///0 if the loaders are "equal" (i.e., have the same _path value) public int CompareTo(object obj) { MetadataArtifactLoaderFile loader = obj as MetadataArtifactLoaderFile; if (loader != null) { return string.Compare(_path, loader._path, StringComparison.OrdinalIgnoreCase); } Debug.Assert(false, "object is not a MetadataArtifactLoaderFile"); return -1; } ////// Equals() returns true if the objects have the same _path value /// /// The object to compare to ///true if the objects have the same _path value public override bool Equals(object obj) { return this.CompareTo(obj) == 0; } ////// GetHashCode override that defers the result to the _path member variable. /// ///public override int GetHashCode() { return _path.GetHashCode(); } public override void CollectFilePermissionPaths(List paths, DataSpace spaceToGet) { if (!_alreadyLoaded && MetadataArtifactLoader.IsArtifactOfDataSpace(_path, spaceToGet)) { paths.Add(_path); } } /// /// 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 (); if (!_alreadyLoaded && MetadataArtifactLoader.IsArtifactOfDataSpace(_path, spaceToGet)) { list.Add(_path); } return list; } /// /// Get paths to all artifacts /// ///A List of strings identifying paths to all resources public override ListGetPaths() { List list = new List (); if (!_alreadyLoaded) { list.Add(_path); } return list; } /// /// Create and return an XmlReader around the file represented by this instance. /// ///A List of XmlReaders for all resources public override ListGetReaders(Dictionary sourceDictionary) { List list = new List (); if (!_alreadyLoaded) { XmlReader reader = CreateXmlReader(); list.Add(reader); if (sourceDictionary != null) { sourceDictionary.Add(this, reader); } } return list; } /// /// Create and return an XmlReader around the file represented by this instance /// if it is of the requested DataSpace type. /// /// The DataSpace corresponding to the requested artifacts ///A List of XmlReader objects public override ListCreateReaders(DataSpace spaceToGet) { List list = new List (); if (!_alreadyLoaded && MetadataArtifactLoader.IsArtifactOfDataSpace(_path, spaceToGet)) { XmlReader reader = CreateXmlReader(); list.Add(reader); } return list; } /// /// Create an XmlReader around the artifact file /// ///An XmlReader that wraps a file private XmlReader CreateXmlReader() { XmlReaderSettings readerSettings = Schema.CreateEdmStandardXmlReaderSettings(); // we know that we aren't reading a fragment readerSettings.ConformanceLevel = ConformanceLevel.Document; return XmlReader.Create(_path, readerSettings); } } } // 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
- TypeConverterHelper.cs
- ScriptManager.cs
- FunctionNode.cs
- VectorCollectionConverter.cs
- X509Extension.cs
- DataSourceProvider.cs
- cookieexception.cs
- TreeNodeConverter.cs
- EventDescriptor.cs
- DeobfuscatingStream.cs
- DataGridTextBoxColumn.cs
- XdrBuilder.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- FrameworkTextComposition.cs
- IncrementalCompileAnalyzer.cs
- Animatable.cs
- StandardCommandToolStripMenuItem.cs
- ResourceProviderFactory.cs
- PolyBezierSegmentFigureLogic.cs
- TextBreakpoint.cs
- TypedTableHandler.cs
- SessionPageStatePersister.cs
- UnsupportedPolicyOptionsException.cs
- GeneralTransformGroup.cs
- DataService.cs
- DataChangedEventManager.cs
- CodeTypeParameterCollection.cs
- MailWebEventProvider.cs
- SettingsContext.cs
- SiteOfOriginContainer.cs
- IpcChannelHelper.cs
- ParserStack.cs
- NameSpaceExtractor.cs
- ZipFileInfo.cs
- MarshalDirectiveException.cs
- SuspendDesigner.cs
- EntityDataSourceStatementEditorForm.cs
- SchemaObjectWriter.cs
- GlyphingCache.cs
- QilInvokeEarlyBound.cs
- ToolStripItemTextRenderEventArgs.cs
- ChameleonKey.cs
- ClaimComparer.cs
- AutomationTextAttribute.cs
- DataGridViewLinkCell.cs
- SafeBitVector32.cs
- ClientSponsor.cs
- MetadataPropertyvalue.cs
- XmlObjectSerializerReadContextComplexJson.cs
- BitmapDecoder.cs
- BamlStream.cs
- DiffuseMaterial.cs
- Timeline.cs
- UnsafeNativeMethods.cs
- SoapObjectWriter.cs
- WorkflowInstanceExtensionCollection.cs
- XmlReflectionImporter.cs
- EventLogEntry.cs
- DSACryptoServiceProvider.cs
- AuthenticationModulesSection.cs
- GeneratedCodeAttribute.cs
- FilterQueryOptionExpression.cs
- EntitySqlQueryBuilder.cs
- Variable.cs
- AtomParser.cs
- XmlTextReaderImplHelpers.cs
- ComponentEvent.cs
- IUnknownConstantAttribute.cs
- ItemList.cs
- EmissiveMaterial.cs
- CheckedPointers.cs
- ResourceManager.cs
- DataViewManagerListItemTypeDescriptor.cs
- Crc32.cs
- DesignerWidgets.cs
- XPathAncestorIterator.cs
- RuntimeConfigurationRecord.cs
- SubclassTypeValidatorAttribute.cs
- ILGenerator.cs
- Point3DAnimation.cs
- MaterializeFromAtom.cs
- EventRecordWrittenEventArgs.cs
- Gdiplus.cs
- MouseOverProperty.cs
- FlowLayout.cs
- ComponentRenameEvent.cs
- AmbientLight.cs
- TypeInfo.cs
- TraceListener.cs
- RegistrationProxy.cs
- LocatorGroup.cs
- DesignerTransactionCloseEvent.cs
- NotifyCollectionChangedEventArgs.cs
- BadImageFormatException.cs
- RoleManagerModule.cs
- GZipObjectSerializer.cs
- WindowInteropHelper.cs
- PropertyTab.cs
- DispatcherSynchronizationContext.cs
- DocumentViewerAutomationPeer.cs