Package-level declarations

Types

Link copied to clipboard

A class modelling the possible conditions used by both transformations and load rules to determine whether or not to execute.

Link copied to clipboard
class ConditionEvaluationException(val condition: Condition, message: String, cause: Throwable? = null) : InvalidMatchException

Exception class to signify that a Condition has failed in an exceptional way during evaluation.

Link copied to clipboard
abstract class InvalidMatchException(message: String? = null, cause: Throwable? = null) : RuntimeException

Exception class to signify that the Matchable has failed in an exceptional way, as opposed to having not matched the input.

Link copied to clipboard
fun interface Matchable<T>

Matchable is a generic interface for checking whether an input matches an expectation.

Link copied to clipboard
class MissingDataItemException(message: String = "DataItem not found.") : OperatorFailedException

Indicates that the DataItem was not found whilst evaluating the Condition.operator

Link copied to clipboard
class MissingFilterException(message: String = "Filter cannot be null.") : OperatorFailedException

Indicates that the Condition.filter was required, but was unavailable.

Link copied to clipboard

Indicates that a numeric type was expected, but was not found or was not parseable to a numeric type

Link copied to clipboard
abstract class OperatorFailedException(message: String, cause: Throwable? = null) : RuntimeException

Base exception for exceptions thrown by Operator implementations. This exception is used to denote that an Operator has completed exceptionally, and is therefore unable to return a valid true/false result.

Link copied to clipboard
sealed class Rule<T> : DataItemConvertible

Simple Rule builder class for building out logical rules, that can be serialized to a DataItem The type of T should therefore either implement DataItemConvertible or be one of the types supported by DataItem

Link copied to clipboard

Indicates that a rule was configured for a module, but was not found. This will cause the module feature (collection/dispatching etc) not to happen.

Link copied to clipboard

Indicates that an operator was applied to an unsupported input type. Not all Condition.Operator implementations are supported for all input types.

Functions

Link copied to clipboard

Convenience method to convert a Rule to a Matchable

Link copied to clipboard
fun <T : Matchable<R>, R> Rule<T>.matches(input: R): Boolean

Convenience method to determine if a Rule is satisfied by the given input.