com.celadari.jsonlogicscala.evaluate
Triggers search for compatible paths with "conditionsValues" and "confMethod".
Triggers search for compatible paths with "conditionsValues" and "confMethod".
set of compatible paths.
Returns set of paths.
Returns set of paths. Set of paths corresponds to the different possible paths that extend "path" by adding an overloaded method compatible with "path"'s last element (class/type is com.celadari.jsonlogicscala.evaluate.MethodConf) return type as first input and value as second input.
set of compatible paths.
Returns set of overloaded methods of "objClass" that are compatible with return type of the last method of "path" and "value" as first and second input.
Returns set of overloaded methods of "objClass" that are compatible with return type of the last method of "path" and "value" as first and second input.
set of overloaded methods.
Returns set of overloaded methods that are compatible with value1 and value2Opt (if defined) as input.
Returns set of overloaded methods that are compatible with value1 and value2Opt (if defined) as input.
set of overloaded methods.
Returns set of optimized compatible paths with "conditionsValues" and "confMethod".
Returns set of optimized compatible paths with "conditionsValues" and "confMethod". If search has not yet been triggered, it is triggered, otherwise returns cached value.
set of compatible paths.
Initiates parameters values before paths search.
Initiates parameters values before paths search. Required as first search compares classes/types of "conditionsValues"'s first element and second element while next searches compares classes/types of last element of "paths" and current element of "conditionsValues".
Optimizes found paths by removing a path if there exists another path with a method with sub-types input arguments.
Optimizes found paths by removing a path if there exists another path with a method with sub-types input arguments.
class A, class B extends A, class C, class D extends C, class E path1: Array((method(A, C), _), ...) path2: Array((method(A, D), _), ...) path3: Array((method(B, C), _), ...) path4: Array((method(B, D), _), ...) path5: Array((method(A, E), _), ...) optimized paths are path1: Array((method(B, D), _), ...) path5: Array((method(A, E), _), ...)
(Since version ) see corresponding Javadoc for more information.
Responsible for finding paths of a compatible classes in case there exists multiple overloaded method versions of operator's method.
class A, class B extends A conditionsValues(a, b, c) (a object of A, b object of B, c object of C) overloaded methods have the following signatures: overloaded_method(A, A): B overloaded_method(A, B): A overloaded_method(A, C): D overloaded_method(A, D): A overloaded_method(B, A): A overloaded_method(B, C): A overloaded_method(D, C): A then compatible paths are Array((overloaded_method(A, A): B), (overloaded_method(B, C): A)) Array((overloaded_method(A, B): A), (overloaded_method(A, C): D)) This search is used on reduce type operators as conditions might not be the same type and which overloaded method to be applied must be found before evaluation.