public ClaimPropertyAccessExpression(ClaimProperty claimProperty, string conditionTag) { Utility.VerifyNonNullArgument("claimProperty", claimProperty); Utility.VerifyNonNullArgument("conditionTag", conditionTag); this.ClaimProperty = claimProperty; this.ConditionTag = conditionTag; }
public RegexNotMatchClaimCondition(ClaimProperty claimProperty, Expression expression) { Utility.VerifyNonNullArgument("claimProperty", claimProperty); Utility.VerifyNonNullArgument("expression", expression); base.ClaimProperty = claimProperty; base.Expression = expression; }
public ClaimPropertyAssignment(ClaimProperty claimProperty, Expression expression) { Utility.VerifyNonNullArgument("claimProperty", claimProperty); Utility.VerifyNonNullArgument("expression", expression); this.ClaimProperty = claimProperty; this.Expression = expression; }
private void HandleTypeCond__TYPE_CondOper_Expr() { ClaimCondition claimCondition; if (this._policyObjects.Count != 0) { Expression expression = this._policyObjects.Peek() as Expression; if (expression != null) { this._policyObjects.Pop(); string str = this._policyObjects.Peek() as string; if (expression != null) { this._policyObjects.Pop(); ClaimProperty claimProperty = new ClaimProperty(ClaimPropertyType.Type); if (string.CompareOrdinal(str, ConditionOperator.EQ) != 0) { if (string.CompareOrdinal(str, ConditionOperator.NEQ) != 0) { if (string.CompareOrdinal(str, ConditionOperator.REGEXP_MATCH) != 0) { if (string.CompareOrdinal(str, ConditionOperator.REGEXP_NOT_MATCH) != 0) { object[] objArray = new object[1]; objArray[0] = str; throw new InvalidOperationException(SR.GetString("POLICY0035", objArray)); } else { claimCondition = ClaimCondition.RegexNotMatch(claimProperty, expression); } } else { claimCondition = ClaimCondition.RegexMatch(claimProperty, expression); } } else { claimCondition = ClaimCondition.NotEqual(claimProperty, expression); } } else { claimCondition = ClaimCondition.Equal(claimProperty, expression); } this._policyObjects.Push(claimCondition); return; } else { object[] objArray1 = new object[1]; objArray1[0] = "ConditionOperator"; throw new InvalidOperationException(SR.GetString("POLICY0037", objArray1)); } } else { object[] objArray2 = new object[1]; objArray2[0] = "Expression"; throw new InvalidOperationException(SR.GetString("POLICY0037", objArray2)); } } else { throw new InvalidOperationException(SR.GetString("POLICY0038", new object[0])); } }
private void HandleClaimValTypeAssign__VALUETYPE_ASSIGN_ValueTypeExpr() { if (this._policyObjects.Count != 0) { Expression expression = this._policyObjects.Peek() as Expression; if (expression != null) { this._policyObjects.Pop(); ClaimProperty claimProperty = new ClaimProperty(ClaimPropertyType.ValueType); this._policyObjects.Push(new ClaimPropertyAssignment(claimProperty, expression)); return; } else { object[] objArray = new object[1]; objArray[0] = "Expression"; throw new InvalidOperationException(SR.GetString("POLICY0037", objArray)); } } else { throw new InvalidOperationException(SR.GetString("POLICY0038", new object[0])); } }
private void HandleValueTypeExpr__IDENTIFIER_DOT_VALUETYPE() { if (this._policyObjects.Count != 0) { DebugLog.PolicyEngineTraceLog.Assert(this.valueStack.Top - 3 >= 0, "there should be more than 2 values in stack", new object[0]); string stringValue = this.valueStack.Elements[this.valueStack.Top - 3].StringValue; if (!string.IsNullOrEmpty(stringValue)) { ClaimProperty claimProperty = new ClaimProperty(ClaimPropertyType.ValueType); ClaimPropertyAccessExpression claimPropertyAccessExpression = new ClaimPropertyAccessExpression(claimProperty, stringValue); this._policyObjects.Push(claimPropertyAccessExpression); return; } else { object[] objArray = new object[1]; objArray[0] = "Identifier"; throw new InvalidOperationException(SR.GetString("POLICY0037", objArray)); } } else { throw new InvalidOperationException(SR.GetString("POLICY0038", new object[0])); } }
private void HandleClaimProp__VALUE() { ClaimProperty claimProperty = new ClaimProperty(ClaimPropertyType.Value); this._policyObjects.Push(claimProperty); }
public static EqualsClaimCondition Equal(ClaimProperty claimProperty, Expression expression) { return new EqualsClaimCondition(claimProperty, expression); }
public static RegexNotMatchClaimCondition RegexNotMatch(ClaimProperty claimProperty, Expression expression) { return new RegexNotMatchClaimCondition(claimProperty, expression); }