Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Map / ViewGeneration / CqlGeneration / CqlWriter.cs / 1305376 / CqlWriter.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System.Text.RegularExpressions; using System.Text; using System.Data.Common.Utils; using System.Data.Mapping.ViewGeneration.Utils; using System.Data.Metadata.Edm; namespace System.Data.Mapping.ViewGeneration.CqlGeneration { // This class contains helper methods needed for generating Cql internal static class CqlWriter { #region Fields private static readonly Regex s_wordIdentifierRegex = new Regex(@"^[_A-Za-z]\w*$", RegexOptions.ECMAScript | RegexOptions.Compiled); #endregion #region Helper Methods // effects: Given a block name and a field in it -- returns a string // of form "blockName.field". Does not perform any escaping internal static string GetQualifiedName(string blockName, string field) { string result = StringUtil.FormatInvariant("{0}.{1}", blockName, field); return result; } // effects: Modifies builder to contain an escaped version of type's name as "[namespace.typename]" internal static void AppendEscapedTypeName(StringBuilder builder, EdmType type) { AppendEscapedName(builder, GetQualifiedName(type.NamespaceName, type.Name)); } // effects: Modifies builder to contain an escaped version of "name1.name2" as "[name1].[name2]" internal static void AppendEscapedQualifiedName(StringBuilder builder, string name1, string name2) { AppendEscapedName(builder, name1); builder.Append('.'); AppendEscapedName(builder, name2); } // effects: Modifies builder to contain an escaped version of "name" internal static void AppendEscapedName(StringBuilder builder, string name) { if (s_wordIdentifierRegex.IsMatch(name) && false == ExternalCalls.IsReservedKeyword(name)) { // We do not need to escape the name if it is a simple name and it is not a keyword builder.Append(name); } else { string newName = name.Replace("]", "]]"); builder.Append('[') .Append(newName) .Append(']'); } } #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
- DataGridViewCellParsingEventArgs.cs
- TokenBasedSet.cs
- IgnoreSectionHandler.cs
- ObjectListTitleAttribute.cs
- AssemblyBuilder.cs
- CodeGenerator.cs
- RijndaelManagedTransform.cs
- MarkerProperties.cs
- DataServiceRequestOfT.cs
- CustomErrorsSection.cs
- PeerCollaboration.cs
- SimpleWorkerRequest.cs
- OutputCacheProfile.cs
- WindowsFormsLinkLabel.cs
- SQLInt16Storage.cs
- WebPartEditorApplyVerb.cs
- EmbossBitmapEffect.cs
- ConstraintStruct.cs
- DataGridViewRowEventArgs.cs
- BrowserCapabilitiesFactory.cs
- DesignerAutoFormatStyle.cs
- SlotInfo.cs
- BigInt.cs
- ImpersonateTokenRef.cs
- EndpointConfigContainer.cs
- ViewCellSlot.cs
- ResourceSet.cs
- DesignerActionPropertyItem.cs
- QilXmlReader.cs
- SourceLineInfo.cs
- _LocalDataStore.cs
- EnumBuilder.cs
- BackgroundWorker.cs
- Cursor.cs
- CategoriesDocument.cs
- NeedSkipTokenVisitor.cs
- HashLookup.cs
- InfoCardProofToken.cs
- BufferedGraphicsManager.cs
- PartitionedStreamMerger.cs
- TempFiles.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- EncoderBestFitFallback.cs
- UnsafeNativeMethods.cs
- VideoDrawing.cs
- CharUnicodeInfo.cs
- XmlNamespaceDeclarationsAttribute.cs
- SocketElement.cs
- securestring.cs
- SqlVisitor.cs
- MergeLocalizationDirectives.cs
- LinearGradientBrush.cs
- StaticExtensionConverter.cs
- EventSinkHelperWriter.cs
- ToolStripContentPanelRenderEventArgs.cs
- DecoderFallback.cs
- XmlLoader.cs
- ResXResourceReader.cs
- BridgeDataReader.cs
- SystemInfo.cs
- SqlUtils.cs
- AvtEvent.cs
- XmlLanguageConverter.cs
- StylusDevice.cs
- RegistrationServices.cs
- IsolatedStorageException.cs
- HtmlTable.cs
- SqlException.cs
- GridItemPattern.cs
- UnsafeNativeMethods.cs
- StringAttributeCollection.cs
- AutomationIdentifierGuids.cs
- PopupEventArgs.cs
- WindowsTab.cs
- Polygon.cs
- HandlerBase.cs
- HttpRequestCacheValidator.cs
- ZoneLinkButton.cs
- CustomCredentialPolicy.cs
- Rotation3D.cs
- CalendarData.cs
- SchemaAttDef.cs
- Activator.cs
- DataGridViewButtonColumn.cs
- HtmlLink.cs
- CatalogZoneBase.cs
- dbdatarecord.cs
- FactoryRecord.cs
- SeekStoryboard.cs
- DateRangeEvent.cs
- FlowLayoutSettings.cs
- CompiledRegexRunnerFactory.cs
- RowToFieldTransformer.cs
- SizeConverter.cs
- ImageSource.cs
- _TimerThread.cs
- MatrixAnimationUsingPath.cs
- LicFileLicenseProvider.cs
- Queue.cs
- ToolStripDesigner.cs