- All Superinterfaces:
Comparable<Position>
Represents the location of a first-level element in a JSON, either a Key in a JsObj or an Index in
a JsArray.
-
Method Summary
Modifier and TypeMethodDescriptionasIndex()
Casts this position into an Index, throwing an exception if it's a Key.asKey()
Casts this position into a Key, throwing an exception if it's an index.boolean
isIndex()
Returns true if this position is an index.default boolean
isIndex
(IntPredicate predicate) Returns true if this position is an index, and its index tested on a given predicate is true.boolean
isKey()
Returns true if this position is a key.default boolean
Returns true if this position is a key, and its name tested on a given predicate is true.default <T> T
match
(Function<String, T> keyFn, IntFunction<T> indexFn) Returns a new value applying pattern matching on the Position type.Methods inherited from interface java.lang.Comparable
compareTo
-
Method Details
-
isKey
Returns true if this position is a key, and its name tested on a given predicate is true.- Parameters:
predicate
- the given predicate- Returns:
- true if this position is a key, and its name tested on a given predicate is true
-
isIndex
boolean isIndex()Returns true if this position is an index.- Returns:
- true if this position is an index
-
asKey
Key asKey()Casts this position into a Key, throwing an exception if it's an index.- Returns:
- this position as a Key
- Throws:
UserError
- if this position is an Index
-
isIndex
Returns true if this position is an index, and its index tested on a given predicate is true.- Parameters:
predicate
- the given predicate- Returns:
- true if this position is an index, and its index tested on a given predicate is true
-
isKey
boolean isKey()Returns true if this position is a key.- Returns:
- true if this position is a key
-
asIndex
Index asIndex()Casts this position into an Index, throwing an exception if it's a Key.- Returns:
- this position as an Index
- Throws:
UserError
- if this position is a Key
-
match
Returns a new value applying pattern matching on the Position type.- Type Parameters:
T
- the type of the object returned- Parameters:
keyFn
- function to apply if this Position is a keyindexFn
- function to apply if this Position is an index- Returns:
- an object of type T
-