Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / ndp / fx / src / DataEntity / System / Data / Metadata / MetadataArtifactLoaderXmlReaderWrapper.cs / 2 / 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

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- EmbeddedMailObject.cs
- EnumUnknown.cs
- DCSafeHandle.cs
- ScrollChrome.cs
- Activator.cs
- BaseTemplateCodeDomTreeGenerator.cs
- KnownColorTable.cs
- DocumentsTrace.cs
- RSAPKCS1SignatureFormatter.cs
- EventLogInternal.cs
- DelayedRegex.cs
- ChangeBlockUndoRecord.cs
- StopRoutingHandler.cs
- DynamicEndpointElement.cs
- RevocationPoint.cs
- XmlSerializerNamespaces.cs
- DataGridViewCellStateChangedEventArgs.cs
- DocumentAutomationPeer.cs
- GradientPanel.cs
- FilterElement.cs
- MetafileHeaderEmf.cs
- ActivityExecutionContext.cs
- HandlerWithFactory.cs
- DetailsViewUpdatedEventArgs.cs
- BufferedGraphics.cs
- Invariant.cs
- XPathBinder.cs
- TextFragmentEngine.cs
- SqlFunctionAttribute.cs
- IntegerCollectionEditor.cs
- HandlerMappingMemo.cs
- PeerContact.cs
- TabItem.cs
- HttpsTransportBindingElement.cs
- FormsAuthenticationUser.cs
- Parameter.cs
- Comparer.cs
- SimpleBitVector32.cs
- figurelength.cs
- ModelUIElement3D.cs
- AuthenticationModuleElement.cs
- SemaphoreSecurity.cs
- LicFileLicenseProvider.cs
- XsdSchemaFileEditor.cs
- FileLevelControlBuilderAttribute.cs
- XPathParser.cs
- Task.cs
- WmiInstallComponent.cs
- GACMembershipCondition.cs
- Bookmark.cs
- AddInEnvironment.cs
- DerivedKeySecurityTokenStub.cs
- CollectionViewGroupRoot.cs
- PersonalizationDictionary.cs
- ToolStripDropDownButton.cs
- DataSvcMapFile.cs
- XmlCharacterData.cs
- InstalledVoice.cs
- QuadraticBezierSegment.cs
- TreeBuilderBamlTranslator.cs
- WebPartUserCapability.cs
- AmbientValueAttribute.cs
- OleDbDataReader.cs
- ToolStripGripRenderEventArgs.cs
- DataGridViewHeaderCell.cs
- AssemblyBuilder.cs
- CompositeScriptReference.cs
- XsltConvert.cs
- ToolStripControlHost.cs
- Transform.cs
- ReferencedType.cs
- MatrixTransform.cs
- InertiaRotationBehavior.cs
- TranslateTransform3D.cs
- ContentPosition.cs
- StylusPointCollection.cs
- ThousandthOfEmRealPoints.cs
- RSAPKCS1SignatureDeformatter.cs
- ReadOnlyCollection.cs
- RequestCacheValidator.cs
- TableLayoutStyleCollection.cs
- PrintControllerWithStatusDialog.cs
- SubqueryRules.cs
- WebSysDescriptionAttribute.cs
- CharAnimationBase.cs
- DynamicDiscoSearcher.cs
- AsymmetricKeyExchangeFormatter.cs
- SqlXmlStorage.cs
- SqlAliasesReferenced.cs
- RelationshipEndMember.cs
- BindingFormattingDialog.cs
- HttpEncoderUtility.cs
- DataGridViewRowHeaderCell.cs
- TableCell.cs
- RowToFieldTransformer.cs
- DiagnosticEventProvider.cs
- QilScopedVisitor.cs
- XmlReader.cs
- Roles.cs
- AppSettings.cs