public class Binder
extends java.util.HashMap<java.lang.String,java.lang.Object>
implements java.io.Serializable
| Modifier and Type | Field and Description |
|---|---|
static Binder |
EMPTY
An empty, unmodifiable Binder can be used as a returned value, for example, in an effective way
|
| Constructor and Description |
|---|
Binder() |
Binder(java.util.Map copyFrom) |
Binder(java.lang.Object... keyValuePairs) |
| Modifier and Type | Method and Description |
|---|---|
int |
addToInt(java.lang.String name,
int delta)
Add some delta to a numeric field with a given name that must exist and be convertible to integer.
|
protected void |
checkNotFrozen() |
static <T> T |
convertAllMapsToBinders(java.lang.Object object)
Convert all maps in the object to binders and do it recursively.
|
void |
freeze() |
static Binder |
from(java.lang.Object x)
Convert some map to the binder.
|
static Binder |
fromKeysValues(java.lang.Object... args)
Convert "key, value" pairs from varargs into a Params.
|
java.util.ArrayList<?> |
getArray(java.lang.String key) |
byte[] |
getBinary(java.lang.String key)
Get the binary as byte[].
|
@NonNull byte[] |
getBinaryOrThrow(java.lang.String key)
Get the binary parameter as byte[] and throws exception if it is missing
|
Binder |
getBinder(java.lang.String key)
Return Binder for the key, or empty binder if it does not exist.
|
Binder |
getBinder(java.lang.String key,
Binder defaultValue) |
Binder |
getBinderOrThrow(java.lang.String... path)
Create binder using a path, e.g.
|
Binder |
getBinderOrThrow(java.lang.String key) |
java.util.ArrayList<Binder> |
getBinders(java.lang.String key) |
boolean |
getBoolean(java.lang.String key)
Deprecated.
|
java.lang.Boolean |
getBoolean(java.lang.String key,
java.lang.Boolean defaultValue)
Get the value as boolean, with given default value if it is missed
|
java.lang.Boolean |
getBooleanOrThrow(java.lang.String key)
Get the boolean value of the specivied key or throw
|
Bytes |
getBytesOrThrow(java.lang.String key) |
java.lang.Double |
getDouble(java.lang.String key) |
int |
getInt(java.lang.String key)
Deprecated.
|
java.lang.Integer |
getInt(java.lang.String key,
java.lang.Integer defaultValue) |
int |
getIntOrThrow(java.lang.String key) |
<T> java.util.List<T> |
getList(java.lang.String key,
java.util.List<T> defaultValue) |
java.util.List |
getListOrThrow(java.lang.String key) |
long |
getLong(java.lang.String key)
Deprecated.
|
long |
getLong(java.lang.String key,
long defaultValue) |
long |
getLongOrThrow(java.lang.String key) |
Binder |
getOrCreateBinder(java.lang.String key) |
<T> java.util.List<T> |
getOrCreateList(java.lang.String key)
Get object as list, or create empty list if it is empty
|
<T> T |
getOrNull(java.lang.String... path) |
<T> T |
getOrThrow(java.lang.String... path) |
<T> T |
getOrThrow(java.lang.String key)
Get object at key or throw
IllegalArgumentException. |
java.lang.String |
getString(java.lang.String key)
Compatibility method.
|
java.lang.String |
getString(java.lang.String key,
java.lang.String defaultValue) |
java.lang.String |
getStringOrThrow(java.lang.String... path) |
java.lang.String |
getStringOrThrow(java.lang.String key)
Get the parameter as string.
|
java.time.ZonedDateTime |
getZonedDateTime(java.lang.String key,
java.time.ZonedDateTime defaultValue) |
java.time.ZonedDateTime |
getZonedDateTimeOrThrow(java.lang.String key) |
boolean |
isFrozen() |
static Binder |
of(java.lang.Object x)
Convert some map to the binder.
|
Binder |
of(java.lang.String key)
Deprecated.
|
static Binder |
of(java.lang.String key,
java.lang.Object value,
java.lang.Object... keysValues)
Just like in Java 9, create a binder of keys and values, but, IMPOTANT, returned Binder is not immutable! Freeze
it if need.
|
Binder |
putAll(java.lang.String key,
java.lang.Object value,
java.lang.Object... keyValuePairs)
Put several keys and values from array varargs.
|
<T> T |
set(java.lang.String key,
T object)
Add Binder as a field with the specified index and return it in a typed manner.
|
Binder |
unmodifiableCopy() |
clear, clone, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, forEach, get, getOrDefault, isEmpty, keySet, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, valuespublic static final Binder EMPTY
public Binder(java.util.Map copyFrom)
public Binder()
public Binder(java.lang.Object... keyValuePairs)
public static Binder fromKeysValues(java.lang.Object... args)
args - key, value pairs.Can be 0 length or any even length.public boolean isFrozen()
protected void checkNotFrozen()
public java.lang.Double getDouble(java.lang.String key)
public java.lang.String getStringOrThrow(java.lang.String key)
throws java.lang.IllegalArgumentException
key - java.lang.IllegalArgumentException - if the parameter does not existpublic java.lang.String getString(java.lang.String key,
java.lang.String defaultValue)
public java.lang.String getString(java.lang.String key)
throws java.lang.IllegalArgumentException
getStringOrThrow(String).java.lang.IllegalArgumentExceptionpublic byte[] getBinary(java.lang.String key)
key - public @NonNull byte[] getBinaryOrThrow(java.lang.String key)
throws java.lang.IllegalArgumentException
key - java.lang.IllegalArgumentException@Deprecated public boolean getBoolean(java.lang.String key)
getBoolean(String, Boolean) } or getBinaryOrThrow(String) to resolve this ambigity.key - public java.lang.Boolean getBoolean(java.lang.String key,
java.lang.Boolean defaultValue)
key - name of the parameterdefaultValue - value to return if missingpublic java.lang.Boolean getBooleanOrThrow(java.lang.String key)
throws java.lang.IllegalArgumentException
key - to searchjava.lang.IllegalArgumentException - if key not found@Deprecated public Binder of(java.lang.String key)
params.of("some").of("non-existing").of("path").getStringOrThrow("foo") == null
will work as expected.
key - key namepublic static Binder of(java.lang.String key, java.lang.Object value, java.lang.Object... keysValues)
key - value - keysValues - public Binder getOrCreateBinder(java.lang.String key)
public Binder getBinder(java.lang.String key)
key - public Binder getBinderOrThrow(java.lang.String key)
@Deprecated public int getInt(java.lang.String key)
getIntOrThrow(String) instead.key - parameter nameIllegalArgumentException.public int getIntOrThrow(java.lang.String key)
key - parameter nameIllegalArgumentException.@Deprecated public long getLong(java.lang.String key)
getLongOrThrow(String) instead.key - public long getLong(java.lang.String key,
long defaultValue)
public java.lang.Integer getInt(java.lang.String key,
java.lang.Integer defaultValue)
public java.util.ArrayList<?> getArray(java.lang.String key)
public java.util.ArrayList<Binder> getBinders(java.lang.String key)
public <T> T set(java.lang.String key,
T object)
key - object - public Binder unmodifiableCopy()
public void freeze()
public static Binder from(java.lang.Object x)
x - source mappublic static <T> T convertAllMapsToBinders(java.lang.Object object)
object - source mappublic static Binder of(java.lang.Object x)
x - source mappublic Binder putAll(java.lang.String key, java.lang.Object value, java.lang.Object... keyValuePairs)
setKeysValues("foo", 1, "bar", 2);keyValuePairs - public java.time.ZonedDateTime getZonedDateTime(java.lang.String key,
java.time.ZonedDateTime defaultValue)
public java.time.ZonedDateTime getZonedDateTimeOrThrow(java.lang.String key)
public long getLongOrThrow(java.lang.String key)
public Bytes getBytesOrThrow(java.lang.String key)
public <T> T getOrThrow(java.lang.String key)
IllegalArgumentException. Important. This method throw exception if the value
not found in the map, or if the value is null, and also if the value can't be casted to T. do not use it if nulls
are valid values.T - key - public <T> java.util.List<T> getOrCreateList(java.lang.String key)
T - key - public <T> java.util.List<T> getList(java.lang.String key,
java.util.List<T> defaultValue)
public java.util.List getListOrThrow(java.lang.String key)
public int addToInt(java.lang.String name,
int delta)
name - delta - public Binder getBinderOrThrow(java.lang.String... path)
getBinderOrThrow(String) sequentally to all strings in path
argument array. For example
Binder res = source.getBinderOrThrow("foo", "bar", "baz")
does exactly same as
Binder res = source.getBinderOrThrow("foo").getBinderOrThrow("bar").getBinderOrThrow("baz");
path - array of pah componentsjava.lang.IllegalArgumentException - if such a binder does not exist in this Binderpublic java.lang.String getStringOrThrow(java.lang.String... path)
public <T> T getOrThrow(java.lang.String... path)
public <T> T getOrNull(java.lang.String... path)