public FEELFnResult<TemporalAccessor> invoke(@ParameterName( "year" ) Number year, @ParameterName( "month" ) Number month, @ParameterName( "day" ) Number day, @ParameterName( "hour" ) Number hour, @ParameterName( "minute" ) Number minute, @ParameterName( "second" ) Number second ) { return invoke( year, month, day, hour, minute, second, (Number) null ); }
public FEELFnResult<Object> invoke(@ParameterName("input") String input, @ParameterName("pattern") String pattern, @ParameterName( "replacement" ) String replacement ) { return invoke(input, pattern, replacement, null); }
public FEELFnResult<String> invoke(@ParameterName("string") String string, @ParameterName("start position") Number start) { return invoke(string, start, null); }
public FEELFnResult<List> invoke(@ParameterName("list") List list, @ParameterName("start position") BigDecimal start) { return invoke( list, start, null ); }
public FEELFnResult<List<Object>> invoke( @ParameterName( "list" ) List list, @ParameterName( "item" ) Object[] items ) { return invoke((Object) list, items); }
public FEELFnResult<Boolean> invoke(@ParameterName("input") String input, @ParameterName("pattern") String pattern) { return invoke( input, pattern, null ); }
public FEELFnResult<List<String>> invoke(@ParameterName("string") String string, @ParameterName("delimiter") String delimiter) { return invoke(string, delimiter, null); }
public FEELFnResult<Boolean> invoke(@ParameterName( "list" ) Boolean single) { if( single == null ) { single = Boolean.FALSE; } return FEELFnResult.ofResult( single ); }
public FEELFnResult<List<Object>> invoke(@ParameterName("list") List list) { return invoke(list, (a, b) -> { if( a instanceof Comparable && b instanceof Comparable ) { return ((Comparable) a).compareTo( b ); } else { return 0; } }); }
public FEELFnResult<Boolean> invoke(@ParameterName( "list" ) Boolean single) { return FEELFnResult.ofResult( single ); }
public FEELFnResult<Boolean> invoke(@ParameterName( "list" ) Boolean single) { return FEELFnResult.ofResult( single ); }
public FEELFnResult<List<Object>> invoke(@ParameterName( "ctx" ) EvaluationContext ctx, @ParameterName("list") List list, @ParameterName("precedes") FEELFunction function) { if ( function == null ) { return invoke( list ); } else { return invoke(list, (a, b) -> { final Object result = function.invokeReflectively(ctx, new Object[]{a, b}); if (!(result instanceof Boolean) || ((Boolean) result)) { return -1; } else { return 1; } } ); } }
public FEELFnResult<Boolean> invoke(@ParameterName("list") List list, @ParameterName("element") Object element) { if ( list == null ) { return FEELFnResult.ofError(new InvalidParametersEvent(Severity.ERROR, "list", "cannot be null")); } else { return FEELFnResult.ofResult( list.contains( element ) ); } }
public FEELFnResult<String> invoke(@ParameterName( "mask" ) String mask, @ParameterName("p") Object[] params) { if ( mask == null ) { return FEELFnResult.ofError(new InvalidParametersEvent(Severity.ERROR, "mask", "cannot be null")); } else { return FEELFnResult.ofResult( String.format( mask, params ) ); } } }
public FEELFnResult<BigDecimal> invoke(@ParameterName( "list" ) List list) { if ( list == null ) { return FEELFnResult.ofResult(BigDecimal.ZERO); } // using raw loop instead of streams for performance int count = 0; for( int i = 0; i < list.size(); i++ ) { if( list.get( i ) != null ) { count++; } } return FEELFnResult.ofResult( BigDecimal.valueOf( count ) ); }
public FEELFnResult<BigDecimal> invoke(@ParameterName("n") Object[] list) { if ( list == null ) { return FEELFnResult.ofResult( null ); } return invoke( Arrays.asList( list ) ); } }
public FEELFnResult<Object> invoke(@ParameterName("c") Object[] list) { if ( list == null || list.length == 0 ) { return FEELFnResult.ofResult( null ); } return invoke( Arrays.asList( list ) ); }
public FEELFnResult<Boolean> invoke(@ParameterName( "b" ) Object[] list) { if ( list == null ) { return FEELFnResult.ofResult( false ); } return invoke( Arrays.asList( list ) ); } }
public FEELFnResult<Object> invoke(@ParameterName("list") List<?> list) { if (list == null) { return FEELFnResult.ofError(new InvalidParametersEvent(Severity.ERROR, "list", "cannot be null")); } if (list.isEmpty()) { return FEELFnResult.ofResult( Collections.emptyList() ); } Map<BigDecimal, Long> collect = list.stream().map(EvalHelper::getBigDecimalOrNull).collect(Collectors.groupingBy(Function.identity(), Collectors.counting())); long maxFreq = collect.values().stream().mapToLong(Long::longValue).max().orElse(-1); List<BigDecimal> mostFrequents = collect.entrySet().stream() .filter(kv -> kv.getValue() == maxFreq) .map(Map.Entry::getKey) .collect(Collectors.toList()); return FEELFnResult.ofResult(mostFrequents.stream().sorted().collect(Collectors.toList())); }
public FEELFnResult<BigDecimal> invoke(@ParameterName("n") Object[] list) { if ( list == null ) { return FEELFnResult.ofResult(null); } return invoke( Arrays.asList( list ) ); } }