All Known Subinterfaces:Path.Impl
public interface Path
A Path defines how to navigate to target values in a data structure as a series of steps. Paths are the core construct for querying and updating PStates. The Path API uses the builder pattern to specify a series of navigation steps.
Example: 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.
Parameters with "arg" in the name can be a var, value, or [Expr](/content/javadoc/com/rpl/rama/Expr.html "class in com.rpl.rama"/index.html).
Pseudocode examples in the Javadoc for each method on this class use JSON-like syntax for
data structures. 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.
Transform paths determine what diffs proxies on those PStates will see. Each navigator's Javadoc specifies what diffs they produce.
See Also:
Nested Class Summary
Nested Classes
Modifier and Type
Interface
Description
static interface
Path.Impl
Method Summary
Static Methods
Modifier and Type
Method
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(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, 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, Object arg0, 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, Object arg0, Object arg1, Object arg2)
Adds a custom navigator built dynamically with the provided function of three arguments.
static <T0, T1, T2, T3> Path.Impl
customNavBuilder(RamaFunction4<T0,T1,T2,T3,Navigator> builderFunction, Object arg0, Object arg1, Object arg2, Object arg3)
Adds a custom navigator built dynamically with the provided function of four arguments.
static <T0, T1, T2, T3, T4> Path.Impl
customNavBuilder(RamaFunction5<T0,T1,T2,T3,T4,Navigator> builderFunction, Object arg0, Object arg1, Object arg2, Object arg3, Object arg4)
Adds a custom navigator built dynamically with the provided function of five arguments.
static <T0, T1, T2, T3, T4, T5> Path.Impl
customNavBuilder(RamaFunction6<T0,T1,T2,T3,T4,T5,Navigator> builderFunction, Object arg0, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5)
Adds a custom navigator built dynamically with the provided function of six arguments.
static <T0, T1, T2, T3, T4, T5, T6> Path.Impl
customNavBuilder(RamaFunction7<T0,T1,T2,T3,T4,T5,T6,Navigator> builderFunction, Object arg0, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6)
Adds a custom navigator built dynamically with the provided function of seven arguments.
static <T0, T1, T2, T3, T4, T5, T6, T7> Path.Impl
customNavBuilder(RamaFunction8<T0,T1,T2,T3,T4,T5,T6,T7,Navigator> builderFunction, Object arg0, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, 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(Object argVal)
Continues navigation if current value is equal to provided value.
static Path.Impl
filterGreaterThan(Object argVal)
Continues navigation if current value is greater than provided value.
static Path.Impl
filterGreaterThanOrEqual(Object argVal)
Continues navigation if current value is greater than or equal to provided value.
static Path.Impl
filterLessThan(Object argVal)
Continues navigation if current value is less than provided value.
static Path.Impl
filterLessThanOrEqual(Object argVal)
Continues navigation if current value is less than or equal to provided value.
static Path.Impl
filterNotEqual(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(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(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(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(Object... argKeys)
Navigates to value for a key in a map only if key exists.
static Path.Impl
nth(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(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, 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, Object arg0, 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, Object arg0, Object arg1, Object arg2)
Concatenates a path to the current path constructed with the provided function of three arguments.
static <T0, T1, T2, T3> Path.Impl
pathBuilder(RamaFunction4<T0,T1,T2,T3,Path> builderFunction, Object arg0, Object arg1, Object arg2, Object arg3)
Concatenates a path to the current path constructed with the provided function of four arguments.
static <T0, T1, T2, T3, T4> Path.Impl
pathBuilder(RamaFunction5<T0,T1,T2,T3,T4,Path> builderFunction, Object arg0, Object arg1, Object arg2, Object arg3, Object arg4)
Concatenates a path to the current path constructed with the provided function of five arguments.
static <T0, T1, T2, T3, T4, T5> Path.Impl
pathBuilder(RamaFunction6<T0,T1,T2,T3,T4,T5,Path> builderFunction, Object arg0, Object arg1, Object arg2, Object arg3, Object arg4, 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> Path.Impl
pathBuilder(RamaFunction7<T0,T1,T2,T3,T4,T5,T6,Path> builderFunction, Object arg0, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, 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> Path.Impl
pathBuilder(RamaFunction8<T0,T1,T2,T3,T4,T5,T6,T7,Path> builderFunction, Object arg0, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7)
Concatenates a path to the current path constructed with the provided function of eight arguments.
static Path.Impl
putCollected(Object argVal)
Adds given value to collected values.
static Path.Impl
setElem(Object argVal)
Navigates to element of set if it exists.
static Path.Impl
sortedMapRange(Object argKeyStart, 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(Object argKeyStart, Object argKeyEnd, 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(Object argKeyStart)
Navigates on a sorted map to a sorted map of all elements in that map after a key.
static Path.Impl
sortedMapRangeFrom(Object argKeyStart, 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
sortedMapRangeFromStart(Object argMaxAmt)
Navigates on a sorted map to a sorted map of all elements in that map from the start up to the provided max amount.
static Path.Impl
sortedMapRangeTo(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(Object argKeyTo, 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
sortedMapRangeToEnd(Object argMaxAmt)
Navigates on a sorted map to a sorted map of all elements in that map from the end up to the provided max amount.
static Path.Impl
sortedSetRange(Object argElemStart, Object argElemEnd)
Navigates on a sorted set to a sorted set of all values in that set between a range.
static Path.Impl
sortedSetRange(Object argElemStart, Object argElemEnd, 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(Object argElemStart)
Navigates on a sorted set to a sorted set of all values in that set after an element.
static Path.Impl
sortedSetRangeFrom(Object argElemStart, 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
sortedSetRangeFromStart(Object argMaxAmt)
Navigates on a sorted set to a sorted set of all values in that set after the start up to the provided max amount.
static Path.Impl
sortedSetRangeTo(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(Object argElemTo, 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
sortedSetRangeToEnd(Object argMaxAmt)
Navigates on a sorted set to a sorted set of all values in that set from the end, up to the provided max amount.
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(Object argStartIndex, Object argEndIndex)
Navigates to sublist bounded by two indexes.
static <T0, R0, T1, T2, R1> Path.Impl
sublistDynamic(RamaFunction1<T0,R0> startFunction, RamaFunction2<T1,T2,R1> endFunction)
Navigates to sublist bounded by indexes chosen by functions.
static Path.Impl
subMap(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(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, Object arg1)
Terminal point of a transform path that updates navigated value with the provided function of two arguments.
static <T0, T1, T2, R0> Path.Impl
term(RamaFunction3<T0,T1,T2,R0> termFunction, Object arg1, 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> Path.Impl
term(RamaFunction4<T0,T1,T2,T3,R0> termFunction, Object arg1, Object arg2, 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> Path.Impl
term(RamaFunction5<T0,T1,T2,T3,T4,R0> termFunction, Object arg1, Object arg2, Object arg3, 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> Path.Impl
term(RamaFunction6<T0,T1,T2,T3,T4,T5,R0> termFunction, Object arg1, Object arg2, Object arg3, Object arg4, 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> Path.Impl
term(RamaFunction7<T0,T1,T2,T3,T4,T5,T6,R0> termFunction, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, 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> Path.Impl
term(RamaFunction8<T0,T1,T2,T3,T4,T5,T6,T7,R0> termFunction, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7)
Terminal point of a transform path that updates navigated value with the provided function of eight arguments.
static Path.Impl
termVal(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, Object arg1)
Navigates to result of applying given function to current value and provided arguments.
static <T0, T1, T2, R0> Path.Impl
view(RamaFunction3<T0,T1,T2,R0> viewFunction, Object arg1, Object arg2)
Navigates to result of applying given function to current value and provided arguments.
static <T0, T1, T2, T3, R0> Path.Impl
view(RamaFunction4<T0,T1,T2,T3,R0> viewFunction, Object arg1, Object arg2, Object arg3)
Navigates to result of applying given function to current value and provided arguments.
static <T0, T1, T2, T3, T4, R0> Path.Impl
view(RamaFunction5<T0,T1,T2,T3,T4,R0> viewFunction, Object arg1, Object arg2, Object arg3, Object arg4)
Navigates to result of applying given function to current value and provided arguments.
static <T0, T1, T2, T3, T4, T5, R0> Path.Impl
view(RamaFunction6<T0,T1,T2,T3,T4,T5,R0> viewFunction, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5)
Navigates to result of applying given function to current value and provided arguments.
static <T0, T1, T2, T3, T4, T5, T6, R0> Path.Impl
view(RamaFunction7<T0,T1,T2,T3,T4,T5,T6,R0> viewFunction, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, 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> Path.Impl
view(RamaFunction8<T0,T1,T2,T3,T4,T5,T6,T7,R0> viewFunction, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, 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
withPageSize(Object argPageSize, Path path)
Pagination done by navigators in subpath use the specified page size.
Method Details
create )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)create()
Creates an empty Path. Path.key("a") is the same as Path.create().key("a")
all )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)all()
Navigates to every element of a collection. Works on lists, maps, and sets. For maps
navigates to key/value pair with List interface. Value navigator.
Pseudocode example: select({"a": 1, "b": 2)}, Path.all()) -> [["a", 1], ["b", 2]]
Pseudocode example: select([1, 2, 3], Path.all()) -> [1, 2, 3]
For proxies transforms with this navigator produce diffs according to the type of data
structure involved. For sequences produces [SequenceIndexChangesDiff](/content/javadoc/com/rpl/rama/diffs/SequenceIndexChangesDiff.html "class in com.rpl.rama.diffs"/index.html), [SequenceIndexRemoveDiff](/content/javadoc/com/rpl/rama/diffs/SequenceIndexRemoveDiff.html "class in com.rpl.rama.diffs"/index.html), or a combination. For sets produces [SetAddDiff](/content/javadoc/com/rpl/rama/diffs/SetAddDiff.html "class in com.rpl.rama.diffs"/index.html), [SetRemoveDiff](/content/javadoc/com/rpl/rama/diffs/SetRemoveDiff.html "class in com.rpl.rama.diffs"/index.html), or a combination. For maps produces [KeyDiff](/content/javadoc/com/rpl/rama/diffs/KeyDiff.html "class in com.rpl.rama.diffs"/index.html), [KeyRemoveDiff](/content/javadoc/com/rpl/rama/diffs/KeyRemoveDiff.html "class in com.rpl.rama.diffs"/index.html), or a combination. When multiple diffs are produces they are combined with [MultiDiff](/content/javadoc/com/rpl/rama/diffs/MultiDiff.html "class in com.rpl.rama.diffs"/index.html).
mapKeys )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)mapKeys()
Navigates to every key of a map. In transforms, changing a key is the same as removing the original key and then adding the updated key with the original value. Value navigator.
Pseudocode example: select({"a": 1, "b": 2)}, Path.mapKeys()) -> ["a", "b"]
For proxies transforms with this navigator produce
[KeysRemoveDiff](/content/javadoc/com/rpl/rama/diffs/KeysRemoveDiff.html "class in com.rpl.rama.diffs"/index.html), [KeysDiff](/content/javadoc/com/rpl/rama/diffs/KeysDiff.html "class in com.rpl.rama.diffs"/index.html),
or a combination of the two with [MultiDiff](/content/javadoc/com/rpl/rama/diffs/MultiDiff.html "class in com.rpl.rama.diffs"/index.html).
mapVals )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)mapVals()
Navigates to every value of a map. Value navigator.
Pseudocode example: select({"a": 1, "b": 2)}, Path.mapVals()) -> [1, 2]
mapKey )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)mapKey( Object argKey)
Navigates to a key in a map if it exists. In transforms, changing the key is the same as removing the original key and then adding the updated key with the original value. This navigator is generally only useful in transforms. Value navigator.
Pseudocode example: select({"a": 1, "b": 2)}, Path.mapKey("a")) -> ["a"]
Pseudocode example: select({"a": 1, "b": 2)}, Path.mapKey("c")) -> []
For proxies transforms with this navigator produce
[KeyChangeDiff](/content/javadoc/com/rpl/rama/diffs/KeyChangeDiff.html "class in com.rpl.rama.diffs"/index.html) or [KeyRemoveDiff](/content/javadoc/com/rpl/rama/diffs/KeyRemoveDiff.html "class in com.rpl.rama.diffs"/index.html).
Parameters:argKey - Key to navigate to
subMap )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)subMap( Object... argKeys)
Navigates to a map containing subset of keys/values of starting map. Substructure navigator.
Pseudocode example: select({"a": 1, "b": 2, "c": 3)}, Path.subMap("a", "c", "d")) -> [{"a": 1, "c": 3}]
For proxies transforms with this navigator that do fine-grained updates to the submap produce
[KeysRemoveDiff](/content/javadoc/com/rpl/rama/diffs/KeysRemoveDiff.html "class in com.rpl.rama.diffs"/index.html), [KeysDiff](/content/javadoc/com/rpl/rama/diffs/KeysDiff.html "class in com.rpl.rama.diffs"/index.html),
or a combination of the two with [MultiDiff](/content/javadoc/com/rpl/rama/diffs/MultiDiff.html "class in com.rpl.rama.diffs"/index.html). 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](/content/javadoc/com/rpl/rama/diffs/NewValueDiff.html "class in com.rpl.rama.diffs"/index.html).
Parameters:argKeys - Keys to select in starting map. Non-existing keys are ignored.
must )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)must( Object... argKeys)
Navigates to value for a key in a map only if key exists. If key does not exist, stops navigation. For convenience, can navigate into further nested maps by providing multiple key arguments. Value navigator.
Example: Path.must("a", "b") is same as Path.must("a").must("b")
Pseudocode example: select({"a": 1, "b": 2)}, Path.must("a")) -> [1]
Pseudocode example: select({"a": 1, "b": 2)}, Path.must("c")) -> []
For proxies transforms with this navigator produce
[KeyDiff](/content/javadoc/com/rpl/rama/diffs/KeyDiff.html "class in com.rpl.rama.diffs"/index.html) or [KeyRemoveDiff](/content/javadoc/com/rpl/rama/diffs/KeyRemoveDiff.html "class in com.rpl.rama.diffs"/index.html).
Parameters:argKeys - Keys to navigate in order
key )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)key( Object... argKeys)
Navigates to value for a key in a map. For convenience, can navigate into further nested maps by providing multiple key arguments. Value navigator.
Example: Path.key("a", "b") is same as Path.key("a").key("b")
Pseudocode example: select({"a": 1, "b": 2)}, Path.key("a")) -> [1]
Pseudocode example: select({"a": 1, "b": 2)}, Path.key("c")) -> [null]
Parameters:argKeys - Keys to navigate in order
sortedSetRange )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)sortedSetRange( Object argElemStart, Object argElemEnd)
Navigates on a sorted set to a sorted set of all values in that set between a range. Useful on subindexed sets. Substructure navigator.
Pseudocode example: select(sortedSet{"a", "b", "d"}, Path.sortedSetRange("a", "d")) -> [sortedSet("a", "b")]
Pseudocode example: select(sortedSet{"a", "b", "d"}, Path.sortedSetRange("b", "e")) -> [sortedSet("b", "d")]
Parameters:argElemStart - Start of range, inclusiveargElemEnd - End of range, exclusive
sortedSetRange )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)sortedSetRange( Object argElemStart, Object argElemEnd, 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. Useful on subindexed sets. Substructure navigator.
Pseudocode example: select(sortedSet{"a", "b", "d"}, Path.sortedSetRange("a", "d", SortedRangeOptions.excludeStart())) -> [sortedSet("b")]
Pseudocode example: select(sortedSet{"a", "b", "d", "e"}, Path.sortedSetRange("b", "e", SortedRangeOptions.includeEnd())) -> [sortedSet("b", "d", "e")]
Parameters:argElemStart - Start element of range, inclusive unless modified by optionsargElemEnd - End element of range, exclusive unless modified by optionsargOptions - Instance of [SortedRangeOptions](/content/javadoc/com/rpl/rama/SortedRangeOptions.html "interface in com.rpl.rama"/index.html)
sortedSetRangeFrom )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)sortedSetRangeFrom( Object argElemStart)
Navigates on a sorted set to a sorted set of all values in that set after an element. Useful on subindexed sets. Substructure navigator.
Pseudocode example: select(sortedSet{"a", "b", "d"}, Path.sortedSetRangeFrom("b")) -> [sortedSet("b", "d")]
Parameters:argElemStart - Start of range, inclusive
sortedSetRangeFrom )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)sortedSetRangeFrom( Object argElemStart, 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. Useful on subindexed sets. Substructure navigator.
Pseudocode example: select(sortedSet{"a", "b", "d"}, Path.sortedSetRangeFrom("a", 2)) -> [sortedSet("a", "b")]
Pseudocode example: select(sortedSet{"a", "b", "d", "e"}, Path.sortedSetRangeFrom("a", SortedRangeFromOptions.excludeStart().maxAmt(2))) -> [sortedSet("b", "d")]
Parameters: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](/content/javadoc/com/rpl/rama/SortedRangeFromOptions.html "interface in com.rpl.rama"/index.html)
sortedSetRangeFromStart )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)sortedSetRangeFromStart( Object argMaxAmt)
Navigates on a sorted set to a sorted set of all values in that set after the start up to the provided max amount. Useful on subindexed sets. Substructure navigator.
Pseudocode example: select(sortedSet{"a", "b", "d"}, Path.sortedSetRangeFromStart(2)) -> [sortedSet("a", "b")]
Parameters:argMaxAmt - Maximum number of entries to return
sortedSetRangeTo )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)sortedSetRangeTo( Object argElemTo)
Navigates on a sorted set to a sorted set of all values in that set up to an element. Useful on subindexed sets. Substructure navigator.
Pseudocode example: select(sortedSet{"a", "b", "d"}, Path.sortedSetRangeTo("d")) -> [sortedSet("a", "b")]
Parameters:argElemTo - End of range, exclusive
sortedSetRangeTo )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)sortedSetRangeTo( Object argElemTo, 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. Useful on subindexed sets. Substructure navigator.
Pseudocode example: select(sortedSet{"a", "b", "d", "e"}, Path.sortedSetRangeTo("e", 2)) -> [sortedSet("b", "d")]
Pseudocode example: select(sortedSet{"a", "b", "d", "e"}, Path.sortedSetRangeTo("e", SortedRangeToOptions.includeEnd().maxAmt(2))) -> [sortedSet("d", "e")]
Pseudocode example: select(sortedSet{"a", "b", "d", "e"}, Path.sortedSetRangeTo("b", SortedRangeToOptions.includeEnd())) -> [sortedSet("a", "b")]
Parameters: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](/content/javadoc/com/rpl/rama/SortedRangeToOptions.html "interface in com.rpl.rama"/index.html)
sortedSetRangeToEnd )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)sortedSetRangeToEnd( Object argMaxAmt)
Navigates on a sorted set to a sorted set of all values in that set from the end, up to the provided max amount. Useful on subindexed sets. Substructure navigator.
Pseudocode example: select(sortedSet{"a", "b", "d"}, Path.sortedSetRangeToEnd(2)) -> [sortedSet("b", "d")]
Parameters:argMaxAmt - Maximum number of entries to return
sortedMapRange )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)sortedMapRange( Object argKeyStart, Object argKeyEnd)
Navigates on a sorted map to a sorted map of all elements in that map between a range of keys. Useful on subindexed maps. Substructure navigator.
Pseudocode example: select(sortedMap{"a": 1, "b": 2, "d": 4}, Path.sortedMapRange("a", "d")) -> [sortedMap("a": 1, "b": 2)]
Pseudocode example: select(sortedMap{"a": 1, "b": 2, "d": 4}, Path.sortedMapRange("b", "e")) -> [sortedMap{"b": 2, "d": 4})]
Parameters:argKeyStart - Start key of range, inclusiveargKeyEnd - End key of range, exclusive
sortedMapRange )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)sortedMapRange( Object argKeyStart, Object argKeyEnd, 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. Useful on subindexed maps. Substructure navigator.
Pseudocode example: select(sortedMap{"a": 1, "b": 2, "d": 4}, Path.sortedMapRange("a", "d", SortedRangeOptions.excludeStart())) -> [sortedMap("b": 2)]
Pseudocode example: select(sortedMap{"a": 1, "b": 2, "d": 4}, Path.sortedMapRange("b", "d", SortedRangeOptions.includeEnd())) -> [sortedMap{"b": 2, "d": 4})]
Parameters:argKeyStart - Start key of range, inclusive unless modified by optionsargKeyEnd - End key of range, exclusive unless modified by optionsargOptions - Instance of [SortedRangeOptions](/content/javadoc/com/rpl/rama/SortedRangeOptions.html "interface in com.rpl.rama"/index.html)
sortedMapRangeFrom )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)sortedMapRangeFrom( Object argKeyStart)
Navigates on a sorted map to a sorted map of all elements in that map after a key. Useful on subindexed maps. Substructure navigator.
Pseudocode example: select(sortedMap{"a": 1, "b": 2, "d": 4}, Path.sortedMapRangeFrom("b")) -> [sortedMap("b": 2, "d": 4)]
Parameters:argKeyStart - Start key of range, inclusive
sortedMapRangeFrom )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)sortedMapRangeFrom( Object argKeyStart, 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. Useful on subindexed maps. Substructure navigator.
Pseudocode example: select(sortedMap{"a": 1, "b": 2, "d": 4}, Path.sortedMapRangeFrom("a", 2)) -> [sortedMap("a": 1, "b": 2)]
Pseudocode example: select(sortedMap{"a": 1, "b": 2, "d": 4, "e": 5}, Path.sortedMapRangeFrom("a", SortedRangeFromOptions.excludeStart().maxAmt(2))) -> [sortedMap("b": 2, "d": 4)]
Parameters:argKeyStart - Start key of range, inclusiveargAmtOrOptions - Either a number indicating maximum number of elements to include in result or an instance of [SortedRangeFromOptions](/content/javadoc/com/rpl/rama/SortedRangeFromOptions.html "interface in com.rpl.rama"/index.html)
sortedMapRangeFromStart )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)sortedMapRangeFromStart( Object argMaxAmt)
Navigates on a sorted map to a sorted map of all elements in that map from the start up to the provided max amount. Useful on subindexed maps. Substructure navigator.
Pseudocode example: select(sortedMap{"a": 1, "b": 2, "d": 4}, Path.sortedMapRangeFromStart(2)) -> [sortedMap("a": 1, "b": 2)]
Parameters:argMaxAmt - Maximum number of entries to return
sortedMapRangeTo )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)sortedMapRangeTo( Object argKeyTo)
Navigates on a sorted map to a sorted map of all values in that map up to a key. Useful on subindexed maps. Substructure navigator.
Pseudocode example: select(sortedMap{"a": 1, "b": 2, "d": 4}, Path.sortedMapRangeTo("d")) -> [sortedMap("a": 1, "b": 2)]
Parameters:argKeyTo - End key of range, exclusive
sortedMapRangeTo )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)sortedMapRangeTo( Object argKeyTo, 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. Useful on subindexed maps. Substructure navigator.
Pseudocode example: select(sortedMap{"a": 1, "b": 2, "d": 4, "e": 5}, Path.sortedMapRangeTo("e", 2)) -> [sortedMap("b": 2, "d": 4)]
Pseudocode example: select(sortedMap{"a": 1, "b": 2, "d": 4, "e": 5}, Path.sortedMapRangeTo("e", SortedRangeToOptions.includeEnd().maxAmt(2))) -> [sortedMap("d": 4, "e": 5)]
Pseudocode example: select(sortedMap{"a": 1, "b": 2, "d": 4, "e": 5}, Path.sortedMapRangeTo("b", SortedRangeToOptions.includeEnd())) -> [sortedMap("a": 1, "b": 2)]
Parameters: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](/content/javadoc/com/rpl/rama/SortedRangeToOptions.html "interface in com.rpl.rama"/index.html)
sortedMapRangeToEnd )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)sortedMapRangeToEnd( Object argMaxAmt)
Navigates on a sorted map to a sorted map of all elements in that map from the end up to the provided max amount. Useful on subindexed maps. Substructure navigator.
Pseudocode example: select(sortedMap{"a": 1, "b": 2, "d": 4}, Path.sortedMapRangeFromStart(2)) -> [sortedMap("b": 1, "d": 2)]
Parameters:argMaxAmt - Maximum number of entries to return
afterElem )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)afterElem()
Navigates on a list to void element at end. Used in transforms to append a single element. Virtual value navigator.
Pseudocode example: transform([1, 2], Path.afterElem().termVal(4)) -> [1, 2, 4]
For proxies transforms with this navigator produce
[SequenceInsertDiff](/content/javadoc/com/rpl/rama/diffs/SequenceInsertDiff.html "class in com.rpl.rama.diffs"/index.html).
beforeElem )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)beforeElem()
Navigates on a list to void element at beginning. Used in transforms to prepend a single element. Virtual value navigator.
Pseudocode example: transform([1, 2], Path.beforeElem().termVal(4)) -> [4, 1, 2]
beginning )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)beginning()
Navigates on a list to empty subsequence at beginning. Used in transforms to prepend multiple elements. Substructure navigator.
Pseudocode example: transform([1, 2], Path.beginning().termVal([3, 4])) -> [3, 4, 1, 2]
For proxies transforms with this navigator produce
[SequenceInsertsDiff](/content/javadoc/com/rpl/rama/diffs/SequenceInsertsDiff.html "class in com.rpl.rama.diffs"/index.html).
end )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)end()
Navigates on a list to empty subsequence at end. Used in transforms to append multiple elements. Substructure navigator.
Pseudocode example: transform([1, 2], Path.end().termVal([3, 4])) -> [1, 2, 3, 4]
first )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)first()
Navigates on list to first element if not empty. If empty, stops navigation. Value navigator.
Pseudocode example: select([1, 2, 3], Path.first()) -> [1]
Pseudocode example: select([], Path.first()) -> []
For proxies transforms with this navigator produce
[SequenceIndexChangeDiff](/content/javadoc/com/rpl/rama/diffs/SequenceIndexChangeDiff.html "class in com.rpl.rama.diffs"/index.html) or
[SequenceIndexRemoveDiff](/content/javadoc/com/rpl/rama/diffs/SequenceIndexRemoveDiff.html "class in com.rpl.rama.diffs"/index.html).
last )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)last()
Navigates on list to last element if not empty. If empty, stops navigation. Value navigator.
Pseudocode example: select([1, 2, 3], Path.last()) -> [3]
Pseudocode example: select([], Path.last()) -> []
indexedVals )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)indexedVals()
Navigates to pairs of [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.
Pseudocode example: select([1, 2, 3], Path.indexedVals()) -> [[0, 1], [1, 2], [2, 3]]
Pseudocode example: transform([1, 2, 3, 4], Path.indexedVals().first().termVal(0)) -> [4, 3, 2, 1]
beforeIndex )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)beforeIndex( Object argIndex)
Navigates on list to void element before an index. Used in transforms to insert an element in middle of list. Virtual value navigator.
Pseudocode example: transform([1, 2, 3], Path.beforeIndex(2).termVal(0)) -> [1, 2, 0, 3]
Parameters:argIndex - Index of list
filteredList )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)filteredList( [Path](/content/javadoc/com/rpl/rama/Path.html "interface in com.rpl.rama"/index.html) path)
Navigates to sublist of elements filtered based on given Path. An element is included in sublist if path applied to that element navigates to at least one value. Transforms on sublist will modify the locations in the original list. Substructure navigator.
Pseudocode example: select([1, 2, 3, 4, 5], Path.filteredList(Path.filterPred(Ops.IS_ODD))) -> [1, 3, 5]
Pseudocode example: transform([1, 2, 3, 4, 5], Path.filteredList(Path.filterPred(Ops.IS_ODD)).term(Ops.INC)) -> [2, 2, 4, 4, 6]
For proxies transforms with this navigator produce diffs according to rest of transform path.
Parameters:path - Subpath evaluated on each element of list
index )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)index( Object argIndex)
Navigates to the index of a list if it exists. This navigates to the index, not to the value at that index. Changing the index in a transform will move the element in the resulting list. Value navigator.
Pseudocode example: select([1, 2, 3], Path.index(1)) -> [1]
Pseudocode example: select([1, 2, 3], Path.index(9)) -> []
Pseudocode example: transform([1, 2, 3], Path.index(0).termVal(2)) -> [2, 3, 1]
For proxies transforms with this navigator produce
[SequenceReorderDiff](/content/javadoc/com/rpl/rama/diffs/SequenceReorderDiff.html "class in com.rpl.rama.diffs"/index.html).
Parameters:argIndex - Index of list
nth )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)nth( Object argIndex)
Navigates to value for index in a list. Value navigator.
Pseudocode example: select([1, 2, 3], Path.nth(1)) -> [2]
Parameters:argIndex - Index of list
sublist )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)sublist( Object argStartIndex, Object argEndIndex)
Navigates to sublist bounded by two indexes. Substructure navigator.
Pseudocode example: select([1, 2, 3, 4], Path.sublist(2, 4)) -> [[2, 3]]
Pseudocode example: transform([1, 2, 3, 4], Path.sublist(2, 4).termVal(null)) -> [1, 4]
For proxies transforms with this navigator produce sequence diffs according to the rest of the transform path.
Parameters:argStartIndex - Start index of range, inclusiveargEndIndex - End index of range, exclusive
sublistDynamic )
static<T0, R0, T1, T2, R1>[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)sublistDynamic( [RamaFunction1](/content/javadoc/com/rpl/rama/ops/RamaFunction1.html "interface in com.rpl.rama.ops"/index.html) <T0,R0> startFunction, [RamaFunction2](/content/javadoc/com/rpl/rama/ops/RamaFunction2.html "interface in com.rpl.rama.ops"/index.html) <T1,T2,R1> endFunction)
Navigates to sublist bounded by indexes chosen by functions. Substructure navigator.
Parameters:startFunction - Receives list as input and returns start index (inclusive)endFunction - Receives list and start index as input and returns end index (exclusive)
voidSetElem )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)voidSetElem()
Navigates to void element of set. Used to add a single element to a set in transforms. Virtual value navigator.
For proxies transforms with this navigator produce
[SetAddDiff](/content/javadoc/com/rpl/rama/diffs/SetAddDiff.html "class in com.rpl.rama.diffs"/index.html).
Pseudocode example: transform(set{1, 2}, Path.voidSetElem().termVal(5)) -> set{1, 2, 5}
setElem )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)setElem( Object argVal)
Navigates to element of set if it exists. If element does not exist, stops navigation. Value navigator.
Pseudocode example: select(set{1, 2}, Path.setElem(1)) -> [1]
Pseudocode example: select(set{1, 2}, Path.setElem(13)) -> []
Pseudocode example: transform(set{1, 2}, Path.setElem(1).termVal(3)) -> set{2, 3}
For proxies transforms with this navigator produce
[SetAddDiff](/content/javadoc/com/rpl/rama/diffs/SetAddDiff.html "class in com.rpl.rama.diffs"/index.html), [SetRemoveDiff](/content/javadoc/com/rpl/rama/diffs/SetRemoveDiff.html "class in com.rpl.rama.diffs"/index.html),
or a combination with [MultiDiff](/content/javadoc/com/rpl/rama/diffs/MultiDiff.html "class in com.rpl.rama.diffs"/index.html).
Parameters:argVal - Set element
subset )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)subset( Object... argVals)
Navigates to subset of starting set with given elements. Substructure navigator.
Pseudocode example: select(set{1, 2, 3}, Path.subset(1, 3, 4)) -> [set{1, 3}]
Parameters:argVals - Elements to select in starting set. Non-existing elements are ignored.
nullToList )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)nullToList()
Navigates to empty list if currently navigated to null. Otherwise, stays navigated at current location. View navigator.
Pseudocode example: select(null, Path.nullToList()) -> [[]]
Pseudocode example: select(3, Path.nullToList()) -> [3]
Pseudocode example: transform(null, Path.nullToList().term(Ops.IDENTITY)) -> []
For proxies transforms with this navigator produce diffs depending on if original value
was null. If null, produces [NewValueDiff](/content/javadoc/com/rpl/rama/diffs/NewValueDiff.html "class in com.rpl.rama.diffs"/index.html). Otherwise produces diffs
according to rest of transform path.
nullToSet )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)nullToSet()
Navigates to empty set if currently navigated to null. Otherwise, stays navigated at current location. View navigator.
Pseudocode example: select(null, Path.nullToSet()) -> [set{}]
Pseudocode example: select(3, Path.nullToSet()) -> [3]
Pseudocode example: transform(null, Path.nullToSet().term(Ops.IDENTITY)) -> set{}
nullToVal )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)nullToVal( Object argVal)
Navigates to given value if currently navigated to null. Otherwise, stays navigated at current location. View navigator.
Pseudocode example: select(null, Path.nullToVal(1)) -> [1]
Pseudocode example: select(3, Path.nullToVal(1)) -> [3]
Pseudocode example: transform(null, Path.nullToVal(1).term(Ops.IDENTITY)) -> 1
Parameters:argVal - Value to navigate to if currently navigated to null
transformed )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)transformed( [Path](/content/javadoc/com/rpl/rama/Path.html "interface in com.rpl.rama"/index.html) path)
Navigates to transformation of current value with given path. View navigator.
Pseudocode example: select([1, 2, 3], Path.transformed(Path.all().term(Ops.INC))) -> [[2, 3, 4]]
For proxies transforms with this navigator produce a combination of diffs from execution
of path and the rest of the transform path.
Parameters:path - Transform path
collect )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)collect( [Path](/content/javadoc/com/rpl/rama/Path.html "interface in com.rpl.rama"/index.html) path)
Collects a list of values selected with given path from current point.
Parameters:path - Path to use for selectSee Also:
collectOne )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)collectOne( [Path](/content/javadoc/com/rpl/rama/Path.html "interface in com.rpl.rama"/index.html) path)
Collects a single value selected with given path from current point. Exception if path selects zero values or more than one value.
Parameters:path - Path to use for selectSee Also:
putCollected )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)putCollected( Object argVal)
Adds given value to collected values.
Parameters:argVal - Value to addSee Also:
isCollected )
static<T0, R0>[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)isCollected( [RamaFunction1](/content/javadoc/com/rpl/rama/ops/RamaFunction1.html "interface in com.rpl.rama.ops"/index.html) <T0,R0> predicate)
Stops navigation if given function on collected values returns false. Otherwise, stays navigated at current point. Filter navigator.
Parameters:predicate - Function receiving list of collected values and returning true or falseSee Also:
dispenseCollected )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)dispenseCollected()
Drops all collected values from subsequent navigation
See Also:
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)stay()
No-op that stays navigated at current point. Control navigator.
Pseudocode example: select(2, Path.stay()) -> [2]
stop )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)stop()
Stops current branch of navigation. Control navigator.
Pseudocode example: select(2, Path.stop()) -> []
ifPath )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)ifPath( [Path](/content/javadoc/com/rpl/rama/Path.html "interface in com.rpl.rama"/index.html) conditionPath, [Path](/content/javadoc/com/rpl/rama/Path.html "interface in com.rpl.rama"/index.html) thenPath)
Tests condition against current point and continues navigating with thenPath if
condition passes. Condition passes if it navigates to at least one value. If condition fails,
this branch of navigation stops. Control navigator.
Parameters:conditionPath - Condition paththenPath - Path used if condition passesSee Also:
ifPath )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)ifPath( [Path](/content/javadoc/com/rpl/rama/Path.html "interface in com.rpl.rama"/index.html) conditionPath, [Path](/content/javadoc/com/rpl/rama/Path.html "interface in com.rpl.rama"/index.html) thenPath, [Path](/content/javadoc/com/rpl/rama/Path.html "interface in com.rpl.rama"/index.html) elsePath)
Tests condition against current point and continues navigating with thenPath if
condition passes. Condition passes if it navigates to at least one value. If condition fails,
continues navigating with elsePath. Control navigator.
Parameters:conditionPath - Condition paththenPath - Path used if condition passeselsePath - Path used if condition failsSee Also:
multiPath )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)multiPath( [Path](/content/javadoc/com/rpl/rama/Path.html "interface in com.rpl.rama"/index.html)... paths)
Navigates to each provided path in order, all starting from this point. Control navigator.
Pseudocode example: select({"a": 1, "b": 2}, Path.multiPath(Path.key("a"), Path.key("b"))) -> [1, 2]
For proxies transforms with this navigator produce [MultiDiff](/content/javadoc/com/rpl/rama/diffs/MultiDiff.html "class in com.rpl.rama.diffs"/index.html).
Parameters:paths - Sequence of paths to executeSee Also:
subselect )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)subselect( [Path](/content/javadoc/com/rpl/rama/Path.html "interface in com.rpl.rama"/index.html) path)
Navigates to list of values navigated by provided path. Transforms on that list will update original locations of each value, no matter how nested. Control navigator.
Parameters:path - SubpathSee Also:
filterPred )
static<T0, R0>[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)filterPred( [RamaFunction1](/content/javadoc/com/rpl/rama/ops/RamaFunction1.html "interface in com.rpl.rama.ops"/index.html) <T0,R0> pred)
Continues navigation if provided function returns true on current value. Otherwise, stops current branch of navigation. Filter navigator.
Pseudocode example: select(2, Path.filterPred(Ops.IS_EVEN)) -> [2]
Pseudocode example: select(1, Path.filterPred(Ops.IS_EVEN)) -> []
Parameters:pred - Test function
filterEqual )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)filterEqual( Object argVal)
Continues navigation if current value is equal to provided value. Otherwise, stops current branch of navigation. Filter navigator.
Pseudocode example: select(2, Path.filterEqual(2)) -> [2]
Pseudocode example: select(1, Path.filterEqual(2)) -> []
Parameters:argVal - Test value
filterNotEqual )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)filterNotEqual( Object argVal)
Continues navigation if current value is not equal to provided value. Otherwise, stops current branch of navigation. Filter navigator.
Pseudocode example: select(2, Path.filterNotEqual(2)) -> []
Pseudocode example: select(1, Path.filterNotEqual(2)) -> [1]
Parameters:argVal - Test value
filterLessThan )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)filterLessThan( Object argVal)
Continues navigation if current value is less than provided value. Otherwise, stops current branch of navigation. Filter navigator.
Pseudocode example: select(2, Path.filterLessThan(2)) -> []
Pseudocode example: select(1, Path.filterLessThan(2)) -> [1]
Parameters:argVal - Test value
filterLessThanOrEqual )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)filterLessThanOrEqual( Object argVal)
Continues navigation if current value is less than or equal to provided value. Otherwise, stops current branch of navigation. Filter navigator.
Pseudocode example: select(2, Path.filterLessThanOrEqual(1)) -> []
Pseudocode example: select(2, Path.filterLessThanOrEqual(2)) -> [2]
Pseudocode example: select(2, Path.filterLessThanOrEqual(4)) -> [2]
Parameters:argVal - Test value
filterGreaterThan )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)filterGreaterThan( Object argVal)
Continues navigation if current value is greater than provided value. Otherwise, stops current branch of navigation. Filter navigator.
Pseudocode example: select(2, Path.filterGreaterThan(2)) -> []
Pseudocode example: select(3, Path.filterGreaterThan(2)) -> [3]
Parameters:argVal - Test value
filterGreaterThanOrEqual )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)filterGreaterThanOrEqual( Object argVal)
Continues navigation if current value is greater than or equal to provided value. Otherwise, stops current branch of navigation. Filter navigator.
Pseudocode example: select(2, Path.filterLessThanOrEqual(1)) -> [2]
Pseudocode example: select(2, Path.filterLessThanOrEqual(2)) -> [2]
Pseudocode example: select(2, Path.filterLessThanOrEqual(4)) -> []
Parameters:argVal - Test value
filterSelected )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)filterSelected( [Path](/content/javadoc/com/rpl/rama/Path.html "interface in com.rpl.rama"/index.html) path)
Continues navigation if provided path executed on current value navigates to at least one value. Otherwise, stops current branch of navigation. Filter navigator.
Pseudocode example: select([1, 2, 3], Path.filterSelected(Path.all().filterPred(Ops.IS_EVEN))) -> [[1, 2, 3]]
Pseudocode example: select([1, 3, 5], Path.filterSelected(Path.all().filterPred(Ops.IS_EVEN))) -> []
Parameters:path - Condition path
filterNotSelected )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)filterNotSelected( [Path](/content/javadoc/com/rpl/rama/Path.html "interface in com.rpl.rama"/index.html) path)
Continues navigation if provided path executed on current value navigates to zero values. Otherwise, stops current branch of navigation. Filter navigator.
Pseudocode example: select([1, 2, 3], Path.filterNotSelected(Path.all().filterPred(Ops.IS_EVEN))) -> []
Pseudocode example: select([1, 3, 5], Path.filterNotSelected(Path.all().filterPred(Ops.IS_EVEN))) -> [[1, 3, 5]]
Parameters:path - Condition path
withPageSize )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)withPageSize( Object argPageSize, [Path](/content/javadoc/com/rpl/rama/Path.html "interface in com.rpl.rama"/index.html) path)
Pagination done by navigators in subpath use the specified page size. Can only be used in yielding selects.
Parameters:argPageSize - Page sizepath - Subpath
termVal )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)termVal( Object argVal)
Terminal point of a transform path that overrides navigated value to provided value
See Also:
termVoid )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)termVoid()
Terminal point of a transform path that sets navigated value to void, causing it to be removed.
For proxies transforms with this navigator produce [NewValueDiff](/content/javadoc/com/rpl/rama/diffs/NewValueDiff.html "class in com.rpl.rama.diffs"/index.html).
See Also:
customNav )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)customNav( [Navigator](/content/javadoc/com/rpl/rama/Navigator.html "interface in com.rpl.rama"/index.html) nav)
Adds custom navigator implementation to Path
See Also:
static<T0, R0>[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)view( [RamaFunction1](/content/javadoc/com/rpl/rama/ops/RamaFunction1.html "interface in com.rpl.rama.ops"/index.html) <T0,R0> viewFunction)
Navigates to result of applying given function to current value. View navigator.
Pseudocode example: select(2, Path.view(Ops.INC)) -> [3]
Parameters:viewFunction - Function to apply
view )
static<T0, T1, R0>[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)view( [RamaFunction2](/content/javadoc/com/rpl/rama/ops/RamaFunction2.html "interface in com.rpl.rama.ops"/index.html) <T0,T1,R0> viewFunction, Object arg1)
Navigates to result of applying given function to current value and provided arguments.
The first argument will be the navigated value, and remaining arguments will be additional arguments
provided to view.
Parameters:viewFunction - Function to apply of two arguments
view )
static<T0, T1, T2, R0>[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)view( [RamaFunction3](/content/javadoc/com/rpl/rama/ops/RamaFunction3.html "interface in com.rpl.rama.ops"/index.html) <T0,T1,T2,R0> viewFunction, Object arg1, Object arg2)
Parameters:viewFunction - Function to apply of three arguments
view )
static<T0, T1, T2, T3, R0>[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)view( [RamaFunction4](/content/javadoc/com/rpl/rama/ops/RamaFunction4.html "interface in com.rpl.rama.ops"/index.html) <T0,T1,T2,T3,R0> viewFunction, Object arg1, Object arg2, Object arg3)
Parameters:viewFunction - Function to apply of four arguments
view )
static<T0, T1, T2, T3, T4, R0>[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)view( [RamaFunction5](/content/javadoc/com/rpl/rama/ops/RamaFunction5.html "interface in com.rpl.rama.ops"/index.html) <T0,T1,T2,T3,T4,R0> viewFunction, Object arg1, Object arg2, Object arg3, Object arg4)
Parameters:viewFunction - Function to apply of five arguments
view )
static<T0, T1, T2, T3, T4, T5, R0>[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)view( [RamaFunction6](/content/javadoc/com/rpl/rama/ops/RamaFunction6.html "interface in com.rpl.rama.ops"/index.html) <T0,T1,T2,T3,T4,T5,R0> viewFunction, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5)
Parameters:viewFunction - Function to apply of six arguments
view )
static<T0, T1, T2, T3, T4, T5, T6, R0>[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)view( [RamaFunction7](/content/javadoc/com/rpl/rama/ops/RamaFunction7.html "interface in com.rpl.rama.ops"/index.html) <T0,T1,T2,T3,T4,T5,T6,R0> viewFunction, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6)
Parameters:viewFunction - Function to apply of seven arguments
view )
static<T0, T1, T2, T3, T4, T5, T6, T7, R0>[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)view( [RamaFunction8](/content/javadoc/com/rpl/rama/ops/RamaFunction8.html "interface in com.rpl.rama.ops"/index.html) <T0,T1,T2,T3,T4,T5,T6,T7,R0> viewFunction, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7)
Parameters:viewFunction - Function to apply of eight arguments
customNavBuilder )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)customNavBuilder( [RamaFunction0](/content/javadoc/com/rpl/rama/ops/RamaFunction0.html "interface in com.rpl.rama.ops"/index.html) < [Navigator](/content/javadoc/com/rpl/rama/Navigator.html "interface in com.rpl.rama"/index.html) > builderFunction)
Adds a custom navigator built dynamically with the provided function of zero arguments. Additional arguments to customNavBuilder after the
first are passed to the provided function at runtime.
Parameters:builderFunction - Navigator builder function of zero argumentsSee Also:
customNavBuilder )
static
Adds a custom navigator built dynamically with the provided function of one argument. Additional arguments to customNavBuilder after the
first are passed to the provided function at runtime.
Parameters:builderFunction - Navigator builder function of one argumentSee Also:
customNavBuilder )
static<T0, T1>[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)customNavBuilder( [RamaFunction2](/content/javadoc/com/rpl/rama/ops/RamaFunction2.html "interface in com.rpl.rama.ops"/index.html) <T0,T1, [Navigator](/content/javadoc/com/rpl/rama/Navigator.html "interface in com.rpl.rama"/index.html) > builderFunction, Object arg0, Object arg1)
Adds a custom navigator built dynamically with the provided function of two arguments. Additional arguments to customNavBuilder after the
first are passed to the provided function at runtime.
Parameters:builderFunction - Navigator builder function of two argumentsSee Also:
customNavBuilder )
static<T0, T1, T2>[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)customNavBuilder( [RamaFunction3](/content/javadoc/com/rpl/rama/ops/RamaFunction3.html "interface in com.rpl.rama.ops"/index.html) <T0,T1,T2, [Navigator](/content/javadoc/com/rpl/rama/Navigator.html "interface in com.rpl.rama"/index.html) > builderFunction, Object arg0, Object arg1, Object arg2)
Adds a custom navigator built dynamically with the provided function of three arguments. Additional arguments to customNavBuilder after the
first are passed to the provided function at runtime.
Parameters:builderFunction - Navigator builder function of three argumentsSee Also:
customNavBuilder )
static<T0, T1, T2, T3>[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)customNavBuilder( [RamaFunction4](/content/javadoc/com/rpl/rama/ops/RamaFunction4.html "interface in com.rpl.rama.ops"/index.html) <T0,T1,T2,T3, [Navigator](/content/javadoc/com/rpl/rama/Navigator.html "interface in com.rpl.rama"/index.html) > builderFunction, Object arg0, Object arg1, Object arg2, Object arg3)
Adds a custom navigator built dynamically with the provided function of four arguments. Additional arguments to customNavBuilder after the
first are passed to the provided function at runtime.
Parameters:builderFunction - Navigator builder function of four argumentsSee Also:
customNavBuilder )
static<T0, T1, T2, T3, T4>[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)customNavBuilder( [RamaFunction5](/content/javadoc/com/rpl/rama/ops/RamaFunction5.html "interface in com.rpl.rama.ops"/index.html) <T0,T1,T2,T3,T4, [Navigator](/content/javadoc/com/rpl/rama/Navigator.html "interface in com.rpl.rama"/index.html) > builderFunction, Object arg0, Object arg1, Object arg2, Object arg3, Object arg4)
Adds a custom navigator built dynamically with the provided function of five arguments. Additional arguments to customNavBuilder after the
first are passed to the provided function at runtime.
Parameters:builderFunction - Navigator builder function of five argumentsSee Also:
customNavBuilder )
static<T0, T1, T2, T3, T4, T5>[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)customNavBuilder( [RamaFunction6](/content/javadoc/com/rpl/rama/ops/RamaFunction6.html "interface in com.rpl.rama.ops"/index.html) <T0,T1,T2,T3,T4,T5, [Navigator](/content/javadoc/com/rpl/rama/Navigator.html "interface in com.rpl.rama"/index.html) > builderFunction, Object arg0, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5)
Adds a custom navigator built dynamically with the provided function of six arguments. Additional arguments to customNavBuilder after the
first are passed to the provided function at runtime.
Parameters:builderFunction - Navigator builder function of six argumentsSee Also:
customNavBuilder )
static<T0, T1, T2, T3, T4, T5, T6>[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)customNavBuilder( [RamaFunction7](/content/javadoc/com/rpl/rama/ops/RamaFunction7.html "interface in com.rpl.rama.ops"/index.html) <T0,T1,T2,T3,T4,T5,T6, [Navigator](/content/javadoc/com/rpl/rama/Navigator.html "interface in com.rpl.rama"/index.html) > builderFunction, Object arg0, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6)
Adds a custom navigator built dynamically with the provided function of seven arguments. Additional arguments to customNavBuilder after the
first are passed to the provided function at runtime.
Parameters:builderFunction - Navigator builder function of seven argumentsSee Also:
customNavBuilder )
static<T0, T1, T2, T3, T4, T5, T6, T7>[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)customNavBuilder( [RamaFunction8](/content/javadoc/com/rpl/rama/ops/RamaFunction8.html "interface in com.rpl.rama.ops"/index.html) <T0,T1,T2,T3,T4,T5,T6,T7, [Navigator](/content/javadoc/com/rpl/rama/Navigator.html "interface in com.rpl.rama"/index.html) > builderFunction, Object arg0, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7)
Adds a custom navigator built dynamically with the provided function of eight arguments. Additional arguments to customNavBuilder after the
first are passed to the provided function at runtime.
Parameters:builderFunction - Navigator builder function of eight argumentsSee Also:
pathBuilder )
static[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)pathBuilder( [RamaFunction0](/content/javadoc/com/rpl/rama/ops/RamaFunction0.html "interface in com.rpl.rama.ops"/index.html) < [Path](/content/javadoc/com/rpl/rama/Path.html "interface in com.rpl.rama"/index.html) > builderFunction)
Concatenates a path to the current path constructed with the provided function of zero arguments. Additional arguments to pathBuilder after the
first are passed to the provided function at runtime.
Parameters:builderFunction - Path builder function of zero arguments
pathBuilder )
static
Concatenates a path to the current path constructed with the provided function of one argument. Additional arguments to pathBuilder after the
first are passed to the provided function at runtime.
Parameters:builderFunction - Path builder function of one argument
pathBuilder )
static<T0, T1>[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)pathBuilder( [RamaFunction2](/content/javadoc/com/rpl/rama/ops/RamaFunction2.html "interface in com.rpl.rama.ops"/index.html) <T0,T1, [Path](/content/javadoc/com/rpl/rama/Path.html "interface in com.rpl.rama"/index.html) > builderFunction, Object arg0, Object arg1)
Concatenates a path to the current path constructed with the provided function of two arguments. Additional arguments to pathBuilder after the
first are passed to the provided function at runtime.
Parameters:builderFunction - Path builder function of two arguments
pathBuilder )
static<T0, T1, T2>[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)pathBuilder( [RamaFunction3](/content/javadoc/com/rpl/rama/ops/RamaFunction3.html "interface in com.rpl.rama.ops"/index.html) <T0,T1,T2, [Path](/content/javadoc/com/rpl/rama/Path.html "interface in com.rpl.rama"/index.html) > builderFunction, Object arg0, Object arg1, Object arg2)
Concatenates a path to the current path constructed with the provided function of three arguments. Additional arguments to pathBuilder after the
first are passed to the provided function at runtime.
Parameters:builderFunction - Path builder function of three arguments
pathBuilder )
static<T0, T1, T2, T3>[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)pathBuilder( [RamaFunction4](/content/javadoc/com/rpl/rama/ops/RamaFunction4.html "interface in com.rpl.rama.ops"/index.html) <T0,T1,T2,T3, [Path](/content/javadoc/com/rpl/rama/Path.html "interface in com.rpl.rama"/index.html) > builderFunction, Object arg0, Object arg1, Object arg2, Object arg3)
Concatenates a path to the current path constructed with the provided function of four arguments. Additional arguments to pathBuilder after the
first are passed to the provided function at runtime.
Parameters:builderFunction - Path builder function of four arguments
pathBuilder )
static<T0, T1, T2, T3, T4>[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)pathBuilder( [RamaFunction5](/content/javadoc/com/rpl/rama/ops/RamaFunction5.html "interface in com.rpl.rama.ops"/index.html) <T0,T1,T2,T3,T4, [Path](/content/javadoc/com/rpl/rama/Path.html "interface in com.rpl.rama"/index.html) > builderFunction, Object arg0, Object arg1, Object arg2, Object arg3, Object arg4)
Concatenates a path to the current path constructed with the provided function of five arguments. Additional arguments to pathBuilder after the
first are passed to the provided function at runtime.
Parameters:builderFunction - Path builder function of five arguments
pathBuilder )
static<T0, T1, T2, T3, T4, T5>[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)pathBuilder( [RamaFunction6](/content/javadoc/com/rpl/rama/ops/RamaFunction6.html "interface in com.rpl.rama.ops"/index.html) <T0,T1,T2,T3,T4,T5, [Path](/content/javadoc/com/rpl/rama/Path.html "interface in com.rpl.rama"/index.html) > builderFunction, Object arg0, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5)
Concatenates a path to the current path constructed with the provided function of six arguments. Additional arguments to pathBuilder after the
first are passed to the provided function at runtime.
Parameters:builderFunction - Path builder function of six arguments
pathBuilder )
static<T0, T1, T2, T3, T4, T5, T6>[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)pathBuilder( [RamaFunction7](/content/javadoc/com/rpl/rama/ops/RamaFunction7.html "interface in com.rpl.rama.ops"/index.html) <T0,T1,T2,T3,T4,T5,T6, [Path](/content/javadoc/com/rpl/rama/Path.html "interface in com.rpl.rama"/index.html) > builderFunction, Object arg0, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6)
Concatenates a path to the current path constructed with the provided function of seven arguments. Additional arguments to pathBuilder after the
first are passed to the provided function at runtime.
Parameters:builderFunction - Path builder function of seven arguments
pathBuilder )
static<T0, T1, T2, T3, T4, T5, T6, T7>[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)pathBuilder( [RamaFunction8](/content/javadoc/com/rpl/rama/ops/RamaFunction8.html "interface in com.rpl.rama.ops"/index.html) <T0,T1,T2,T3,T4,T5,T6,T7, [Path](/content/javadoc/com/rpl/rama/Path.html "interface in com.rpl.rama"/index.html) > builderFunction, Object arg0, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7)
Concatenates a path to the current path constructed with the provided function of eight arguments. Additional arguments to pathBuilder after the
first are passed to the provided function at runtime.
Parameters:builderFunction - Path builder function of eight arguments
term )
static<T0, R0>[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)term( [RamaFunction1](/content/javadoc/com/rpl/rama/ops/RamaFunction1.html "interface in com.rpl.rama.ops"/index.html) <T0,R0> termFunction)
Terminal point of a transform path that updates navigated value with the provided function of one argument.
Parameters:termFunction - Transform function on navigated valueSee Also:
static<T0, T1, R0>[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)term( [RamaFunction2](/content/javadoc/com/rpl/rama/ops/RamaFunction2.html "interface in com.rpl.rama.ops"/index.html) <T0,T1,R0> termFunction, Object arg1)
Terminal point of a transform path that updates navigated value with the provided function of two arguments.
The first argument will be the navigated value, and remaining arguments will be additional arguments
provided to term.
Parameters:termFunction - Transform function of two argumentsSee Also:
static<T0, T1, T2, R0>[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)term( [RamaFunction3](/content/javadoc/com/rpl/rama/ops/RamaFunction3.html "interface in com.rpl.rama.ops"/index.html) <T0,T1,T2,R0> termFunction, Object arg1, Object arg2)
Terminal point of a transform path that updates navigated value with the provided function of three arguments.
The first argument will be the navigated value, and remaining arguments will be additional arguments
provided to term.
Parameters:termFunction - Transform function of three argumentsSee Also:
static<T0, T1, T2, T3, R0>[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)term( [RamaFunction4](/content/javadoc/com/rpl/rama/ops/RamaFunction4.html "interface in com.rpl.rama.ops"/index.html) <T0,T1,T2,T3,R0> termFunction, Object arg1, Object arg2, Object arg3)
Terminal point of a transform path that updates navigated value with the provided function of four arguments.
The first argument will be the navigated value, and remaining arguments will be additional arguments
provided to term.
Parameters:termFunction - Transform function of four argumentsSee Also:
static<T0, T1, T2, T3, T4, R0>[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)term( [RamaFunction5](/content/javadoc/com/rpl/rama/ops/RamaFunction5.html "interface in com.rpl.rama.ops"/index.html) <T0,T1,T2,T3,T4,R0> termFunction, Object arg1, Object arg2, Object arg3, Object arg4)
Terminal point of a transform path that updates navigated value with the provided function of five arguments.
The first argument will be the navigated value, and remaining arguments will be additional arguments
provided to term.
Parameters:termFunction - Transform function of five argumentsSee Also:
static<T0, T1, T2, T3, T4, T5, R0>[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)term( [RamaFunction6](/content/javadoc/com/rpl/rama/ops/RamaFunction6.html "interface in com.rpl.rama.ops"/index.html) <T0,T1,T2,T3,T4,T5,R0> termFunction, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5)
Terminal point of a transform path that updates navigated value with the provided function of six arguments.
The first argument will be the navigated value, and remaining arguments will be additional arguments
provided to term.
Parameters:termFunction - Transform function of six argumentsSee Also:
static<T0, T1, T2, T3, T4, T5, T6, R0>[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)term( [RamaFunction7](/content/javadoc/com/rpl/rama/ops/RamaFunction7.html "interface in com.rpl.rama.ops"/index.html) <T0,T1,T2,T3,T4,T5,T6,R0> termFunction, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6)
Terminal point of a transform path that updates navigated value with the provided function of seven arguments.
The first argument will be the navigated value, and remaining arguments will be additional arguments
provided to term.
Parameters:termFunction - Transform function of seven argumentsSee Also:
static<T0, T1, T2, T3, T4, T5, T6, T7, R0>[Path.Impl](/content/javadoc/com/rpl/rama/Path.Impl.html "interface in com.rpl.rama"/index.html)term( [RamaFunction8](/content/javadoc/com/rpl/rama/ops/RamaFunction8.html "interface in com.rpl.rama.ops"/index.html) <T0,T1,T2,T3,T4,T5,T6,T7,R0> termFunction, Object arg1, Object arg2, Object arg3, Object arg4, Object arg5, Object arg6, Object arg7)
Terminal point of a transform path that updates navigated value with the provided function of eight arguments.
The first argument will be the navigated value, and remaining arguments will be additional arguments
provided to term.
Parameters:termFunction - Transform function of eight argumentsSee Also: