Code:
/ 4.0 / 4.0 / 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.
//----------------------------------------------------------------------
//
// 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
- IxmlLineInfo.cs
- AttributeSetAction.cs
- XhtmlTextWriter.cs
- SqlProvider.cs
- ImageFormat.cs
- EntityModelBuildProvider.cs
- SignatureHelper.cs
- SafeLibraryHandle.cs
- HtmlUtf8RawTextWriter.cs
- DescendentsWalkerBase.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- XmlSerializerFactory.cs
- MobileUserControlDesigner.cs
- InvokeGenerator.cs
- SspiWrapper.cs
- XmlAutoDetectWriter.cs
- Selector.cs
- DataSet.cs
- HttpFileCollection.cs
- IgnoreFileBuildProvider.cs
- TextServicesCompartment.cs
- ConfigurationPropertyAttribute.cs
- XmlSchemaAnnotated.cs
- FileDialog.cs
- HtmlElement.cs
- ToolStripGrip.cs
- EffectiveValueEntry.cs
- TreeViewAutomationPeer.cs
- SQLBinary.cs
- NonDualMessageSecurityOverHttpElement.cs
- FormsAuthenticationUser.cs
- ParentUndoUnit.cs
- SafeNativeMethodsMilCoreApi.cs
- ActionFrame.cs
- LostFocusEventManager.cs
- TimeSpanParse.cs
- Executor.cs
- WebPartConnectionsEventArgs.cs
- Grid.cs
- ViewCellSlot.cs
- State.cs
- UndirectedGraph.cs
- DataGridViewCellStyleChangedEventArgs.cs
- ImageButton.cs
- XmlSchemaInclude.cs
- UInt32Converter.cs
- GorillaCodec.cs
- DataGridViewLayoutData.cs
- OracleRowUpdatingEventArgs.cs
- ConfigXmlReader.cs
- TextModifierScope.cs
- TextCompositionManager.cs
- Content.cs
- ZipIOBlockManager.cs
- PathSegmentCollection.cs
- StylusButton.cs
- HitTestParameters.cs
- DynamicRendererThreadManager.cs
- FieldNameLookup.cs
- SmtpClient.cs
- Point4DConverter.cs
- PageParser.cs
- XmlTypeAttribute.cs
- SmtpAuthenticationManager.cs
- WebPartHelpVerb.cs
- PopOutPanel.cs
- SqlDataSourceView.cs
- HtmlContainerControl.cs
- DocumentDesigner.cs
- TextEvent.cs
- SingleAnimationUsingKeyFrames.cs
- UdpChannelFactory.cs
- ValidationErrorInfo.cs
- SqlTypeConverter.cs
- baseaxisquery.cs
- GotoExpression.cs
- ModelPerspective.cs
- DataGridViewImageColumn.cs
- TemplateControlParser.cs
- SspiNegotiationTokenAuthenticator.cs
- SpeechRecognizer.cs
- Table.cs
- ValueUtilsSmi.cs
- EntityStoreSchemaGenerator.cs
- returneventsaver.cs
- RegistryPermission.cs
- SignatureHelper.cs
- Roles.cs
- DataSourceXmlElementAttribute.cs
- NetWebProxyFinder.cs
- RuntimeArgumentHandle.cs
- StylusButtonCollection.cs
- TraceListeners.cs
- PromptEventArgs.cs
- StorageTypeMapping.cs
- ColumnWidthChangedEvent.cs
- CompositeTypefaceMetrics.cs
- Empty.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- BinaryObjectReader.cs