integerUnion Function Description

Description

This function takes two or more arguments that are both a bag of integer values. It returns a bag of integer such that it contains all elements of all the argument bags. The function gets rid of duplicates, as determined by the equality functions.

integerUnion 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-union, takes 2 or more arguments and returns a value of type A bag of values of type integer with no duplicates..

Property Value
Category Set functions
# Arguments 2 or more
Arguments
  • A bag of type integer
  • A bag of type integer
  • Optionally more bags of type integer
Return Value A bag of values of type integer with no duplicates.
Expressed As pre-fix
Representation ALFA short name
Allowed In Target false
ALFA Shorthand None
Commutative true

Example

/**
* Permit if the value passed as the first parameter is in the union of the 2 bags of values passed
* as the parameters to the union function
*/            
rule hexBinaryUnionExample{
    permit
    condition hexBinaryIsIn(hexBinaryOneAndOnly(hexValue), hexBinaryUnion(allowedHexValues,otherHexValues))
}

In this example, we use the integerUnion function in conjunction with integerIsIn to determine whether a single atomic value is in the union of 2 bags of values. This also shows how functions can be combined together in ALFA.