@ -45,157 +45,149 @@ public class MethodReferenceNode extends ExpressionNode {
@@ -45,157 +45,149 @@ public class MethodReferenceNode extends ExpressionNode {
Map < String , AggregationMethodReference > map = new HashMap < String , AggregationMethodReference > ( ) ;
// BOOLEAN OPERATORS
map . put ( "and" , arrayArgumentAggregationMethod Reference ( ) . forOperator ( "$and" ) ) ;
map . put ( "or" , arrayArgumentAggregationMethod Reference ( ) . forOperator ( "$or" ) ) ;
map . put ( "not" , arrayArgumentAggregationMethod Reference ( ) . forOperator ( "$not" ) ) ;
map . put ( "and" , arrayArgRef ( ) . forOperator ( "$and" ) ) ;
map . put ( "or" , arrayArgRef ( ) . forOperator ( "$or" ) ) ;
map . put ( "not" , arrayArgRef ( ) . forOperator ( "$not" ) ) ;
// SET OPERATORS
map . put ( "setEquals" , arrayArgumentAggregationMethod Reference ( ) . forOperator ( "$setEquals" ) ) ;
map . put ( "setIntersection" , arrayArgumentAggregationMethod Reference ( ) . forOperator ( "$setIntersection" ) ) ;
map . put ( "setUnion" , arrayArgumentAggregationMethod Reference ( ) . forOperator ( "$setUnion" ) ) ;
map . put ( "setDifference" , arrayArgumentAggregationMethod Reference ( ) . forOperator ( "$setDifference" ) ) ;
map . put ( "setEquals" , arrayArgRef ( ) . forOperator ( "$setEquals" ) ) ;
map . put ( "setIntersection" , arrayArgRef ( ) . forOperator ( "$setIntersection" ) ) ;
map . put ( "setUnion" , arrayArgRef ( ) . forOperator ( "$setUnion" ) ) ;
map . put ( "setDifference" , arrayArgRef ( ) . forOperator ( "$setDifference" ) ) ;
// 2nd.
map . put ( "setIsSubset" , arrayArgumentAggregationMethod Reference ( ) . forOperator ( "$setIsSubset" ) ) ;
map . put ( "anyElementTrue" , arrayArgumentAggregationMethod Reference ( ) . forOperator ( "$anyElementTrue" ) ) ;
map . put ( "allElementsTrue" , arrayArgumentAggregationMethod Reference ( ) . forOperator ( "$allElementsTrue" ) ) ;
map . put ( "setIsSubset" , arrayArgRef ( ) . forOperator ( "$setIsSubset" ) ) ;
map . put ( "anyElementTrue" , arrayArgRef ( ) . forOperator ( "$anyElementTrue" ) ) ;
map . put ( "allElementsTrue" , arrayArgRef ( ) . forOperator ( "$allElementsTrue" ) ) ;
// COMPARISON OPERATORS
map . put ( "cmp" , arrayArgumentAggregationMethod Reference ( ) . forOperator ( "$cmp" ) ) ;
map . put ( "eq" , arrayArgumentAggregationMethod Reference ( ) . forOperator ( "$eq" ) ) ;
map . put ( "gt" , arrayArgumentAggregationMethod Reference ( ) . forOperator ( "$gt" ) ) ;
map . put ( "gte" , arrayArgumentAggregationMethod Reference ( ) . forOperator ( "$gte" ) ) ;
map . put ( "lt" , arrayArgumentAggregationMethod Reference ( ) . forOperator ( "$lt" ) ) ;
map . put ( "lte" , arrayArgumentAggregationMethod Reference ( ) . forOperator ( "$lte" ) ) ;
map . put ( "ne" , arrayArgumentAggregationMethod Reference ( ) . forOperator ( "$ne" ) ) ;
map . put ( "cmp" , arrayArgRef ( ) . forOperator ( "$cmp" ) ) ;
map . put ( "eq" , arrayArgRef ( ) . forOperator ( "$eq" ) ) ;
map . put ( "gt" , arrayArgRef ( ) . forOperator ( "$gt" ) ) ;
map . put ( "gte" , arrayArgRef ( ) . forOperator ( "$gte" ) ) ;
map . put ( "lt" , arrayArgRef ( ) . forOperator ( "$lt" ) ) ;
map . put ( "lte" , arrayArgRef ( ) . forOperator ( "$lte" ) ) ;
map . put ( "ne" , arrayArgRef ( ) . forOperator ( "$ne" ) ) ;
// ARITHMETIC OPERATORS
map . put ( "abs" , singleArgumentAggregationMethod Reference ( ) . forOperator ( "$abs" ) ) ;
map . put ( "add" , arrayArgumentAggregationMethod Reference ( ) . forOperator ( "$add" ) ) ;
map . put ( "ceil" , singleArgumentAggregationMethod Reference ( ) . forOperator ( "$ceil" ) ) ;
map . put ( "divide" , arrayArgumentAggregationMethod Reference ( ) . forOperator ( "$divide" ) ) ;
map . put ( "exp" , singleArgumentAggregationMethod Reference ( ) . forOperator ( "$exp" ) ) ;
map . put ( "floor" , singleArgumentAggregationMethod Reference ( ) . forOperator ( "$floor" ) ) ;
map . put ( "ln" , singleArgumentAggregationMethod Reference ( ) . forOperator ( "$ln" ) ) ;
map . put ( "log" , arrayArgumentAggregationMethod Reference ( ) . forOperator ( "$log" ) ) ;
map . put ( "log10" , singleArgumentAggregationMethod Reference ( ) . forOperator ( "$log10" ) ) ;
map . put ( "mod" , arrayArgumentAggregationMethod Reference ( ) . forOperator ( "$mod" ) ) ;
map . put ( "multiply" , arrayArgumentAggregationMethod Reference ( ) . forOperator ( "$multiply" ) ) ;
map . put ( "pow" , arrayArgumentAggregationMethod Reference ( ) . forOperator ( "$pow" ) ) ;
map . put ( "sqrt" , singleArgumentAggregationMethod Reference ( ) . forOperator ( "$sqrt" ) ) ;
map . put ( "subtract" , arrayArgumentAggregationMethod Reference ( ) . forOperator ( "$subtract" ) ) ;
map . put ( "trunc" , singleArgumentAggregationMethod Reference ( ) . forOperator ( "$trunc" ) ) ;
map . put ( "abs" , singleArgRef ( ) . forOperator ( "$abs" ) ) ;
map . put ( "add" , arrayArgRef ( ) . forOperator ( "$add" ) ) ;
map . put ( "ceil" , singleArgRef ( ) . forOperator ( "$ceil" ) ) ;
map . put ( "divide" , arrayArgRef ( ) . forOperator ( "$divide" ) ) ;
map . put ( "exp" , singleArgRef ( ) . forOperator ( "$exp" ) ) ;
map . put ( "floor" , singleArgRef ( ) . forOperator ( "$floor" ) ) ;
map . put ( "ln" , singleArgRef ( ) . forOperator ( "$ln" ) ) ;
map . put ( "log" , arrayArgRef ( ) . forOperator ( "$log" ) ) ;
map . put ( "log10" , singleArgRef ( ) . forOperator ( "$log10" ) ) ;
map . put ( "mod" , arrayArgRef ( ) . forOperator ( "$mod" ) ) ;
map . put ( "multiply" , arrayArgRef ( ) . forOperator ( "$multiply" ) ) ;
map . put ( "pow" , arrayArgRef ( ) . forOperator ( "$pow" ) ) ;
map . put ( "sqrt" , singleArgRef ( ) . forOperator ( "$sqrt" ) ) ;
map . put ( "subtract" , arrayArgRef ( ) . forOperator ( "$subtract" ) ) ;
map . put ( "trunc" , singleArgRef ( ) . forOperator ( "$trunc" ) ) ;
// STRING OPERATORS
map . put ( "concat" , arrayArgumentAggregationMethodReference ( ) . forOperator ( "$concat" ) ) ;
map . put ( "strcasecmp" , arrayArgumentAggregationMethodReference ( ) . forOperator ( "$strcasecmp" ) ) ;
map . put ( "substr" , arrayArgumentAggregationMethodReference ( ) . forOperator ( "$substr" ) ) ;
map . put ( "toLower" , singleArgumentAggregationMethodReference ( ) . forOperator ( "$toLower" ) ) ;
map . put ( "toUpper" , singleArgumentAggregationMethodReference ( ) . forOperator ( "$toUpper" ) ) ;
map . put ( "strcasecmp" , arrayArgumentAggregationMethodReference ( ) . forOperator ( "$strcasecmp" ) ) ;
map . put ( "indexOfBytes" , arrayArgumentAggregationMethodReference ( ) . forOperator ( "$indexOfBytes" ) ) ;
map . put ( "indexOfCP" , arrayArgumentAggregationMethodReference ( ) . forOperator ( "$indexOfCP" ) ) ;
map . put ( "split" , arrayArgumentAggregationMethodReference ( ) . forOperator ( "$split" ) ) ;
map . put ( "strLenBytes" , singleArgumentAggregationMethodReference ( ) . forOperator ( "$strLenBytes" ) ) ;
map . put ( "strLenCP" , singleArgumentAggregationMethodReference ( ) . forOperator ( "$strLenCP" ) ) ;
map . put ( "substrCP" , arrayArgumentAggregationMethodReference ( ) . forOperator ( "$substrCP" ) ) ;
map . put ( "trim" , mapArgumentAggregationMethodReference ( ) . forOperator ( "$trim" ) . mappingParametersTo ( "input" , "chars" ) ) ;
map . put ( "ltrim" ,
mapArgumentAggregationMethodReference ( ) . forOperator ( "$ltrim" ) . mappingParametersTo ( "input" , "chars" ) ) ;
map . put ( "rtrim" ,
mapArgumentAggregationMethodReference ( ) . forOperator ( "$rtrim" ) . mappingParametersTo ( "input" , "chars" ) ) ;
map . put ( "concat" , arrayArgRef ( ) . forOperator ( "$concat" ) ) ;
map . put ( "strcasecmp" , arrayArgRef ( ) . forOperator ( "$strcasecmp" ) ) ;
map . put ( "substr" , arrayArgRef ( ) . forOperator ( "$substr" ) ) ;
map . put ( "toLower" , singleArgRef ( ) . forOperator ( "$toLower" ) ) ;
map . put ( "toUpper" , singleArgRef ( ) . forOperator ( "$toUpper" ) ) ;
map . put ( "indexOfBytes" , arrayArgRef ( ) . forOperator ( "$indexOfBytes" ) ) ;
map . put ( "indexOfCP" , arrayArgRef ( ) . forOperator ( "$indexOfCP" ) ) ;
map . put ( "split" , arrayArgRef ( ) . forOperator ( "$split" ) ) ;
map . put ( "strLenBytes" , singleArgRef ( ) . forOperator ( "$strLenBytes" ) ) ;
map . put ( "strLenCP" , singleArgRef ( ) . forOperator ( "$strLenCP" ) ) ;
map . put ( "substrCP" , arrayArgRef ( ) . forOperator ( "$substrCP" ) ) ;
map . put ( "trim" , mapArgRef ( ) . forOperator ( "$trim" ) . mappingParametersTo ( "input" , "chars" ) ) ;
map . put ( "ltrim" , mapArgRef ( ) . forOperator ( "$ltrim" ) . mappingParametersTo ( "input" , "chars" ) ) ;
map . put ( "rtrim" , mapArgRef ( ) . forOperator ( "$rtrim" ) . mappingParametersTo ( "input" , "chars" ) ) ;
// TEXT SEARCH OPERATORS
map . put ( "meta" , singleArgumentAggregationMethod Reference ( ) . forOperator ( "$meta" ) ) ;
map . put ( "meta" , singleArgRef ( ) . forOperator ( "$meta" ) ) ;
// ARRAY OPERATORS
map . put ( "arrayElemAt" , arrayArgumentAggregationMethod Reference ( ) . forOperator ( "$arrayElemAt" ) ) ;
map . put ( "concatArrays" , arrayArgumentAggregationMethod Reference ( ) . forOperator ( "$concatArrays" ) ) ;
map . put ( "filter" , mapArgumentAggregationMethod Reference ( ) . forOperator ( "$filter" ) //
map . put ( "arrayElemAt" , arrayArgRef ( ) . forOperator ( "$arrayElemAt" ) ) ;
map . put ( "concatArrays" , arrayArgRef ( ) . forOperator ( "$concatArrays" ) ) ;
map . put ( "filter" , mapArgRef ( ) . forOperator ( "$filter" ) //
. mappingParametersTo ( "input" , "as" , "cond" ) ) ;
map . put ( "isArray" , singleArgumentAggregationMethodReference ( ) . forOperator ( "$isArray" ) ) ;
map . put ( "size" , singleArgumentAggregationMethodReference ( ) . forOperator ( "$size" ) ) ;
map . put ( "slice" , arrayArgumentAggregationMethodReference ( ) . forOperator ( "$slice" ) ) ;
map . put ( "reverseArray" , singleArgumentAggregationMethodReference ( ) . forOperator ( "$reverseArray" ) ) ;
map . put ( "reduce" , mapArgumentAggregationMethodReference ( ) . forOperator ( "$reduce" ) . mappingParametersTo ( "input" ,
"initialValue" , "in" ) ) ;
map . put ( "zip" , mapArgumentAggregationMethodReference ( ) . forOperator ( "$zip" ) . mappingParametersTo ( "inputs" ,
"useLongestLength" , "defaults" ) ) ;
map . put ( "in" , arrayArgumentAggregationMethodReference ( ) . forOperator ( "$in" ) ) ;
map . put ( "arrayToObject" , singleArgumentAggregationMethodReference ( ) . forOperator ( "$arrayToObject" ) ) ;
map . put ( "indexOfArray" , arrayArgumentAggregationMethodReference ( ) . forOperator ( "$indexOfArray" ) ) ;
map . put ( "range" , arrayArgumentAggregationMethodReference ( ) . forOperator ( "$range" ) ) ;
map . put ( "isArray" , singleArgRef ( ) . forOperator ( "$isArray" ) ) ;
map . put ( "size" , singleArgRef ( ) . forOperator ( "$size" ) ) ;
map . put ( "slice" , arrayArgRef ( ) . forOperator ( "$slice" ) ) ;
map . put ( "reverseArray" , singleArgRef ( ) . forOperator ( "$reverseArray" ) ) ;
map . put ( "reduce" , mapArgRef ( ) . forOperator ( "$reduce" ) . mappingParametersTo ( "input" , "initialValue" , "in" ) ) ;
map . put ( "zip" , mapArgRef ( ) . forOperator ( "$zip" ) . mappingParametersTo ( "inputs" , "useLongestLength" , "defaults" ) ) ;
map . put ( "in" , arrayArgRef ( ) . forOperator ( "$in" ) ) ;
map . put ( "arrayToObject" , singleArgRef ( ) . forOperator ( "$arrayToObject" ) ) ;
map . put ( "indexOfArray" , arrayArgRef ( ) . forOperator ( "$indexOfArray" ) ) ;
map . put ( "range" , arrayArgRef ( ) . forOperator ( "$range" ) ) ;
// VARIABLE OPERATORS
map . put ( "map" , mapArgumentAggregationMethod Reference ( ) . forOperator ( "$map" ) //
map . put ( "map" , mapArgRef ( ) . forOperator ( "$map" ) //
. mappingParametersTo ( "input" , "as" , "in" ) ) ;
map . put ( "let" , mapArgumentAggregationMethod Reference ( ) . forOperator ( "$let" ) . mappingParametersTo ( "vars" , "in" ) ) ;
map . put ( "let" , mapArgRef ( ) . forOperator ( "$let" ) . mappingParametersTo ( "vars" , "in" ) ) ;
// LITERAL OPERATORS
map . put ( "literal" , singleArgumentAggregationMethod Reference ( ) . forOperator ( "$literal" ) ) ;
map . put ( "literal" , singleArgRef ( ) . forOperator ( "$literal" ) ) ;
// DATE OPERATORS
map . put ( "dayOfYear" , singleArgumentAggregationMethod Reference ( ) . forOperator ( "$dayOfYear" ) ) ;
map . put ( "dayOfMonth" , singleArgumentAggregationMethod Reference ( ) . forOperator ( "$dayOfMonth" ) ) ;
map . put ( "dayOfWeek" , singleArgumentAggregationMethod Reference ( ) . forOperator ( "$dayOfWeek" ) ) ;
map . put ( "year" , singleArgumentAggregationMethod Reference ( ) . forOperator ( "$year" ) ) ;
map . put ( "month" , singleArgumentAggregationMethod Reference ( ) . forOperator ( "$month" ) ) ;
map . put ( "week" , singleArgumentAggregationMethod Reference ( ) . forOperator ( "$week" ) ) ;
map . put ( "hour" , singleArgumentAggregationMethod Reference ( ) . forOperator ( "$hour" ) ) ;
map . put ( "minute" , singleArgumentAggregationMethod Reference ( ) . forOperator ( "$minute" ) ) ;
map . put ( "second" , singleArgumentAggregationMethod Reference ( ) . forOperator ( "$second" ) ) ;
map . put ( "millisecond" , singleArgumentAggregationMethod Reference ( ) . forOperator ( "$millisecond" ) ) ;
map . put ( "dateToString" , mapArgumentAggregationMethod Reference ( ) . forOperator ( "$dateToString" ) //
map . put ( "dayOfYear" , singleArgRef ( ) . forOperator ( "$dayOfYear" ) ) ;
map . put ( "dayOfMonth" , singleArgRef ( ) . forOperator ( "$dayOfMonth" ) ) ;
map . put ( "dayOfWeek" , singleArgRef ( ) . forOperator ( "$dayOfWeek" ) ) ;
map . put ( "year" , singleArgRef ( ) . forOperator ( "$year" ) ) ;
map . put ( "month" , singleArgRef ( ) . forOperator ( "$month" ) ) ;
map . put ( "week" , singleArgRef ( ) . forOperator ( "$week" ) ) ;
map . put ( "hour" , singleArgRef ( ) . forOperator ( "$hour" ) ) ;
map . put ( "minute" , singleArgRef ( ) . forOperator ( "$minute" ) ) ;
map . put ( "second" , singleArgRef ( ) . forOperator ( "$second" ) ) ;
map . put ( "millisecond" , singleArgRef ( ) . forOperator ( "$millisecond" ) ) ;
map . put ( "dateToString" , mapArgRef ( ) . forOperator ( "$dateToString" ) //
. mappingParametersTo ( "format" , "date" ) ) ;
map . put ( "dateFromString" , mapArgumentAggregationMethod Reference ( ) . forOperator ( "$dateFromString" ) //
map . put ( "dateFromString" , mapArgRef ( ) . forOperator ( "$dateFromString" ) //
. mappingParametersTo ( "dateString" , "format" , "timezone" , "onError" , "onNull" ) ) ;
map . put ( "dateFromParts" , mapArgumentAggregationMethodReference ( ) . forOperator ( "$dateFromParts" )
. mappingParametersTo ( "year" , "month" , "day" , "hour" , "minute" , "second" , "milliseconds" , "timezone" ) ) ;
map . put ( "isoDateFromParts" ,
mapArgumentAggregationMethodReference ( ) . forOperator ( "$dateFromParts" ) . mappingParametersTo ( "isoWeekYear" ,
"isoWeek" , "isoDayOfWeek" , "hour" , "minute" , "second" , "milliseconds" , "timezone" ) ) ;
map . put ( "dateToParts" , mapArgumentAggregationMethodReference ( ) . forOperator ( "$dateToParts" ) //
map . put ( "dateFromParts" , mapArgRef ( ) . forOperator ( "$dateFromParts" ) . mappingParametersTo ( "year" , "month" , "day" ,
"hour" , "minute" , "second" , "milliseconds" , "timezone" ) ) ;
map . put ( "isoDateFromParts" , mapArgRef ( ) . forOperator ( "$dateFromParts" ) . mappingParametersTo ( "isoWeekYear" , "isoWeek" ,
"isoDayOfWeek" , "hour" , "minute" , "second" , "milliseconds" , "timezone" ) ) ;
map . put ( "dateToParts" , mapArgRef ( ) . forOperator ( "$dateToParts" ) //
. mappingParametersTo ( "date" , "timezone" , "iso8601" ) ) ;
map . put ( "isoDayOfWeek" , singleArgumentAggregationMethod Reference ( ) . forOperator ( "$isoDayOfWeek" ) ) ;
map . put ( "isoWeek" , singleArgumentAggregationMethod Reference ( ) . forOperator ( "$isoWeek" ) ) ;
map . put ( "isoWeekYear" , singleArgumentAggregationMethod Reference ( ) . forOperator ( "$isoWeekYear" ) ) ;
map . put ( "isoDayOfWeek" , singleArgRef ( ) . forOperator ( "$isoDayOfWeek" ) ) ;
map . put ( "isoWeek" , singleArgRef ( ) . forOperator ( "$isoWeek" ) ) ;
map . put ( "isoWeekYear" , singleArgRef ( ) . forOperator ( "$isoWeekYear" ) ) ;
// CONDITIONAL OPERATORS
map . put ( "cond" , mapArgumentAggregationMethod Reference ( ) . forOperator ( "$cond" ) //
map . put ( "cond" , mapArgRef ( ) . forOperator ( "$cond" ) //
. mappingParametersTo ( "if" , "then" , "else" ) ) ;
map . put ( "ifNull" , arrayArgumentAggregationMethod Reference ( ) . forOperator ( "$ifNull" ) ) ;
map . put ( "ifNull" , arrayArgRef ( ) . forOperator ( "$ifNull" ) ) ;
// GROUP OPERATORS
map . put ( "sum" , arrayArgumentAggregationMethod Reference ( ) . forOperator ( "$sum" ) ) ;
map . put ( "avg" , arrayArgumentAggregationMethod Reference ( ) . forOperator ( "$avg" ) ) ;
map . put ( "first" , singleArgumentAggregationMethod Reference ( ) . forOperator ( "$first" ) ) ;
map . put ( "last" , singleArgumentAggregationMethod Reference ( ) . forOperator ( "$last" ) ) ;
map . put ( "max" , arrayArgumentAggregationMethod Reference ( ) . forOperator ( "$max" ) ) ;
map . put ( "min" , arrayArgumentAggregationMethod Reference ( ) . forOperator ( "$min" ) ) ;
map . put ( "push" , singleArgumentAggregationMethod Reference ( ) . forOperator ( "$push" ) ) ;
map . put ( "addToSet" , singleArgumentAggregationMethod Reference ( ) . forOperator ( "$addToSet" ) ) ;
map . put ( "stdDevPop" , arrayArgumentAggregationMethod Reference ( ) . forOperator ( "$stdDevPop" ) ) ;
map . put ( "stdDevSamp" , arrayArgumentAggregationMethod Reference ( ) . forOperator ( "$stdDevSamp" ) ) ;
map . put ( "sum" , arrayArgRef ( ) . forOperator ( "$sum" ) ) ;
map . put ( "avg" , arrayArgRef ( ) . forOperator ( "$avg" ) ) ;
map . put ( "first" , singleArgRef ( ) . forOperator ( "$first" ) ) ;
map . put ( "last" , singleArgRef ( ) . forOperator ( "$last" ) ) ;
map . put ( "max" , arrayArgRef ( ) . forOperator ( "$max" ) ) ;
map . put ( "min" , arrayArgRef ( ) . forOperator ( "$min" ) ) ;
map . put ( "push" , singleArgRef ( ) . forOperator ( "$push" ) ) ;
map . put ( "addToSet" , singleArgRef ( ) . forOperator ( "$addToSet" ) ) ;
map . put ( "stdDevPop" , arrayArgRef ( ) . forOperator ( "$stdDevPop" ) ) ;
map . put ( "stdDevSamp" , arrayArgRef ( ) . forOperator ( "$stdDevSamp" ) ) ;
// TYPE OPERATORS
map . put ( "type" , singleArgumentAggregationMethod Reference ( ) . forOperator ( "$type" ) ) ;
map . put ( "type" , singleArgRef ( ) . forOperator ( "$type" ) ) ;
// OBJECT OPERATORS
map . put ( "objectToArray" , singleArgumentAggregationMethod Reference ( ) . forOperator ( "$objectToArray" ) ) ;
map . put ( "mergeObjects" , arrayArgumentAggregationMethod Reference ( ) . forOperator ( "$mergeObjects" ) ) ;
map . put ( "objectToArray" , singleArgRef ( ) . forOperator ( "$objectToArray" ) ) ;
map . put ( "mergeObjects" , arrayArgRef ( ) . forOperator ( "$mergeObjects" ) ) ;
// CONVERT OPERATORS
map . put ( "convert" , mapArgumentAggregationMethod Reference ( ) . forOperator ( "$convert" ) //
map . put ( "convert" , mapArgRef ( ) . forOperator ( "$convert" ) //
. mappingParametersTo ( "input" , "to" , "onError" , "onNull" ) ) ;
map . put ( "toBool" , singleArgumentAggregationMethodReference ( ) . forOperator ( "$toBool" ) ) ;
map . put ( "toDate" , singleArgumentAggregationMethodReference ( ) . forOperator ( "$toDate" ) ) ;
map . put ( "toDecimal" , singleArgumentAggregationMethodReference ( ) . forOperator ( "$toDecimal" ) ) ;
map . put ( "toDouble" , singleArgumentAggregationMethodReference ( ) . forOperator ( "$toDouble" ) ) ;
map . put ( "toInt" , singleArgumentAggregationMethodReference ( ) . forOperator ( "$toInt" ) ) ;
map . put ( "toLong" , singleArgumentAggregationMethodReference ( ) . forOperator ( "$toLong" ) ) ;
map . put ( "toObjectId" , singleArgumentAggregationMethodReference ( ) . forOperator ( "$toObjectId" ) ) ;
map . put ( "toString" , singleArgumentAggregationMethodReference ( ) . forOperator ( "$toString" ) ) ;
map . put ( "toBool" , singleArgRef ( ) . forOperator ( "$toBool" ) ) ;
map . put ( "toDate" , singleArgRef ( ) . forOperator ( "$toDate" ) ) ;
map . put ( "toDecimal" , singleArgRef ( ) . forOperator ( "$toDecimal" ) ) ;
map . put ( "toDouble" , singleArgRef ( ) . forOperator ( "$toDouble" ) ) ;
map . put ( "toInt" , singleArgRef ( ) . forOperator ( "$toInt" ) ) ;
map . put ( "toLong" , singleArgRef ( ) . forOperator ( "$toLong" ) ) ;
map . put ( "toObjectId" , singleArgRef ( ) . forOperator ( "$toObjectId" ) ) ;
map . put ( "toString" , singleArgRef ( ) . forOperator ( "$toString" ) ) ;
FUNCTIONS = Collections . unmodifiableMap ( map ) ;
}
@ -207,7 +199,7 @@ public class MethodReferenceNode extends ExpressionNode {
@@ -207,7 +199,7 @@ public class MethodReferenceNode extends ExpressionNode {
/ * *
* Returns the name of the method .
*
* @D eprecated since 1 . 10 . Please use { @link # getMethodReference ( ) } .
* @d eprecated since 1 . 10 . Please use { @link # getMethodReference ( ) } .
* /
@Nullable
@Deprecated
@ -290,7 +282,7 @@ public class MethodReferenceNode extends ExpressionNode {
@@ -290,7 +282,7 @@ public class MethodReferenceNode extends ExpressionNode {
*
* @return never { @literal null } .
* /
static AggregationMethodReference singleArgumentAggregationMethod Reference ( ) {
static AggregationMethodReference singleArgRef ( ) {
return new AggregationMethodReference ( null , ArgumentType . SINGLE , null ) ;
}
@ -299,7 +291,7 @@ public class MethodReferenceNode extends ExpressionNode {
@@ -299,7 +291,7 @@ public class MethodReferenceNode extends ExpressionNode {
*
* @return never { @literal null } .
* /
static AggregationMethodReference arrayArgumentAggregationMethod Reference ( ) {
static AggregationMethodReference arrayArgRef ( ) {
return new AggregationMethodReference ( null , ArgumentType . ARRAY , null ) ;
}
@ -308,7 +300,7 @@ public class MethodReferenceNode extends ExpressionNode {
@@ -308,7 +300,7 @@ public class MethodReferenceNode extends ExpressionNode {
*
* @return never { @literal null } .
* /
static AggregationMethodReference mapArgumentAggregationMethod Reference ( ) {
static AggregationMethodReference mapArgRef ( ) {
return new AggregationMethodReference ( null , ArgumentType . MAP , null ) ;
}