Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / ndp / fx / src / DataEntity / System / Data / Metadata / MetadataArtifactLoaderXmlReaderWrapper.cs / 1 / MetadataArtifactLoaderXmlReaderWrapper.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] //--------------------------------------------------------------------- using System.Collections.Generic; using System.Collections; using System.Diagnostics; using System.Text; using System.Xml; using System.Security.Permissions; namespace System.Data.Metadata.Edm { ////// This class represents a wrapper around an XmlReader to be used to load metadata. /// Note that the XmlReader object isn't created here -- the wrapper simply stores /// a reference to it -- therefore we do not Close() the reader when we Dispose() /// the wrapper, i.e., Dispose() is a no-op. /// internal class MetadataArtifactLoaderXmlReaderWrapper : MetadataArtifactLoader, IComparable { private readonly XmlReader _reader = null; private readonly string _resourceUri = null; ////// Constructor - saves off the XmlReader in a private data field /// /// The path to the resource to load public MetadataArtifactLoaderXmlReaderWrapper(XmlReader xmlReader) { _reader = xmlReader; _resourceUri = xmlReader.BaseURI; } public override string Path { get { if (string.IsNullOrEmpty(this._resourceUri)) { return string.Empty; } else { return this._resourceUri; } } } ////// 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) { MetadataArtifactLoaderXmlReaderWrapper loader = obj as MetadataArtifactLoaderXmlReaderWrapper; if (loader != null) { if (Object.ReferenceEquals(this._reader, loader._reader)) { return 0; } else { return -1; } } Debug.Assert(false, "object is not a MetadataArtifactLoaderXmlReaderWrapper"); 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 _reader.GetHashCode(); } public override void CollectFilePermissionPaths(List paths, DataSpace spaceToGet) { // no op } /// /// 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 (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() { return new List (new string[] { Path }); } /// /// Get XmlReaders for all resources /// ///A List of XmlReaders for all resources public override ListGetReaders(Dictionary sourceDictionary) { List list = new List (); list.Add(this._reader); if (sourceDictionary != null) { sourceDictionary.Add(this, _reader); } return list; } /// /// Create and return an XmlReader around the resource 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 (MetadataArtifactLoader.IsArtifactOfDataSpace(Path, spaceToGet)) { list.Add(_reader); } return list; } } } // 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.Text; using System.Xml; using System.Security.Permissions; namespace System.Data.Metadata.Edm { ////// This class represents a wrapper around an XmlReader to be used to load metadata. /// Note that the XmlReader object isn't created here -- the wrapper simply stores /// a reference to it -- therefore we do not Close() the reader when we Dispose() /// the wrapper, i.e., Dispose() is a no-op. /// internal class MetadataArtifactLoaderXmlReaderWrapper : MetadataArtifactLoader, IComparable { private readonly XmlReader _reader = null; private readonly string _resourceUri = null; ////// Constructor - saves off the XmlReader in a private data field /// /// The path to the resource to load public MetadataArtifactLoaderXmlReaderWrapper(XmlReader xmlReader) { _reader = xmlReader; _resourceUri = xmlReader.BaseURI; } public override string Path { get { if (string.IsNullOrEmpty(this._resourceUri)) { return string.Empty; } else { return this._resourceUri; } } } ////// 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) { MetadataArtifactLoaderXmlReaderWrapper loader = obj as MetadataArtifactLoaderXmlReaderWrapper; if (loader != null) { if (Object.ReferenceEquals(this._reader, loader._reader)) { return 0; } else { return -1; } } Debug.Assert(false, "object is not a MetadataArtifactLoaderXmlReaderWrapper"); 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 _reader.GetHashCode(); } public override void CollectFilePermissionPaths(List paths, DataSpace spaceToGet) { // no op } /// /// 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 (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() { return new List (new string[] { Path }); } /// /// Get XmlReaders for all resources /// ///A List of XmlReaders for all resources public override ListGetReaders(Dictionary sourceDictionary) { List list = new List (); list.Add(this._reader); if (sourceDictionary != null) { sourceDictionary.Add(this, _reader); } return list; } /// /// Create and return an XmlReader around the resource 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 (MetadataArtifactLoader.IsArtifactOfDataSpace(Path, spaceToGet)) { list.Add(_reader); } return list; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- OdbcConnectionHandle.cs
- BitmapCodecInfoInternal.cs
- SwitchExpression.cs
- AnnotationHighlightLayer.cs
- TextBreakpoint.cs
- EntityDataSourceViewSchema.cs
- UserNamePasswordServiceCredential.cs
- NativeMethods.cs
- OutputScopeManager.cs
- Help.cs
- EmbeddedObject.cs
- EventLogSession.cs
- GroupByExpressionRewriter.cs
- CacheVirtualItemsEvent.cs
- HtmlTitle.cs
- FullTrustAssembliesSection.cs
- InputScope.cs
- DetailsViewRow.cs
- TextElementCollectionHelper.cs
- JsonGlobals.cs
- hresults.cs
- UnsafeNativeMethods.cs
- ByteAnimationBase.cs
- Model3D.cs
- ImageClickEventArgs.cs
- EncodingDataItem.cs
- COM2IVsPerPropertyBrowsingHandler.cs
- ComboBox.cs
- BamlResourceSerializer.cs
- InkCollectionBehavior.cs
- LogicalTreeHelper.cs
- Transform3D.cs
- DesignerDataColumn.cs
- ProfilePropertySettings.cs
- XmlSyndicationContent.cs
- ReturnType.cs
- AsynchronousChannel.cs
- NativeMethods.cs
- EastAsianLunisolarCalendar.cs
- InputBuffer.cs
- Assert.cs
- StyleHelper.cs
- HandledMouseEvent.cs
- arabicshape.cs
- BlockCollection.cs
- ReadOnlyCollectionBase.cs
- Lasso.cs
- CheckBoxBaseAdapter.cs
- GreenMethods.cs
- ApplicationInfo.cs
- SemanticResolver.cs
- DisplayMemberTemplateSelector.cs
- TextBoxAutomationPeer.cs
- SQLBinaryStorage.cs
- ExternalDataExchangeService.cs
- BuildProvider.cs
- EntityDataSourceValidationException.cs
- CodeMethodMap.cs
- ModelProperty.cs
- XsdValidatingReader.cs
- ScriptIgnoreAttribute.cs
- FlowDocumentView.cs
- FilterQueryOptionExpression.cs
- OrderedDictionaryStateHelper.cs
- InputMethod.cs
- Keywords.cs
- ConfigXmlText.cs
- PackageRelationshipCollection.cs
- SharedUtils.cs
- ICollection.cs
- _LocalDataStoreMgr.cs
- VirtualPathUtility.cs
- ConnectionString.cs
- PersistenceProviderBehavior.cs
- ObjectListFieldCollection.cs
- WindowsPen.cs
- RectConverter.cs
- CheckBox.cs
- EventManager.cs
- SHA1CryptoServiceProvider.cs
- BuildManagerHost.cs
- BitVector32.cs
- DesignerActionItem.cs
- WebPartCatalogCloseVerb.cs
- OutputCacheSettingsSection.cs
- DirectionalAction.cs
- EdmItemCollection.cs
- GlobalAllocSafeHandle.cs
- DSACryptoServiceProvider.cs
- RepeatButton.cs
- MasterPage.cs
- ConfigXmlCDataSection.cs
- TextTreeTextBlock.cs
- GridViewRowCollection.cs
- JavascriptCallbackResponseProperty.cs
- CurrencyWrapper.cs
- UpdateRecord.cs
- BindingExpressionUncommonField.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- TraceLog.cs