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
- PowerStatus.cs
- ColorConvertedBitmapExtension.cs
- XamlStyleSerializer.cs
- PositiveTimeSpanValidator.cs
- QilName.cs
- XsltQilFactory.cs
- EntityModelBuildProvider.cs
- AlignmentXValidation.cs
- GenericAuthenticationEventArgs.cs
- Block.cs
- SqlXml.cs
- X509Certificate2.cs
- GetPageCompletedEventArgs.cs
- PanelDesigner.cs
- GridViewRowPresenter.cs
- COM2Properties.cs
- Win32Exception.cs
- CodeMemberProperty.cs
- XmlSerializationReader.cs
- CheckoutException.cs
- Command.cs
- ObjectItemConventionAssemblyLoader.cs
- Win32.cs
- RoleGroup.cs
- Html32TextWriter.cs
- HtmlInputCheckBox.cs
- Image.cs
- XamlTypeMapperSchemaContext.cs
- XmlHierarchicalDataSourceView.cs
- ObjectDataSourceMethodEventArgs.cs
- BitmapFrameDecode.cs
- TrackBarRenderer.cs
- UnaryNode.cs
- ViewGenerator.cs
- DiscoveryMessageSequence11.cs
- TreeViewItem.cs
- DataServiceStreamProviderWrapper.cs
- ADMembershipProvider.cs
- FlowchartDesignerCommands.cs
- WpfXamlMember.cs
- PropertyTabAttribute.cs
- XPathEmptyIterator.cs
- WindowsGraphics2.cs
- URLString.cs
- MediaEntryAttribute.cs
- HttpServerProtocol.cs
- VerticalAlignConverter.cs
- SchemaLookupTable.cs
- ConnectionPoint.cs
- ListenerElementsCollection.cs
- CssStyleCollection.cs
- PriorityBindingExpression.cs
- TransactionFilter.cs
- BackoffTimeoutHelper.cs
- XmlSerializableWriter.cs
- AliasExpr.cs
- DefaultValueConverter.cs
- OleAutBinder.cs
- WebPartConnection.cs
- ApplicationHost.cs
- SystemColors.cs
- CheckBoxPopupAdapter.cs
- StreamGeometry.cs
- CmsInterop.cs
- TagPrefixInfo.cs
- SQLSingle.cs
- SelectiveScrollingGrid.cs
- CodeStatement.cs
- ConfigurationSection.cs
- WebPartDescriptionCollection.cs
- FullTrustAssembliesSection.cs
- HttpSessionStateWrapper.cs
- WaitingCursor.cs
- TokenBasedSetEnumerator.cs
- SystemInfo.cs
- SmiRecordBuffer.cs
- _Events.cs
- DynamicValueConverter.cs
- WebPartEditorCancelVerb.cs
- IPAddress.cs
- AssociationTypeEmitter.cs
- DesignerImageAdapter.cs
- ReplacementText.cs
- EventTask.cs
- StandardCommandToolStripMenuItem.cs
- IISMapPath.cs
- DebugInfoGenerator.cs
- AssemblyInfo.cs
- MultipartIdentifier.cs
- DbMetaDataFactory.cs
- UnhandledExceptionEventArgs.cs
- MsmqHostedTransportManager.cs
- CodeTypeReference.cs
- HttpServerUtilityWrapper.cs
- XmlNode.cs
- XmlSchemaExternal.cs
- SafeHandles.cs
- AvTraceDetails.cs
- TypeConverter.cs
- WebServiceEnumData.cs