public interface Value extends Iterable<Value>
Modifier and Type | Method and Description |
---|---|
static Value |
array(String name,
List<String> values)
Creates a sequence/array of values.
|
default boolean |
booleanValue()
Convert this value to boolean (if possible).
|
default boolean |
booleanValue(boolean defaultValue)
Convert this value to boolean (if possible) or fallback to given value when missing.
|
default byte |
byteValue()
Convert this value to byte (if possible).
|
default byte |
byteValue(byte defaultValue)
Convert this value to byte (if possible) or fallback to given value when missing.
|
static Value |
create(String name,
List<String> values)
Creates a value that fits better with the given values.
|
default double |
doubleValue()
Convert this value to double (if possible).
|
default double |
doubleValue(double defaultValue)
Convert this value to double (if possible) or fallback to given value when missing.
|
default FileUpload |
fileUpload()
Get a file upload from this value.
|
default float |
floatValue()
Convert this value to float (if possible).
|
default float |
floatValue(float defaultValue)
Convert this value to float (if possible) or fallback to given value when missing.
|
Value |
get(int index)
Get a value at the given position.
|
Value |
get(String name)
Get a value that matches the given name.
|
static Value |
hash(Map<String,Collection<String>> values)
Create a hash/object value using the map values.
|
default int |
intValue()
Convert this value to int (if possible).
|
default int |
intValue(int defaultValue)
Convert this value to int (if possible) or fallback to given value when missing.
|
default boolean |
isArray()
True if this value is an array/sequence (not single or hash).
|
default boolean |
isMissing()
True for missing values.
|
default boolean |
isObject()
True if this is a hash/object value (not single or array).
|
default boolean |
isSingle()
True if this is a single value (not a hash or array).
|
default boolean |
isUpload()
True if this is a file upload (not single, not array, not hash).
|
default Iterator<Value> |
iterator()
Value iterator.
|
default long |
longValue()
Convert this value to long (if possible).
|
default long |
longValue(long defaultValue)
Convert this value to long (if possible) or fallback to given value when missing.
|
static Value |
missing(String name)
Creates a missing value.
|
String |
name()
Name of this value or
null . |
default String |
resolve(String expression)
Process the given expression and resolve value references.
|
default String |
resolve(String expression,
boolean ignoreMissing)
Process the given expression and resolve value references.
|
default String |
resolve(String expression,
boolean ignoreMissing,
String startDelim,
String endDelim)
Process the given expression and resolve value references.
|
default String |
resolve(String expression,
String startDelim,
String endDelim)
Process the given expression and resolve value references.
|
default int |
size()
The number of values this one has.
|
default <T> T |
to(Class<T> type)
Convert this value to the given type.
|
default <T> T |
to(Reified<T> type)
Convert this value to the given type.
|
default <T> T |
to(Type type)
Convert this value to the given type.
|
default <T extends Enum<T>> |
toEnum(Throwing.Function<String,T> fn)
Convert this value to an Enum.
|
default <T extends Enum<T>> |
toEnum(Throwing.Function<String,T> fn,
Function<String,String> nameProvider)
Convert this value to an Enum.
|
default List<String> |
toList()
Get list of values.
|
default <T> List<T> |
toList(Class<T> type)
Get list of the given type.
|
default Map<String,String> |
toMap()
Value as single-value map.
|
Map<String,List<String>> |
toMultimap()
Value as multi-value map.
|
default Optional<String> |
toOptional()
Get a value or empty optional.
|
default <T> Optional<T> |
toOptional(Class<T> type)
Get a value or empty optional.
|
default Set<String> |
toSet()
Get set of values.
|
default <T> Set<T> |
toSet(Class<T> type)
Get set of the given type.
|
String |
value()
Get string value.
|
default String |
value(String defaultValue)
Convert this value to String (if possible) or fallback to given value when missing.
|
static Value |
value(String name,
String value)
Creates a single value.
|
default <T> T |
value(Throwing.Function<String,T> fn)
Convert value using the given function.
|
default String |
valueOrNull()
Convert this value to String (if possible) or
null when missing. |
forEach, spliterator
default long longValue()
default long longValue(long defaultValue)
defaultValue
- Default value.default int intValue()
default int intValue(int defaultValue)
defaultValue
- Default value.default byte byteValue()
default byte byteValue(byte defaultValue)
defaultValue
- Default value.default float floatValue()
default float floatValue(float defaultValue)
defaultValue
- Default value.default double doubleValue()
default double doubleValue(double defaultValue)
defaultValue
- Default value.default boolean booleanValue()
default boolean booleanValue(boolean defaultValue)
defaultValue
- Default value.@Nonnull default String value(@Nonnull String defaultValue)
defaultValue
- Default value.@Nonnull default String valueOrNull()
null
when missing.null
when missing.default boolean isArray()
default boolean isSingle()
default boolean isObject()
default boolean isUpload()
default boolean isMissing()
@Nonnull default <T> T value(@Nonnull Throwing.Function<String,T> fn)
T
- Target type.fn
- Function.@Nonnull default <T> List<T> toList(@Nonnull Class<T> type)
T
- Item type.type
- Type to convert.@Nonnull default <T> Set<T> toSet(@Nonnull Class<T> type)
T
- Item type.type
- Type to convert.@Nonnull default <T extends Enum<T>> T toEnum(@Nonnull Throwing.Function<String,T> fn)
T
- Enum type.fn
- Mapping function.@Nonnull default <T extends Enum<T>> T toEnum(@Nonnull Throwing.Function<String,T> fn, @Nonnull Function<String,String> nameProvider)
T
- Enum type.fn
- Mapping function.nameProvider
- Enum name provider.@Nonnull default Optional<String> toOptional()
@Nonnull default <T> Optional<T> toOptional(@Nonnull Class<T> type)
T
- Item type.type
- Item type.default FileUpload fileUpload()
@Nonnull Value get(@Nonnull int index)
index
- Position.@Nonnull Value get(@Nonnull String name)
name
- Field name.default int size()
0
.@Nonnull default <T> T to(@Nonnull Class<T> type)
T
- Element type.type
- Type to convert.@Nonnull default <T> T to(@Nonnull Type type)
T
- Element type.type
- Type to convert.@Nonnull default <T> T to(@Nonnull Reified<T> type)
T
- Element type.type
- Type to convert.@Nullable Map<String,List<String>> toMultimap()
@Nonnull default Map<String,String> toMap()
@Nonnull default String resolve(@Nonnull String expression)
Value value = Value.single("foo", "bar");
String output = value.resolve("${foo}");
System.out.println(output);
expression
- Text expression.@Nonnull default String resolve(@Nonnull String expression, boolean ignoreMissing)
Value value = Value.single("foo", "bar");
String output = value.resolve("${missing}", true);
System.out.println(output);
expression
- Text expression.ignoreMissing
- On missing values, keep the expression as it is.@Nonnull default String resolve(@Nonnull String expression, @Nonnull String startDelim, @Nonnull String endDelim)
Value value = Value.single("foo", "bar");
String output = value.resolve("<%missing%>", "<%", "%>");
System.out.println(output);
expression
- Text expression.startDelim
- Start delimiter.endDelim
- End delimiter.@Nonnull default String resolve(@Nonnull String expression, boolean ignoreMissing, @Nonnull String startDelim, @Nonnull String endDelim)
Value value = Value.single("foo", "bar");
String output = value.resolve("<%missing%>", "<%", "%>");
System.out.println(output);
expression
- Text expression.ignoreMissing
- On missing values, keep the expression as it is.startDelim
- Start delimiter.endDelim
- End delimiter.@Nonnull static Value missing(@Nonnull String name)
name
- Name of missing value.@Nonnull static Value value(@Nonnull String name, @Nonnull String value)
name
- Name of value.value
- Value.@Nonnull static Value array(@Nonnull String name, @Nonnull List<String> values)
name
- Name of array.values
- Field values.@Nonnull static Value create(@Nonnull String name, @Nullable List<String> values)
name
- Field name.values
- Field values.Copyright © 2019. All rights reserved.