The implementors in this package are more general than those that would typically be created, which allows them to be used in a wide range of applications. First of all, a wide range of data types can be passed to any of the functions. This includes all the primitive wrapper types, String, and java.util.Date. In addition, most operands can be passed as either init parameterss or firing paramiters. This allows applications to create rules that have values stored inside the rule, or to pass all operands at runtime. The documentation for each implementor should be examined to determine the individual number and types of parameters required.