Package jsonvalues
Interface Position
- 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.booleanisIndex()Returns true if this position is an index.default booleanisIndex(IntPredicate predicate) Returns true if this position is an index, and its index tested on a given predicate is true.booleanisKey()Returns true if this position is a key.default booleanReturns true if this position is a key, and its name tested on a given predicate is true.default <T> Tmatch(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
-