booleanSetEquals Function Description

Description

This method returns true if both sets of attribute values of type boolean 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].

booleanSetEquals 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:boolean-set-equals, takes 2 arguments and returns a value of type boolean.

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

Example

/**
* Using SetEquals on boolean makes little sense... But this is what it would look like.
*/
rule booleanSetEqualsExample{
    permit
    condition booleanSetEquals(securityChecksCleared, approvalsObtained)
}

Using booleanSetEquals on booleans doesn't make much sense given there are only 2 possible values (true and false) and that there are much better ways to check for boolean values. Besides, how often is a value both true and false? That's exactly what Schrödinger's 🐈‍⬛ is wondering. Just try to think outside the 📦.