public interface DriverExecutionProfile
It is a collection of typed options.
Getters (such as getBoolean(DriverOption)
) are self-explanatory.
withXxx
methods (such as withBoolean(DriverOption, boolean)
) create a
"derived" profile, which is an on-the-fly copy of the profile with the new value (which
might be a new option, or overwrite an existing one). If the original configuration is reloaded,
all derived profiles get updated as well. For best performance, such derived profiles should be
used sparingly; it is better to have built-in profiles for common scenarios.
DriverConfig
Modifier and Type | Field and Description |
---|---|
static String |
DEFAULT_NAME
The name of the default profile (the string "default").
|
static final String DEFAULT_NAME
Named profiles can't use this name. If you try to declare such a profile, a runtime error will be thrown.
@NonNull String getName()
Derived profiles inherit the name of their parent.
boolean isDefined(@NonNull DriverOption option)
boolean getBoolean(@NonNull DriverOption option)
default boolean getBoolean(@NonNull DriverOption option, boolean defaultValue)
@NonNull DriverExecutionProfile withBoolean(@NonNull DriverOption option, boolean value)
@NonNull List<Boolean> getBooleanList(@NonNull DriverOption option)
@Nullable default List<Boolean> getBooleanList(@NonNull DriverOption option, @Nullable List<Boolean> defaultValue)
@NonNull DriverExecutionProfile withBooleanList(@NonNull DriverOption option, @NonNull List<Boolean> value)
int getInt(@NonNull DriverOption option)
default int getInt(@NonNull DriverOption option, int defaultValue)
@NonNull DriverExecutionProfile withInt(@NonNull DriverOption option, int value)
@NonNull List<Integer> getIntList(@NonNull DriverOption option)
@Nullable default List<Integer> getIntList(@NonNull DriverOption option, @Nullable List<Integer> defaultValue)
@NonNull DriverExecutionProfile withIntList(@NonNull DriverOption option, @NonNull List<Integer> value)
long getLong(@NonNull DriverOption option)
default long getLong(@NonNull DriverOption option, long defaultValue)
DriverExecutionProfile withLong(@NonNull DriverOption option, long value)
@NonNull List<Long> getLongList(@NonNull DriverOption option)
@Nullable default List<Long> getLongList(@NonNull DriverOption option, @Nullable List<Long> defaultValue)
@NonNull DriverExecutionProfile withLongList(@NonNull DriverOption option, @NonNull List<Long> value)
double getDouble(@NonNull DriverOption option)
default double getDouble(@NonNull DriverOption option, double defaultValue)
@NonNull DriverExecutionProfile withDouble(@NonNull DriverOption option, double value)
@NonNull List<Double> getDoubleList(@NonNull DriverOption option)
@Nullable default List<Double> getDoubleList(@NonNull DriverOption option, @Nullable List<Double> defaultValue)
@NonNull DriverExecutionProfile withDoubleList(@NonNull DriverOption option, @NonNull List<Double> value)
@NonNull String getString(@NonNull DriverOption option)
@Nullable default String getString(@NonNull DriverOption option, @Nullable String defaultValue)
@NonNull DriverExecutionProfile withString(@NonNull DriverOption option, @NonNull String value)
@NonNull List<String> getStringList(@NonNull DriverOption option)
@Nullable default List<String> getStringList(@NonNull DriverOption option, @Nullable List<String> defaultValue)
@NonNull DriverExecutionProfile withStringList(@NonNull DriverOption option, @NonNull List<String> value)
@NonNull Map<String,String> getStringMap(@NonNull DriverOption option)
@Nullable default Map<String,String> getStringMap(@NonNull DriverOption option, @Nullable Map<String,String> defaultValue)
@NonNull DriverExecutionProfile withStringMap(@NonNull DriverOption option, @NonNull Map<String,String> value)
long getBytes(@NonNull DriverOption option)
getLong(DriverOption)
, in case
implementations want to allow users to provide sizes in a more human-readable way, for
example "256 MB".default long getBytes(@NonNull DriverOption option, long defaultValue)
@NonNull DriverExecutionProfile withBytes(@NonNull DriverOption option, long value)
getBytes(DriverOption)
@NonNull List<Long> getBytesList(DriverOption option)
getBytes(DriverOption)
@Nullable default List<Long> getBytesList(DriverOption option, @Nullable List<Long> defaultValue)
@NonNull DriverExecutionProfile withBytesList(@NonNull DriverOption option, @NonNull List<Long> value)
getBytes(DriverOption)
@NonNull Duration getDuration(@NonNull DriverOption option)
@Nullable default Duration getDuration(@NonNull DriverOption option, @Nullable Duration defaultValue)
@NonNull DriverExecutionProfile withDuration(@NonNull DriverOption option, @NonNull Duration value)
@NonNull List<Duration> getDurationList(@NonNull DriverOption option)
@Nullable default List<Duration> getDurationList(@NonNull DriverOption option, @Nullable List<Duration> defaultValue)
@NonNull DriverExecutionProfile withDurationList(@NonNull DriverOption option, @NonNull List<Duration> value)
@NonNull DriverExecutionProfile without(@NonNull DriverOption option)
@NonNull Object getComparisonKey(@NonNull DriverOption option)
This is only used to compare configuration sections across profiles, so the actual
implementation does not matter, as long as identical sections (same options with same values,
regardless of order) compare as equal and have the same hashCode()
.
@NonNull SortedSet<Map.Entry<String,Object>> entrySet()
The keys are raw strings that match DriverOption.getPath()
.
The values are implementation-dependent. With the driver's default implementation, the
possible types are String
, Number
, Boolean
, Map<String,Object>
,
List<Object>
, or null
.
Copyright © 2017–2018. All rights reserved.