Class OptionsSupport<T extends java.lang.Enum & Option>
- java.lang.Object
-
- ru.vyarus.dropwizard.guice.module.context.option.internal.OptionsSupport<T>
-
- Type Parameters:
T
- helper type to define option
public final class OptionsSupport<T extends java.lang.Enum & Option> extends java.lang.Object
Options support logic. Holds configured options and controls option correctness.Because enums are used for option definition, option value checks couldn't be performed at compile time. Check is performed manually during value assignment.
Option may have null as default value, but null can't be assigned manually.
- Since:
- 09.08.2016
-
-
Constructor Summary
Constructors Constructor Description OptionsSupport()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
containsOption(T option)
<P> P
get(T option)
OptionHolder
getHolder(T option)
java.util.Set<T>
getOptions()
void
set(T option, java.lang.Object value)
-
-
-
Method Detail
-
set
public void set(T option, java.lang.Object value)
- Parameters:
option
- option enumvalue
- option value (not null)- Throws:
java.lang.NullPointerException
- for null valuejava.lang.IllegalArgumentException
- for value incompatible with option type
-
get
public <P> P get(T option)
- Type Parameters:
P
- option value- Parameters:
option
- option enum- Returns:
- defined or default option value
-
getHolder
public OptionHolder getHolder(T option)
- Parameters:
option
- option- Returns:
- option holder object
- Throws:
java.lang.IllegalArgumentException
- if option is not registered (not used)
-
containsOption
public boolean containsOption(T option)
- Parameters:
option
- option- Returns:
- true if option registered (was used or set), false otherwise
-
getOptions
public java.util.Set<T> getOptions()
- Returns:
- set with all used options
-
-