public interface Path
Path.key("a").nth(2)
navigates first to the value for the key "a"
in a map, then to the value at the index 2
in a list.
Expr
.
select
in these examples produces a list of navigated values, so if
an example select
navigates to one value the result will be a list of one element.
Modifier and Type | Interface and Description |
---|---|
static interface |
Path.Impl |
Modifier and Type | Method and Description |
---|---|
static Path.Impl |
afterElem()
Navigates on a list to void element at end.
|
static Path.Impl |
all()
Navigates to every element of a collection.
|
static Path.Impl |
beforeElem()
Navigates on a list to void element at beginning.
|
static Path.Impl |
beforeIndex(java.lang.Object argIndex)
Navigates on list to void element before an index.
|
static Path.Impl |
beginning()
Navigates on a list to empty subsequence at beginning.
|
static Path.Impl |
collect(Path path)
Collects a list of values selected with given path from current point.
|
static Path.Impl |
collectOne(Path path)
Collects a single value selected with given path from current point.
|
static Path.Impl |
create()
Creates an empty Path.
|
static Path.Impl |
customNav(Navigator nav)
Adds custom navigator implementation to Path
|
static Path.Impl |
customNavBuilder(RamaFunction0<Navigator> builderFunction)
Adds a custom navigator built dynamically with the provided function of zero arguments.
|
static <T0> Path.Impl |
customNavBuilder(RamaFunction1<T0,Navigator> builderFunction,
java.lang.Object arg0)
Adds a custom navigator built dynamically with the provided function of one argument.
|
static <T0,T1> Path.Impl |
customNavBuilder(RamaFunction2<T0,T1,Navigator> builderFunction,
java.lang.Object arg0,
java.lang.Object arg1)
Adds a custom navigator built dynamically with the provided function of two arguments.
|
static <T0,T1,T2> Path.Impl |
customNavBuilder(RamaFunction3<T0,T1,T2,Navigator> builderFunction,
java.lang.Object arg0,
java.lang.Object arg1,
java.lang.Object arg2)
Adds a custom navigator built dynamically with the provided function of three arguments.
|
static <T0,T1,T2,T3> |
customNavBuilder(RamaFunction4<T0,T1,T2,T3,Navigator> builderFunction,
java.lang.Object arg0,
java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3)
Adds a custom navigator built dynamically with the provided function of four arguments.
|
static <T0,T1,T2,T3,T4> |
customNavBuilder(RamaFunction5<T0,T1,T2,T3,T4,Navigator> builderFunction,
java.lang.Object arg0,
java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3,
java.lang.Object arg4)
Adds a custom navigator built dynamically with the provided function of five arguments.
|
static <T0,T1,T2,T3,T4,T5> |
customNavBuilder(RamaFunction6<T0,T1,T2,T3,T4,T5,Navigator> builderFunction,
java.lang.Object arg0,
java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3,
java.lang.Object arg4,
java.lang.Object arg5)
Adds a custom navigator built dynamically with the provided function of six arguments.
|
static <T0,T1,T2,T3,T4,T5,T6> |
customNavBuilder(RamaFunction7<T0,T1,T2,T3,T4,T5,T6,Navigator> builderFunction,
java.lang.Object arg0,
java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3,
java.lang.Object arg4,
java.lang.Object arg5,
java.lang.Object arg6)
Adds a custom navigator built dynamically with the provided function of seven arguments.
|
static <T0,T1,T2,T3,T4,T5,T6,T7> |
customNavBuilder(RamaFunction8<T0,T1,T2,T3,T4,T5,T6,T7,Navigator> builderFunction,
java.lang.Object arg0,
java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3,
java.lang.Object arg4,
java.lang.Object arg5,
java.lang.Object arg6,
java.lang.Object arg7)
Adds a custom navigator built dynamically with the provided function of eight arguments.
|
static Path.Impl |
dispenseCollected()
Drops all collected values from subsequent navigation
|
static Path.Impl |
end()
Navigates on a list to empty subsequence at end.
|
static Path.Impl |
filteredList(Path path)
Navigates to sublist of elements filtered based on given Path.
|
static Path.Impl |
filterEqual(java.lang.Object argVal)
Continues navigation if current value is equal to provided value.
|
static Path.Impl |
filterGreaterThan(java.lang.Object argVal)
Continues navigation if current value is greater than provided value.
|
static Path.Impl |
filterGreaterThanOrEqual(java.lang.Object argVal)
Continues navigation if current value is greater than or equal to provided value.
|
static Path.Impl |
filterLessThan(java.lang.Object argVal)
Continues navigation if current value is less than provided value.
|
static Path.Impl |
filterLessThanOrEqual(java.lang.Object argVal)
Continues navigation if current value is less than or equal to provided value.
|
static Path.Impl |
filterNotEqual(java.lang.Object argVal)
Continues navigation if current value is not equal to provided value.
|
static Path.Impl |
filterNotSelected(Path path)
Continues navigation if provided path executed on current value navigates to zero values.
|
static <T0,R0> Path.Impl |
filterPred(RamaFunction1<T0,R0> pred)
Continues navigation if provided function returns true on current value.
|
static Path.Impl |
filterSelected(Path path)
Continues navigation if provided path executed on current value navigates to at least one value.
|
static Path.Impl |
first()
Navigates on list to first element if not empty.
|
static Path.Impl |
ifPath(Path conditionPath,
Path thenPath)
Tests condition against current point and continues navigating with
thenPath if
condition passes. |
static Path.Impl |
ifPath(Path conditionPath,
Path thenPath,
Path elsePath)
Tests condition against current point and continues navigating with
thenPath if
condition passes. |
static Path.Impl |
index(java.lang.Object argIndex)
Navigates to the index of a list if it exists.
|
static Path.Impl |
indexedVals()
Navigates to pairs of
[index, value] for every element of list. |
static <T0,R0> Path.Impl |
isCollected(RamaFunction1<T0,R0> predicate)
Stops navigation if given function on collected values returns false.
|
static Path.Impl |
key(java.lang.Object... argKeys)
Navigates to value for a key in a map.
|
static Path.Impl |
last()
Navigates on list to last element if not empty.
|
static Path.Impl |
mapKey(java.lang.Object argKey)
Navigates to a key in a map if it exists.
|
static Path.Impl |
mapKeys()
Navigates to every key of a map.
|
static Path.Impl |
mapVals()
Navigates to every value of a map.
|
static Path.Impl |
multiPath(Path... paths)
Navigates to each provided path in order, all starting from this point.
|
static Path.Impl |
must(java.lang.Object... argKeys)
Navigates to value for a key in a map only if key exists.
|
static Path.Impl |
nth(java.lang.Object argIndex)
Navigates to value for index in a list.
|
static Path.Impl |
nullToList()
Navigates to empty list if currently navigated to null.
|
static Path.Impl |
nullToSet()
Navigates to empty set if currently navigated to null.
|
static Path.Impl |
nullToVal(java.lang.Object argVal)
Navigates to given value if currently navigated to null.
|
static Path.Impl |
pathBuilder(RamaFunction0<Path> builderFunction)
Concatenates a path to the current path constructed with the provided function of zero arguments.
|
static <T0> Path.Impl |
pathBuilder(RamaFunction1<T0,Path> builderFunction,
java.lang.Object arg0)
Concatenates a path to the current path constructed with the provided function of one argument.
|
static <T0,T1> Path.Impl |
pathBuilder(RamaFunction2<T0,T1,Path> builderFunction,
java.lang.Object arg0,
java.lang.Object arg1)
Concatenates a path to the current path constructed with the provided function of two arguments.
|
static <T0,T1,T2> Path.Impl |
pathBuilder(RamaFunction3<T0,T1,T2,Path> builderFunction,
java.lang.Object arg0,
java.lang.Object arg1,
java.lang.Object arg2)
Concatenates a path to the current path constructed with the provided function of three arguments.
|
static <T0,T1,T2,T3> |
pathBuilder(RamaFunction4<T0,T1,T2,T3,Path> builderFunction,
java.lang.Object arg0,
java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3)
Concatenates a path to the current path constructed with the provided function of four arguments.
|
static <T0,T1,T2,T3,T4> |
pathBuilder(RamaFunction5<T0,T1,T2,T3,T4,Path> builderFunction,
java.lang.Object arg0,
java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3,
java.lang.Object arg4)
Concatenates a path to the current path constructed with the provided function of five arguments.
|
static <T0,T1,T2,T3,T4,T5> |
pathBuilder(RamaFunction6<T0,T1,T2,T3,T4,T5,Path> builderFunction,
java.lang.Object arg0,
java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3,
java.lang.Object arg4,
java.lang.Object arg5)
Concatenates a path to the current path constructed with the provided function of six arguments.
|
static <T0,T1,T2,T3,T4,T5,T6> |
pathBuilder(RamaFunction7<T0,T1,T2,T3,T4,T5,T6,Path> builderFunction,
java.lang.Object arg0,
java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3,
java.lang.Object arg4,
java.lang.Object arg5,
java.lang.Object arg6)
Concatenates a path to the current path constructed with the provided function of seven arguments.
|
static <T0,T1,T2,T3,T4,T5,T6,T7> |
pathBuilder(RamaFunction8<T0,T1,T2,T3,T4,T5,T6,T7,Path> builderFunction,
java.lang.Object arg0,
java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3,
java.lang.Object arg4,
java.lang.Object arg5,
java.lang.Object arg6,
java.lang.Object arg7)
Concatenates a path to the current path constructed with the provided function of eight arguments.
|
static Path.Impl |
putCollected(java.lang.Object argVal)
Adds given value to collected values.
|
static Path.Impl |
setElem(java.lang.Object argVal)
Navigates to element of set if it exists.
|
static Path.Impl |
sortedMapRange(java.lang.Object argKeyStart,
java.lang.Object argKeyEnd)
Navigates on a sorted map to a sorted map of all elements in that map between a range of keys.
|
static Path.Impl |
sortedMapRange(java.lang.Object argKeyStart,
java.lang.Object argKeyEnd,
java.lang.Object argOptions)
Navigates on a sorted map to a sorted map of all elements in that map between a range of keys, with options to change inclusive/exclusive status of start and end keys.
|
static Path.Impl |
sortedMapRangeFrom(java.lang.Object argKeyStart)
Navigates on a sorted map to a sorted map of all elements in that map after a key.
|
static Path.Impl |
sortedMapRangeFrom(java.lang.Object argKeyStart,
java.lang.Object argAmtOrOptions)
Navigates on a sorted map to a sorted map starting from a specified key, with options to read a fixed number of elements or configure whether start key is inclusive or exclusive.
|
static Path.Impl |
sortedMapRangeTo(java.lang.Object argKeyTo)
Navigates on a sorted map to a sorted map of all values in that map up to a key.
|
static Path.Impl |
sortedMapRangeTo(java.lang.Object argKeyTo,
java.lang.Object argAmtOrOptions)
Navigates on a sorted map to a sorted map up to a specified key, with options to read a fixed number of elements or configure whether end key is inclusive or exclusive.
|
static Path.Impl |
sortedSetRange(java.lang.Object argElemStart,
java.lang.Object argElemEnd)
Navigates on a sorted set to a sorted set of all values in that set between a range.
|
static Path.Impl |
sortedSetRange(java.lang.Object argElemStart,
java.lang.Object argElemEnd,
java.lang.Object argOptions)
Navigates on a sorted set to a sorted set of all values in that set between a range, with options to change inclusive/exclusive status of start and end elements.
|
static Path.Impl |
sortedSetRangeFrom(java.lang.Object argElemStart)
Navigates on a sorted set to a sorted set of all values in that set after an element.
|
static Path.Impl |
sortedSetRangeFrom(java.lang.Object argElemStart,
java.lang.Object argAmtOrOptions)
Navigates on a sorted set to a sorted set starting from a specified element, with options to read a fixed number of elements or configure whether start element is inclusive or exclusive.
|
static Path.Impl |
sortedSetRangeTo(java.lang.Object argElemTo)
Navigates on a sorted set to a sorted set of all values in that set up to an element.
|
static Path.Impl |
sortedSetRangeTo(java.lang.Object argElemTo,
java.lang.Object argAmtOrOptions)
Navigates on a sorted set to a sorted set up to a specified element, with options to read a fixed number of elements or configure whether end element is inclusive or exclusive.
|
static Path.Impl |
stay()
No-op that stays navigated at current point.
|
static Path.Impl |
stop()
Stops current branch of navigation.
|
static Path.Impl |
sublist(java.lang.Object argStartIndex,
java.lang.Object argEndIndex)
Navigates to sublist bounded by two indexes.
|
static <T0,R0,T1,T2,R1> |
sublistDynamic(RamaFunction1<T0,R0> startFunction,
RamaFunction2<T1,T2,R1> endFunction)
Navigates to sublist bounded by indexes chosen by functions.
|
static Path.Impl |
subMap(java.lang.Object... argKeys)
Navigates to a map containing subset of keys/values of starting map.
|
static Path.Impl |
subselect(Path path)
Navigates to list of values navigated by provided path.
|
static Path.Impl |
subset(java.lang.Object... argVals)
Navigates to subset of starting set with given elements.
|
static <T0,R0> Path.Impl |
term(RamaFunction1<T0,R0> termFunction)
Terminal point of a transform path that updates navigated value with the provided function
of one argument.
|
static <T0,T1,R0> Path.Impl |
term(RamaFunction2<T0,T1,R0> termFunction,
java.lang.Object arg1)
Terminal point of a transform path that updates navigated value with the provided function of two arguments.
|
static <T0,T1,T2,R0> |
term(RamaFunction3<T0,T1,T2,R0> termFunction,
java.lang.Object arg1,
java.lang.Object arg2)
Terminal point of a transform path that updates navigated value with the provided function of three arguments.
|
static <T0,T1,T2,T3,R0> |
term(RamaFunction4<T0,T1,T2,T3,R0> termFunction,
java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3)
Terminal point of a transform path that updates navigated value with the provided function of four arguments.
|
static <T0,T1,T2,T3,T4,R0> |
term(RamaFunction5<T0,T1,T2,T3,T4,R0> termFunction,
java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3,
java.lang.Object arg4)
Terminal point of a transform path that updates navigated value with the provided function of five arguments.
|
static <T0,T1,T2,T3,T4,T5,R0> |
term(RamaFunction6<T0,T1,T2,T3,T4,T5,R0> termFunction,
java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3,
java.lang.Object arg4,
java.lang.Object arg5)
Terminal point of a transform path that updates navigated value with the provided function of six arguments.
|
static <T0,T1,T2,T3,T4,T5,T6,R0> |
term(RamaFunction7<T0,T1,T2,T3,T4,T5,T6,R0> termFunction,
java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3,
java.lang.Object arg4,
java.lang.Object arg5,
java.lang.Object arg6)
Terminal point of a transform path that updates navigated value with the provided function of seven arguments.
|
static <T0,T1,T2,T3,T4,T5,T6,T7,R0> |
term(RamaFunction8<T0,T1,T2,T3,T4,T5,T6,T7,R0> termFunction,
java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3,
java.lang.Object arg4,
java.lang.Object arg5,
java.lang.Object arg6,
java.lang.Object arg7)
Terminal point of a transform path that updates navigated value with the provided function of eight arguments.
|
static Path.Impl |
termVal(java.lang.Object argVal)
Terminal point of a transform path that overrides navigated value to provided value
|
static Path.Impl |
termVoid()
Terminal point of a transform path that sets navigated value to void, causing it to be removed.
|
static Path.Impl |
transformed(Path path)
Navigates to transformation of current value with given path.
|
static <T0,R0> Path.Impl |
view(RamaFunction1<T0,R0> viewFunction)
Navigates to result of applying given function to current value.
|
static <T0,T1,R0> Path.Impl |
view(RamaFunction2<T0,T1,R0> viewFunction,
java.lang.Object arg1)
Navigates to result of applying given function to current value and provided arguments.
|
static <T0,T1,T2,R0> |
view(RamaFunction3<T0,T1,T2,R0> viewFunction,
java.lang.Object arg1,
java.lang.Object arg2)
Navigates to result of applying given function to current value and provided arguments.
|
static <T0,T1,T2,T3,R0> |
view(RamaFunction4<T0,T1,T2,T3,R0> viewFunction,
java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3)
Navigates to result of applying given function to current value and provided arguments.
|
static <T0,T1,T2,T3,T4,R0> |
view(RamaFunction5<T0,T1,T2,T3,T4,R0> viewFunction,
java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3,
java.lang.Object arg4)
Navigates to result of applying given function to current value and provided arguments.
|
static <T0,T1,T2,T3,T4,T5,R0> |
view(RamaFunction6<T0,T1,T2,T3,T4,T5,R0> viewFunction,
java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3,
java.lang.Object arg4,
java.lang.Object arg5)
Navigates to result of applying given function to current value and provided arguments.
|
static <T0,T1,T2,T3,T4,T5,T6,R0> |
view(RamaFunction7<T0,T1,T2,T3,T4,T5,T6,R0> viewFunction,
java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3,
java.lang.Object arg4,
java.lang.Object arg5,
java.lang.Object arg6)
Navigates to result of applying given function to current value and provided arguments.
|
static <T0,T1,T2,T3,T4,T5,T6,T7,R0> |
view(RamaFunction8<T0,T1,T2,T3,T4,T5,T6,T7,R0> viewFunction,
java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3,
java.lang.Object arg4,
java.lang.Object arg5,
java.lang.Object arg6,
java.lang.Object arg7)
Navigates to result of applying given function to current value and provided arguments.
|
static Path.Impl |
voidSetElem()
Navigates to void element of set.
|
static Path.Impl create()
Path.key("a")
is the same as Path.create().key("a")
static Path.Impl all()
List
interface. Value navigator.
select({"a": 1, "b": 2)}, Path.all()) -> [["a", 1], ["b", 2]]
select([1, 2, 3], Path.all()) -> [1, 2, 3]
SequenceIndexChangesDiff
, SequenceIndexRemoveDiff
, or a combination. For sets produces SetAddDiff
, SetRemoveDiff
, or a combination. For maps produces KeyDiff
, KeyRemoveDiff
, or a combination. When multiple diffs are produces they are combined with MultiDiff
.static Path.Impl mapKeys()
select({"a": 1, "b": 2)}, Path.mapKeys()) -> ["a", "b"]
KeysRemoveDiff
, KeysDiff
,
or a combination of the two with MultiDiff
.static Path.Impl mapVals()
select({"a": 1, "b": 2)}, Path.mapVals()) -> [1, 2]
KeysRemoveDiff
, KeysDiff
,
or a combination of the two with MultiDiff
.static Path.Impl mapKey(java.lang.Object argKey)
select({"a": 1, "b": 2)}, Path.mapKey("a")) -> ["a"]
select({"a": 1, "b": 2)}, Path.mapKey("c")) -> []
KeyChangeDiff
or KeyRemoveDiff
.argKey
- Key to navigate tostatic Path.Impl subMap(java.lang.Object... argKeys)
select({"a": 1, "b": 2, "c": 3)}, Path.subMap("a", "c", "d")) -> [{"a": 1, "c": 3}]
KeysRemoveDiff
, KeysDiff
,
or a combination of the two with MultiDiff
. If the submap is modified in a coarse-grained
way (e.g. overridden completely with termVal(java.lang.Object)
), this navigator will produce a NewValueDiff
.argKeys
- Keys to select in starting map. Non-existing keys are ignored.static Path.Impl must(java.lang.Object... argKeys)
Path.must("a", "b")
is same as Path.must("a").must("b")
select({"a": 1, "b": 2)}, Path.must("a")) -> [1]
select({"a": 1, "b": 2)}, Path.must("c")) -> []
KeyDiff
or KeyRemoveDiff
.argKeys
- Keys to navigate in orderstatic Path.Impl key(java.lang.Object... argKeys)
Path.key("a", "b")
is same as Path.key("a").key("b")
select({"a": 1, "b": 2)}, Path.key("a")) -> [1]
select({"a": 1, "b": 2)}, Path.key("c")) -> [null]
KeyDiff
or KeyRemoveDiff
.argKeys
- Keys to navigate in orderstatic Path.Impl sortedSetRange(java.lang.Object argElemStart, java.lang.Object argElemEnd)
select(sortedSet{"a", "b", "d"}, Path.sortedSetRange("a", "d")) -> [sortedSet("a", "b")]
select(sortedSet{"a", "b", "d"}, Path.sortedSetRange("b", "e")) -> [sortedSet("b", "d")]
argElemStart
- Start of range, inclusiveargElemEnd
- End of range, exclusivestatic Path.Impl sortedSetRange(java.lang.Object argElemStart, java.lang.Object argElemEnd, java.lang.Object argOptions)
select(sortedSet{"a", "b", "d"}, Path.sortedSetRange("a", "d", SortedRangeOptions.excludeStart())) -> [sortedSet("b")]
select(sortedSet{"a", "b", "d", "e"}, Path.sortedSetRange("b", "e", SortedRangeOptions.includeEnd())) -> [sortedSet("b", "d", "e")]
argElemStart
- Start element of range, inclusive unless modified by optionsargElemEnd
- End element of range, exclusive unless modified by optionsargOptions
- Instance of SortedRangeOptions
static Path.Impl sortedSetRangeFrom(java.lang.Object argElemStart)
select(sortedSet{"a", "b", "d"}, Path.sortedSetRangeFrom("b")) -> [sortedSet("b", "d")]
argElemStart
- Start of range, inclusivestatic Path.Impl sortedSetRangeFrom(java.lang.Object argElemStart, java.lang.Object argAmtOrOptions)
select(sortedSet{"a", "b", "d"}, Path.sortedSetRangeFrom("a", 2)) -> [sortedSet("a", "b")]
select(sortedSet{"a", "b", "d", "e"}, Path.sortedSetRangeFrom("a", SortedRangeFromOptions.excludeStart().maxAmt(2))) -> [sortedSet("b", "d")]
argElemStart
- Start of range, inclusive unless modified by optionsargAmtOrOptions
- Either a number indicating maximum number of elements to include in result or an instance of SortedRangeFromOptions
static Path.Impl sortedSetRangeTo(java.lang.Object argElemTo)
select(sortedSet{"a", "b", "d"}, Path.sortedSetRangeTo("d")) -> [sortedSet("a", "b")]
argElemTo
- End of range, exclusivestatic Path.Impl sortedSetRangeTo(java.lang.Object argElemTo, java.lang.Object argAmtOrOptions)
select(sortedSet{"a", "b", "d", "e"}, Path.sortedSetRangeTo("e", 2)) -> [sortedSet("b", "d")]
select(sortedSet{"a", "b", "d", "e"}, Path.sortedSetRangeTo("e", SortedRangeToOptions.includeEnd().maxAmt(2))) -> [sortedSet("d", "e")]
select(sortedSet{"a", "b", "d", "e"}, Path.sortedSetRangeTo("b", SortedRangeToOptions.includeEnd())) -> [sortedSet("a", "b")]
argElemTo
- End of range, exclusive unless modified by optionsargAmtOrOptions
- Either a number indicating maximum number of elements to include in result or an instance of SortedRangeToOptions
static Path.Impl sortedMapRange(java.lang.Object argKeyStart, java.lang.Object argKeyEnd)
select(sortedMap{"a": 1, "b": 2, "d": 4}, Path.sortedMapRange("a", "d")) -> [sortedMap("a": 1, "b": 2)]
select(sortedMap{"a": 1, "b": 2, "d": 4}, Path.sortedMapRange("b", "e")) -> [sortedMap{"b": 2, "d": 4})]
KeysRemoveDiff
, KeysDiff
,
or a combination of the two with MultiDiff
. If the submap is modified in a coarse-grained
way (e.g. overridden completely with termVal(java.lang.Object)
), this navigator will produce a NewValueDiff
.argKeyStart
- Start key of range, inclusiveargKeyEnd
- End key of range, exclusivestatic Path.Impl sortedMapRange(java.lang.Object argKeyStart, java.lang.Object argKeyEnd, java.lang.Object argOptions)
select(sortedMap{"a": 1, "b": 2, "d": 4}, Path.sortedMapRange("a", "d", SortedRangeOptions.excludeStart())) -> [sortedMap("b": 2)]
select(sortedMap{"a": 1, "b": 2, "d": 4}, Path.sortedMapRange("b", "d", SortedRangeOptions.includeEnd())) -> [sortedMap{"b": 2, "d": 4})]
KeysRemoveDiff
, KeysDiff
,
or a combination of the two with MultiDiff
. If the submap is modified in a coarse-grained
way (e.g. overridden completely with termVal(java.lang.Object)
), this navigator will produce a NewValueDiff
.argKeyStart
- Start key of range, inclusive unless modified by optionsargKeyEnd
- End key of range, exclusive unless modified by optionsargOptions
- Instance of SortedRangeOptions
static Path.Impl sortedMapRangeFrom(java.lang.Object argKeyStart)
select(sortedMap{"a": 1, "b": 2, "d": 4}, Path.sortedMapRangeFrom("b")) -> [sortedMap("b": 2, "d": 4)]
KeysRemoveDiff
, KeysDiff
,
or a combination of the two with MultiDiff
. If the submap is modified in a coarse-grained
way (e.g. overridden completely with termVal(java.lang.Object)
), this navigator will produce a NewValueDiff
.argKeyStart
- Start key of range, inclusivestatic Path.Impl sortedMapRangeFrom(java.lang.Object argKeyStart, java.lang.Object argAmtOrOptions)
select(sortedMap{"a": 1, "b": 2, "d": 4}, Path.sortedMapRangeFrom("a", 2)) -> [sortedMap("a": 1, "b": 2)]
select(sortedMap{"a": 1, "b": 2, "d": 4, "e": 5}, Path.sortedMapRangeFrom("a", SortedRangeFromOptions.excludeStart().maxAmt(2))) -> [sortedMap("b": 2, "d": 4)]
KeysRemoveDiff
, KeysDiff
,
or a combination of the two with MultiDiff
. If the submap is modified in a coarse-grained
way (e.g. overridden completely with termVal(java.lang.Object)
), this navigator will produce a NewValueDiff
.argKeyStart
- Start key of range, inclusiveargAmtOrOptions
- Either a number indicating maximum number of elements to include in result or an instance of SortedRangeFromOptions
static Path.Impl sortedMapRangeTo(java.lang.Object argKeyTo)
select(sortedMap{"a": 1, "b": 2, "d": 4}, Path.sortedMapRangeTo("d")) -> [sortedMap("a": 1, "b": 2)]
KeysRemoveDiff
, KeysDiff
,
or a combination of the two with MultiDiff
. If the submap is modified in a coarse-grained
way (e.g. overridden completely with termVal(java.lang.Object)
), this navigator will produce a NewValueDiff
.argKeyTo
- End key of range, exclusivestatic Path.Impl sortedMapRangeTo(java.lang.Object argKeyTo, java.lang.Object argAmtOrOptions)
select(sortedMap{"a": 1, "b": 2, "d": 4, "e": 5}, Path.sortedMapRangeTo("e", 2)) -> [sortedMap("b": 2, "d": 4)]
select(sortedMap{"a": 1, "b": 2, "d": 4, "e": 5}, Path.sortedMapRangeTo("e", SortedRangeToOptions.includeEnd().maxAmt(2))) -> [sortedMap("d": 4, "e": 5)]
select(sortedMap{"a": 1, "b": 2, "d": 4, "e": 5}, Path.sortedMapRangeTo("b", SortedRangeToOptions.includeEnd())) -> [sortedMap("a": 1, "b": 2)]
KeysRemoveDiff
, KeysDiff
,
or a combination of the two with MultiDiff
. If the submap is modified in a coarse-grained
way (e.g. overridden completely with termVal(java.lang.Object)
), this navigator will produce a NewValueDiff
.argKeyTo
- End key of range, exclusive unless modified by optionsargAmtOrOptions
- Either a number indicating maximum number of elements to include in result or an instance of SortedRangeToOptions
static Path.Impl afterElem()
transform([1, 2], Path.afterElem().termVal(4)) -> [1, 2, 4]
SequenceInsertDiff
.static Path.Impl beforeElem()
transform([1, 2], Path.beforeElem().termVal(4)) -> [4, 1, 2]
SequenceInsertDiff
.static Path.Impl beginning()
transform([1, 2], Path.beginning().termVal([3, 4])) -> [3, 4, 1, 2]
SequenceInsertsDiff
.static Path.Impl end()
transform([1, 2], Path.end().termVal([3, 4])) -> [1, 2, 3, 4]
SequenceInsertsDiff
.static Path.Impl first()
select([1, 2, 3], Path.first()) -> [1]
select([], Path.first()) -> []
SequenceIndexChangeDiff
or
SequenceIndexRemoveDiff
.static Path.Impl last()
select([1, 2, 3], Path.last()) -> [3]
select([], Path.last()) -> []
SequenceIndexChangeDiff
or
SequenceIndexRemoveDiff
.static Path.Impl indexedVals()
[index, value]
for every element of list. Pairs are represented as lists of
two elements. Transforms should produce new [index, value]
pairs. Changing an index in a transform
will move the element in the resulting list. Value navigator.
select([1, 2, 3], Path.indexedVals()) -> [[0, 1], [1, 2], [2, 3]]
transform([1, 2, 3, 4], Path.indexedVals().first().termVal(0)) -> [4, 3, 2, 1]
static Path.Impl beforeIndex(java.lang.Object argIndex)
transform([1, 2, 3], Path.beforeIndex(2).termVal(0)) -> [1, 2, 0, 3]
SequenceInsertDiff
.argIndex
- Index of liststatic Path.Impl filteredList(Path path)
select([1, 2, 3, 4, 5], Path.filteredList(Path.filterPred(Ops.IS_ODD))) -> [1, 3, 5]
transform([1, 2, 3, 4, 5], Path.filteredList(Path.filterPred(Ops.IS_ODD)).term(Ops.INC)) -> [2, 2, 4, 4, 6]
path
- Subpath evaluated on each element of liststatic Path.Impl index(java.lang.Object argIndex)
select([1, 2, 3], Path.index(1)) -> [1]
select([1, 2, 3], Path.index(9)) -> []
transform([1, 2, 3], Path.index(0).termVal(2)) -> [2, 3, 1]
SequenceReorderDiff
.argIndex
- Index of liststatic Path.Impl nth(java.lang.Object argIndex)
select([1, 2, 3], Path.nth(1)) -> [2]
SequenceIndexChangeDiff
or
SequenceIndexRemoveDiff
.argIndex
- Index of liststatic Path.Impl sublist(java.lang.Object argStartIndex, java.lang.Object argEndIndex)
select([1, 2, 3, 4], Path.sublist(2, 4)) -> [[2, 3]]
transform([1, 2, 3, 4], Path.sublist(2, 4).termVal(null)) -> [1, 4]
argStartIndex
- Start index of range, inclusiveargEndIndex
- End index of range, exclusivestatic <T0,R0,T1,T2,R1> Path.Impl sublistDynamic(RamaFunction1<T0,R0> startFunction, RamaFunction2<T1,T2,R1> endFunction)
startFunction
- Receives list as input and returns start index (inclusive)endFunction
- Receives list and start index as input and returns end index (exclusive)static Path.Impl voidSetElem()
SetAddDiff
.
transform(set{1, 2}, Path.voidSetElem().termVal(5)) -> set{1, 2, 5}
static Path.Impl setElem(java.lang.Object argVal)
select(set{1, 2}, Path.setElem(1)) -> [1]
select(set{1, 2}, Path.setElem(13)) -> []
transform(set{1, 2}, Path.setElem(1).termVal(3)) -> set{2, 3}
SetAddDiff
, SetRemoveDiff
,
or a combination with MultiDiff
.argVal
- Set elementstatic Path.Impl subset(java.lang.Object... argVals)
select(set{1, 2, 3}, Path.subset(1, 3, 4)) -> [set{1, 3}]
SetAddDiff
, SetRemoveDiff
,
or a combination with MultiDiff
.argVals
- Elements to select in starting set. Non-existing elements are ignored.static Path.Impl nullToList()
select(null, Path.nullToList()) -> [[]]
select(3, Path.nullToList()) -> [3]
transform(null, Path.nullToList().term(Ops.IDENTITY)) -> []
null
. If null
, produces NewValueDiff
. Otherwise produces diffs
according to rest of transform path.static Path.Impl nullToSet()
select(null, Path.nullToSet()) -> [set{}]
select(3, Path.nullToSet()) -> [3]
transform(null, Path.nullToSet().term(Ops.IDENTITY)) -> set{}
null
. If null
, produces NewValueDiff
. Otherwise produces diffs
according to rest of transform path.static Path.Impl nullToVal(java.lang.Object argVal)
select(null, Path.nullToVal(1)) -> [1]
select(3, Path.nullToVal(1)) -> [3]
transform(null, Path.nullToVal(1).term(Ops.IDENTITY)) -> 1
null
. If null
, produces NewValueDiff
. Otherwise produces diffs
according to rest of transform path.argVal
- Value to navigate to if currently navigated to nullstatic Path.Impl transformed(Path path)
select([1, 2, 3], Path.transformed(Path.all().term(Ops.INC))) -> [[2, 3, 4]]
path
and the rest of the transform path.path
- Transform pathstatic Path.Impl collect(Path path)
path
- Path to use for selectstatic Path.Impl collectOne(Path path)
path
- Path to use for selectstatic Path.Impl putCollected(java.lang.Object argVal)
argVal
- Value to addstatic <T0,R0> Path.Impl isCollected(RamaFunction1<T0,R0> predicate)
predicate
- Function receiving list of collected values and returning true or falsestatic Path.Impl dispenseCollected()
static Path.Impl stay()
select(2, Path.stay()) -> [2]
static Path.Impl stop()
select(2, Path.stop()) -> []
static Path.Impl ifPath(Path conditionPath, Path thenPath)
thenPath
if
condition passes. Condition passes if it navigates to at least one value. If condition fails,
this branch of navigation stops. Control navigator.conditionPath
- Condition paththenPath
- Path used if condition passesstatic Path.Impl ifPath(Path conditionPath, Path thenPath, Path elsePath)
thenPath
if
condition passes. Condition passes if it navigates to at least one value. If condition fails,
continues navigating with elsePath
. Control navigator.conditionPath
- Condition paththenPath
- Path used if condition passeselsePath
- Path used if condition failsstatic Path.Impl multiPath(Path... paths)
select({"a": 1, "b": 2}, Path.multiPath(Path.key("a"), Path.key("b"))) -> [1, 2]
MultiDiff
.paths
- Sequence of paths to executestatic Path.Impl subselect(Path path)
path
- Subpathstatic <T0,R0> Path.Impl filterPred(RamaFunction1<T0,R0> pred)
select(2, Path.filterPred(Ops.IS_EVEN)) -> [2]
select(1, Path.filterPred(Ops.IS_EVEN)) -> []
pred
- Test functionstatic Path.Impl filterEqual(java.lang.Object argVal)
select(2, Path.filterEqual(2)) -> [2]
select(1, Path.filterEqual(2)) -> []
argVal
- Test valuestatic Path.Impl filterNotEqual(java.lang.Object argVal)
select(2, Path.filterNotEqual(2)) -> []
select(1, Path.filterNotEqual(2)) -> [1]
argVal
- Test valuestatic Path.Impl filterLessThan(java.lang.Object argVal)
select(2, Path.filterLessThan(2)) -> []
select(1, Path.filterLessThan(2)) -> [1]
argVal
- Test valuestatic Path.Impl filterLessThanOrEqual(java.lang.Object argVal)
select(2, Path.filterLessThanOrEqual(1)) -> []
select(2, Path.filterLessThanOrEqual(2)) -> [2]
select(2, Path.filterLessThanOrEqual(4)) -> [2]
argVal
- Test valuestatic Path.Impl filterGreaterThan(java.lang.Object argVal)
select(2, Path.filterGreaterThan(2)) -> []
select(3, Path.filterGreaterThan(2)) -> [3]
argVal
- Test valuestatic Path.Impl filterGreaterThanOrEqual(java.lang.Object argVal)
select(2, Path.filterLessThanOrEqual(1)) -> [2]
select(2, Path.filterLessThanOrEqual(2)) -> [2]
select(2, Path.filterLessThanOrEqual(4)) -> []
argVal
- Test valuestatic Path.Impl filterSelected(Path path)
select([1, 2, 3], Path.filterSelected(Path.all().filterPred(Ops.IS_EVEN))) -> [[1, 2, 3]]
select([1, 3, 5], Path.filterSelected(Path.all().filterPred(Ops.IS_EVEN))) -> []
path
- Condition pathstatic Path.Impl filterNotSelected(Path path)
select([1, 2, 3], Path.filterNotSelected(Path.all().filterPred(Ops.IS_EVEN))) -> []
select([1, 3, 5], Path.filterNotSelected(Path.all().filterPred(Ops.IS_EVEN))) -> [[1, 3, 5]]
path
- Condition pathstatic Path.Impl termVal(java.lang.Object argVal)
static Path.Impl termVoid()
NewValueDiff
.static Path.Impl customNav(Navigator nav)
static <T0,R0> Path.Impl view(RamaFunction1<T0,R0> viewFunction)
select(2, Path.view(Ops.INC)) -> [3]
NewValueDiff
.viewFunction
- Function to applystatic <T0,T1,R0> Path.Impl view(RamaFunction2<T0,T1,R0> viewFunction, java.lang.Object arg1)
view
.
NewValueDiff
.viewFunction
- Function to apply of two argumentsstatic <T0,T1,T2,R0> Path.Impl view(RamaFunction3<T0,T1,T2,R0> viewFunction, java.lang.Object arg1, java.lang.Object arg2)
view
.
NewValueDiff
.viewFunction
- Function to apply of three argumentsstatic <T0,T1,T2,T3,R0> Path.Impl view(RamaFunction4<T0,T1,T2,T3,R0> viewFunction, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3)
view
.
NewValueDiff
.viewFunction
- Function to apply of four argumentsstatic <T0,T1,T2,T3,T4,R0> Path.Impl view(RamaFunction5<T0,T1,T2,T3,T4,R0> viewFunction, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4)
view
.
NewValueDiff
.viewFunction
- Function to apply of five argumentsstatic <T0,T1,T2,T3,T4,T5,R0> Path.Impl view(RamaFunction6<T0,T1,T2,T3,T4,T5,R0> viewFunction, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5)
view
.
NewValueDiff
.viewFunction
- Function to apply of six argumentsstatic <T0,T1,T2,T3,T4,T5,T6,R0> Path.Impl view(RamaFunction7<T0,T1,T2,T3,T4,T5,T6,R0> viewFunction, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6)
view
.
NewValueDiff
.viewFunction
- Function to apply of seven argumentsstatic <T0,T1,T2,T3,T4,T5,T6,T7,R0> Path.Impl view(RamaFunction8<T0,T1,T2,T3,T4,T5,T6,T7,R0> viewFunction, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7)
view
.
NewValueDiff
.viewFunction
- Function to apply of eight argumentsstatic Path.Impl customNavBuilder(RamaFunction0<Navigator> builderFunction)
customNavBuilder
after the
first are passed to the provided function at runtime.builderFunction
- Navigator builder function of zero argumentsstatic <T0> Path.Impl customNavBuilder(RamaFunction1<T0,Navigator> builderFunction, java.lang.Object arg0)
customNavBuilder
after the
first are passed to the provided function at runtime.builderFunction
- Navigator builder function of one argumentstatic <T0,T1> Path.Impl customNavBuilder(RamaFunction2<T0,T1,Navigator> builderFunction, java.lang.Object arg0, java.lang.Object arg1)
customNavBuilder
after the
first are passed to the provided function at runtime.builderFunction
- Navigator builder function of two argumentsstatic <T0,T1,T2> Path.Impl customNavBuilder(RamaFunction3<T0,T1,T2,Navigator> builderFunction, java.lang.Object arg0, java.lang.Object arg1, java.lang.Object arg2)
customNavBuilder
after the
first are passed to the provided function at runtime.builderFunction
- Navigator builder function of three argumentsstatic <T0,T1,T2,T3> Path.Impl customNavBuilder(RamaFunction4<T0,T1,T2,T3,Navigator> builderFunction, java.lang.Object arg0, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3)
customNavBuilder
after the
first are passed to the provided function at runtime.builderFunction
- Navigator builder function of four argumentsstatic <T0,T1,T2,T3,T4> Path.Impl customNavBuilder(RamaFunction5<T0,T1,T2,T3,T4,Navigator> builderFunction, java.lang.Object arg0, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4)
customNavBuilder
after the
first are passed to the provided function at runtime.builderFunction
- Navigator builder function of five argumentsstatic <T0,T1,T2,T3,T4,T5> Path.Impl customNavBuilder(RamaFunction6<T0,T1,T2,T3,T4,T5,Navigator> builderFunction, java.lang.Object arg0, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5)
customNavBuilder
after the
first are passed to the provided function at runtime.builderFunction
- Navigator builder function of six argumentsstatic <T0,T1,T2,T3,T4,T5,T6> Path.Impl customNavBuilder(RamaFunction7<T0,T1,T2,T3,T4,T5,T6,Navigator> builderFunction, java.lang.Object arg0, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6)
customNavBuilder
after the
first are passed to the provided function at runtime.builderFunction
- Navigator builder function of seven argumentsstatic <T0,T1,T2,T3,T4,T5,T6,T7> Path.Impl customNavBuilder(RamaFunction8<T0,T1,T2,T3,T4,T5,T6,T7,Navigator> builderFunction, java.lang.Object arg0, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7)
customNavBuilder
after the
first are passed to the provided function at runtime.builderFunction
- Navigator builder function of eight argumentsstatic Path.Impl pathBuilder(RamaFunction0<Path> builderFunction)
pathBuilder
after the
first are passed to the provided function at runtime.builderFunction
- Path builder function of zero argumentsstatic <T0> Path.Impl pathBuilder(RamaFunction1<T0,Path> builderFunction, java.lang.Object arg0)
pathBuilder
after the
first are passed to the provided function at runtime.builderFunction
- Path builder function of one argumentstatic <T0,T1> Path.Impl pathBuilder(RamaFunction2<T0,T1,Path> builderFunction, java.lang.Object arg0, java.lang.Object arg1)
pathBuilder
after the
first are passed to the provided function at runtime.builderFunction
- Path builder function of two argumentsstatic <T0,T1,T2> Path.Impl pathBuilder(RamaFunction3<T0,T1,T2,Path> builderFunction, java.lang.Object arg0, java.lang.Object arg1, java.lang.Object arg2)
pathBuilder
after the
first are passed to the provided function at runtime.builderFunction
- Path builder function of three argumentsstatic <T0,T1,T2,T3> Path.Impl pathBuilder(RamaFunction4<T0,T1,T2,T3,Path> builderFunction, java.lang.Object arg0, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3)
pathBuilder
after the
first are passed to the provided function at runtime.builderFunction
- Path builder function of four argumentsstatic <T0,T1,T2,T3,T4> Path.Impl pathBuilder(RamaFunction5<T0,T1,T2,T3,T4,Path> builderFunction, java.lang.Object arg0, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4)
pathBuilder
after the
first are passed to the provided function at runtime.builderFunction
- Path builder function of five argumentsstatic <T0,T1,T2,T3,T4,T5> Path.Impl pathBuilder(RamaFunction6<T0,T1,T2,T3,T4,T5,Path> builderFunction, java.lang.Object arg0, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5)
pathBuilder
after the
first are passed to the provided function at runtime.builderFunction
- Path builder function of six argumentsstatic <T0,T1,T2,T3,T4,T5,T6> Path.Impl pathBuilder(RamaFunction7<T0,T1,T2,T3,T4,T5,T6,Path> builderFunction, java.lang.Object arg0, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6)
pathBuilder
after the
first are passed to the provided function at runtime.builderFunction
- Path builder function of seven argumentsstatic <T0,T1,T2,T3,T4,T5,T6,T7> Path.Impl pathBuilder(RamaFunction8<T0,T1,T2,T3,T4,T5,T6,T7,Path> builderFunction, java.lang.Object arg0, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7)
pathBuilder
after the
first are passed to the provided function at runtime.builderFunction
- Path builder function of eight argumentsstatic <T0,R0> Path.Impl term(RamaFunction1<T0,R0> termFunction)
NewValueDiff
.termFunction
- Transform function on navigated valuestatic <T0,T1,R0> Path.Impl term(RamaFunction2<T0,T1,R0> termFunction, java.lang.Object arg1)
term
.
NewValueDiff
.termFunction
- Transform function of two argumentsstatic <T0,T1,T2,R0> Path.Impl term(RamaFunction3<T0,T1,T2,R0> termFunction, java.lang.Object arg1, java.lang.Object arg2)
term
.
NewValueDiff
.termFunction
- Transform function of three argumentsstatic <T0,T1,T2,T3,R0> Path.Impl term(RamaFunction4<T0,T1,T2,T3,R0> termFunction, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3)
term
.
NewValueDiff
.termFunction
- Transform function of four argumentsstatic <T0,T1,T2,T3,T4,R0> Path.Impl term(RamaFunction5<T0,T1,T2,T3,T4,R0> termFunction, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4)
term
.
NewValueDiff
.termFunction
- Transform function of five argumentsstatic <T0,T1,T2,T3,T4,T5,R0> Path.Impl term(RamaFunction6<T0,T1,T2,T3,T4,T5,R0> termFunction, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5)
term
.
NewValueDiff
.termFunction
- Transform function of six argumentsstatic <T0,T1,T2,T3,T4,T5,T6,R0> Path.Impl term(RamaFunction7<T0,T1,T2,T3,T4,T5,T6,R0> termFunction, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6)
term
.
NewValueDiff
.termFunction
- Transform function of seven argumentsstatic <T0,T1,T2,T3,T4,T5,T6,T7,R0> Path.Impl term(RamaFunction8<T0,T1,T2,T3,T4,T5,T6,T7,R0> termFunction, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4, java.lang.Object arg5, java.lang.Object arg6, java.lang.Object arg7)
term
.
NewValueDiff
.termFunction
- Transform function of eight arguments