Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Map / ViewGeneration / QueryRewriting / RoleBoolean.cs / 1305376 / RoleBoolean.cs
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner [....]
// @backupOwner [....]
//---------------------------------------------------------------------
using System.Data.Common.Utils.Boolean;
using System.Text;
using System.Collections.Generic;
using System.Data.Common.Utils;
using System.Data.Mapping.ViewGeneration.CqlGeneration;
using System.Data.Mapping.ViewGeneration.Utils;
using System.Data.Mapping.ViewGeneration.Structures;
using System.Data.Metadata.Edm;
using System.Data.Entity;
namespace System.Data.Mapping.ViewGeneration.QueryRewriting
{
using DomainBoolExpr = BoolExpr>;
using DomainNotExpr = NotExpr>;
using DomainTermExpr = TermExpr>;
///
/// Denotes the fact that the key of the current tuple comes from a specific extent, or association role
///
internal class RoleBoolean : TrueFalseLiteral
{
#region Constructor
internal RoleBoolean(EntitySetBase extent)
{
m_metadataItem = extent;
}
internal RoleBoolean(AssociationSetEnd end)
{
m_metadataItem = end;
}
#endregion
#region Fields
private MetadataItem m_metadataItem;
#endregion
#region BoolLiteral members
internal override StringBuilder AsCql(StringBuilder builder, string blockAlias, bool canSkipIsNotNull)
{
ToCompactString(builder);
builder.Append("(");
builder.Append(blockAlias);
builder.Append(")");
return builder;
}
internal override StringBuilder AsUserString(StringBuilder builder, string blockAlias, bool canSkipIsNotNull)
{
AssociationSetEnd end = m_metadataItem as AssociationSetEnd;
if (end != null)
{
builder.Append(Strings.ViewGen_AssociationSet_AsUserString(blockAlias, end.Name, end.ParentAssociationSet));
}
else
{
builder.Append(Strings.ViewGen_EntitySet_AsUserString(blockAlias, m_metadataItem.ToString()));
}
return builder;
}
internal override StringBuilder AsNegatedUserString(StringBuilder builder, string blockAlias, bool canSkipIsNotNull)
{
AssociationSetEnd end = m_metadataItem as AssociationSetEnd;
if (end != null)
{
builder.Append(Strings.ViewGen_AssociationSet_AsUserString_Negated(blockAlias, end.Name, end.ParentAssociationSet));
}
else
{
builder.Append(Strings.ViewGen_EntitySet_AsUserString_Negated(blockAlias, m_metadataItem.ToString()));
}
return builder;
}
internal override void GetRequiredSlots(MemberProjectionIndex projectedSlotMap, bool[] requiredSlots)
{
throw new NotImplementedException();
}
protected override bool IsEqualTo(BoolLiteral right)
{
RoleBoolean rightBoolean = right as RoleBoolean;
if (rightBoolean == null)
{
return false;
}
return m_metadataItem == rightBoolean.m_metadataItem;
}
protected override int GetHash()
{
return m_metadataItem.GetHashCode();
}
// effects: See BoolExpression.RemapBool
internal override BoolLiteral RemapBool(Dictionary remap)
{
return this;
}
#endregion
#region Other Methods
internal override void ToCompactString(StringBuilder builder)
{
AssociationSetEnd end = m_metadataItem as AssociationSetEnd;
if (end != null)
{
builder.Append("InEnd:" + end.ParentAssociationSet + "_" + end.Name);
}
else
{
builder.Append("InSet:" + m_metadataItem.ToString());
}
}
#endregion
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// @owner [....]
// @backupOwner [....]
//---------------------------------------------------------------------
using System.Data.Common.Utils.Boolean;
using System.Text;
using System.Collections.Generic;
using System.Data.Common.Utils;
using System.Data.Mapping.ViewGeneration.CqlGeneration;
using System.Data.Mapping.ViewGeneration.Utils;
using System.Data.Mapping.ViewGeneration.Structures;
using System.Data.Metadata.Edm;
using System.Data.Entity;
namespace System.Data.Mapping.ViewGeneration.QueryRewriting
{
using DomainBoolExpr = BoolExpr>;
using DomainNotExpr = NotExpr>;
using DomainTermExpr = TermExpr>;
///
/// Denotes the fact that the key of the current tuple comes from a specific extent, or association role
///
internal class RoleBoolean : TrueFalseLiteral
{
#region Constructor
internal RoleBoolean(EntitySetBase extent)
{
m_metadataItem = extent;
}
internal RoleBoolean(AssociationSetEnd end)
{
m_metadataItem = end;
}
#endregion
#region Fields
private MetadataItem m_metadataItem;
#endregion
#region BoolLiteral members
internal override StringBuilder AsCql(StringBuilder builder, string blockAlias, bool canSkipIsNotNull)
{
ToCompactString(builder);
builder.Append("(");
builder.Append(blockAlias);
builder.Append(")");
return builder;
}
internal override StringBuilder AsUserString(StringBuilder builder, string blockAlias, bool canSkipIsNotNull)
{
AssociationSetEnd end = m_metadataItem as AssociationSetEnd;
if (end != null)
{
builder.Append(Strings.ViewGen_AssociationSet_AsUserString(blockAlias, end.Name, end.ParentAssociationSet));
}
else
{
builder.Append(Strings.ViewGen_EntitySet_AsUserString(blockAlias, m_metadataItem.ToString()));
}
return builder;
}
internal override StringBuilder AsNegatedUserString(StringBuilder builder, string blockAlias, bool canSkipIsNotNull)
{
AssociationSetEnd end = m_metadataItem as AssociationSetEnd;
if (end != null)
{
builder.Append(Strings.ViewGen_AssociationSet_AsUserString_Negated(blockAlias, end.Name, end.ParentAssociationSet));
}
else
{
builder.Append(Strings.ViewGen_EntitySet_AsUserString_Negated(blockAlias, m_metadataItem.ToString()));
}
return builder;
}
internal override void GetRequiredSlots(MemberProjectionIndex projectedSlotMap, bool[] requiredSlots)
{
throw new NotImplementedException();
}
protected override bool IsEqualTo(BoolLiteral right)
{
RoleBoolean rightBoolean = right as RoleBoolean;
if (rightBoolean == null)
{
return false;
}
return m_metadataItem == rightBoolean.m_metadataItem;
}
protected override int GetHash()
{
return m_metadataItem.GetHashCode();
}
// effects: See BoolExpression.RemapBool
internal override BoolLiteral RemapBool(Dictionary remap)
{
return this;
}
#endregion
#region Other Methods
internal override void ToCompactString(StringBuilder builder)
{
AssociationSetEnd end = m_metadataItem as AssociationSetEnd;
if (end != null)
{
builder.Append("InEnd:" + end.ParentAssociationSet + "_" + end.Name);
}
else
{
builder.Append("InSet:" + m_metadataItem.ToString());
}
}
#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
- SemanticAnalyzer.cs
- StaticExtension.cs
- COM2IPerPropertyBrowsingHandler.cs
- AppDomainProtocolHandler.cs
- SrgsToken.cs
- SmiContext.cs
- TCPListener.cs
- counter.cs
- HasActivatableWorkflowEvent.cs
- DocumentScope.cs
- InputBinding.cs
- embossbitmapeffect.cs
- MimePart.cs
- OutputCacheProfile.cs
- SetterBase.cs
- AutomationElementIdentifiers.cs
- DrawingContextDrawingContextWalker.cs
- EntityViewGenerator.cs
- TagPrefixAttribute.cs
- ParsedAttributeCollection.cs
- NumericUpDown.cs
- CodeTypeDelegate.cs
- ProcessModuleDesigner.cs
- ReadOnlyCollectionBase.cs
- Activity.cs
- TextEditorDragDrop.cs
- AutomationPropertyInfo.cs
- DecimalStorage.cs
- DataMember.cs
- DelegateOutArgument.cs
- RedistVersionInfo.cs
- SiteMapNode.cs
- unsafenativemethodsother.cs
- BindingExpressionUncommonField.cs
- SessionStateModule.cs
- RadioButtonFlatAdapter.cs
- DbTransaction.cs
- SQLString.cs
- ProfileSection.cs
- EmissiveMaterial.cs
- CodeArrayIndexerExpression.cs
- AutomationAttributeInfo.cs
- TextClipboardData.cs
- MembershipPasswordException.cs
- DynamicDiscoSearcher.cs
- ServiceThrottle.cs
- IsolationInterop.cs
- HandledMouseEvent.cs
- AnnotationAdorner.cs
- RequiredAttributeAttribute.cs
- ButtonFieldBase.cs
- ComContractElementCollection.cs
- FormatterServices.cs
- Collection.cs
- CustomErrorsSectionWrapper.cs
- NamedPipeConnectionPoolSettingsElement.cs
- SqlNotificationRequest.cs
- TextBlock.cs
- MD5.cs
- WindowCollection.cs
- XmlNodeChangedEventArgs.cs
- ParameterElementCollection.cs
- EventlogProvider.cs
- ByteArrayHelperWithString.cs
- PerformanceCounterPermissionEntryCollection.cs
- LinearGradientBrush.cs
- ErrorLog.cs
- UnsafeNativeMethods.cs
- SqlDataSourceView.cs
- ManagementInstaller.cs
- Base64Decoder.cs
- AutoResetEvent.cs
- Stylesheet.cs
- RetrieveVirtualItemEventArgs.cs
- PenLineJoinValidation.cs
- QueueException.cs
- PropertyTabAttribute.cs
- _NegotiateClient.cs
- WebPartTransformerAttribute.cs
- WindowsListViewGroupHelper.cs
- SubMenuStyleCollection.cs
- IndependentAnimationStorage.cs
- initElementDictionary.cs
- XamlSerializerUtil.cs
- WinFormsSpinner.cs
- SystemInfo.cs
- TimeSpanStorage.cs
- ProfileManager.cs
- cookie.cs
- COM2PropertyDescriptor.cs
- UdpMessageProperty.cs
- FileUtil.cs
- FolderLevelBuildProviderAppliesToAttribute.cs
- PageSettings.cs
- SetterBase.cs
- AsymmetricAlgorithm.cs
- Run.cs
- SelectionEditingBehavior.cs
- RIPEMD160.cs
- ValidationVisibilityAttribute.cs