Skip to main content
Documentation

Bulk Operations

Most types in the Function Development Kit represent built-in functions that provide access to bulks of objects.
They extend the types 'Bulk' and 'BuiltInFunction'.

Examples: Entity, Link, Event, ..

Bulk BuiltInFunction


It is common practice at Diafunc to work with types that represent bulks rather than single elements.
Even if you want to work with a single element only, you use a bulk type that only contains this element.
Therefore, most operations are bulk-oriented even though the types are named in the singular.

Union

Elements which are in A, in B, or in both A and B
A Venn diagram illustrating the union of two sets

Union

Intersection

All elements of A that also belong to B
A Venn diagram illustrating the intersection of two sets

Intersection

Difference

Elements of A that don't belong to B
A Venn diagram illustrating the difference of two sets

Difference

Symmetric Difference

Elements which are in either of the sets, but not in their intersection
A Venn diagram illustrating the symmetric difference of two sets

Symmetric Difference

Filtering and Sorting

Every bulk can be filtered with a custom predicate and sorted by a custom key extractor. For bulks of selections there are additional dedicated operations; filtering and sorting of selections is covered in detail on the Selections page.

Uniqueness

Filtering duplicate selections to ensure uniqueness

Uniqueness

Evaluation

The Function Development Kit (FDK) supports many built-in functions to evaluate a bulk:

Evaluation

What next?