integerSetEquals Function Description

Description

This method returns true if both sets of attribute values of type integer are equal. Technically, it uses the subset function on the first and second arguments ANDed with the subset function and the second and first argument. Note that duplicate values have no impact on the comparison. For instance, the following 2 sets are equal: [a,a,c,b] and [b,c,a,c].

integerSetEquals belongs to the ALFA function reference's Set functions category. It maps to the XACML function identifier urn:oasis:names:tc:xacml:1.0:function:integer-set-equals, takes 2 arguments and returns a value of type boolean.

Property Value
Category Set functions
# Arguments 2
Arguments
  • A bag of type integer
  • A bag of type integer
Return Value boolean
Expressed As pre-fix
Representation ALFA short name
Allowed In Target false
ALFA Shorthand None
Commutative true

Example

/**
* Unordered Lottery Example: access is permitted if the user guesses the exact numbers (in any order)
*/
rule integerSetEqualsExample{
    condition integerSetEquals(pickedNumber,luckyNumbers)
    permit
}

In this example, a user guesses numbers to win the lottery. We assume order number doesn't matter. Access is permitted if he guesses the right numbers and no additional numbers.