public interface ValueFactory
| Modifier and Type | Interface and Description | 
|---|---|
| static interface  | ValueFactory.BoundedValueBuilder<E>A builder pattern for constructing  MutableBoundedValues without the hassle of
 keeping track of the order of arguments. | 
| Modifier and Type | Method and Description | 
|---|---|
| <E> ValueFactory.BoundedValueBuilder<E> | createBoundedValueBuilder(Key<MutableBoundedValue<E>> key)Creates a  ValueFactory.BoundedValueBuilder | 
| <E> ListValue<E> | createListValue(Key<ListValue<E>> key,
               List<E> elements) | 
| <E> ListValue<E> | createListValue(Key<ListValue<E>> key,
               List<E> elements,
               List<E> defaults) | 
| <K,V> MapValue<K,V> | createMapValue(Key<MapValue<K,V>> key,
              Map<K,V> map) | 
| <K,V> MapValue<K,V> | createMapValue(Key<MapValue<K,V>> key,
              Map<K,V> map,
              Map<K,V> defaults) | 
| <E> OptionalValue<E> | createOptionalValue(Key<OptionalValue<E>> key,
                   E element)Creates an  OptionalValuewhere even the default value may beOptional.empty(). | 
| <E> OptionalValue<E> | createOptionalValue(Key<OptionalValue<E>> key,
                   E element,
                   E defaultElement)Creates an  OptionalValuewhere the default is NOTnull, such that the actual value may be retained asnull. | 
| <E> SetValue<E> | createSetValue(Key<SetValue<E>> key,
              Set<E> elements) | 
| <E> SetValue<E> | createSetValue(Key<SetValue<E>> key,
              Set<E> elements,
              Set<E> defaults) | 
| <E> Value<E> | createValue(Key<Value<E>> key,
           E element) | 
| <E> Value<E> | createValue(Key<Value<E>> key,
           E element,
           E defaultValue) | 
<E> Value<E> createValue(Key<Value<E>> key, E element)
E - The type of elementkey - The key for the valueelement - The element<E> Value<E> createValue(Key<Value<E>> key, E element, E defaultValue)
E - The type of elementkey - The key for the valueelement - The elementdefaultValue - The default value<E> ListValue<E> createListValue(Key<ListValue<E>> key, List<E> elements)
ListValue with the provided Key and
 List of elements. The default value will be an empty list.E - The type of elementkey - The key for the valueelements - The list of elements<E> ListValue<E> createListValue(Key<ListValue<E>> key, List<E> elements, List<E> defaults)
E - The type of elementkey - The key for the valueelements - The list of elementsdefaults - The default list<E> SetValue<E> createSetValue(Key<SetValue<E>> key, Set<E> elements)
E - The type of elementkey - The key for the valueelements - The set of elements<E> SetValue<E> createSetValue(Key<SetValue<E>> key, Set<E> elements, Set<E> defaults)
E - The type of elementkey - The key for the valueelements - The set of elementsdefaults - The default set<K,V> MapValue<K,V> createMapValue(Key<MapValue<K,V>> key, Map<K,V> map)
K - The type of keyV - The type of valuekey - The key for the valuemap - The map of elements<K,V> MapValue<K,V> createMapValue(Key<MapValue<K,V>> key, Map<K,V> map, Map<K,V> defaults)
MapValue of the provided Key with the
 types K and V along with the provided
 Map defaults.K - The type of keyV - The type of valuekey - The key for the valuemap - The map of elementsdefaults - The default map<E> ValueFactory.BoundedValueBuilder<E> createBoundedValueBuilder(Key<MutableBoundedValue<E>> key)
ValueFactory.BoundedValueBuilderE - The type of valuekey - The key to the value<E> OptionalValue<E> createOptionalValue(Key<OptionalValue<E>> key, @Nullable E element)
OptionalValue where even the default value may be
 Optional.empty(). These types of values should be restricted
 to values that are live, that can be potentially large to retain a
 reference to, and otherwise, not thread safe.E - The type of elementkey - The key to the valueelement - The element, if available<E> OptionalValue<E> createOptionalValue(Key<OptionalValue<E>> key, @Nullable E element, E defaultElement)
OptionalValue where the default is NOT
 null, such that the actual value may be retained as
 null.E - The type of elementkey - The key of the valueelement - The elementdefaultElement - The default value