/** * Build a map that reflects the current state of this builder. * * @return the new immutable option map */ public OptionMap getMap() { final List<OVPair<?>> list = this.list; if (list.size() == 0) { return EMPTY; } else if (list.size() == 1) { final OVPair<?> pair = list.get(0); return new OptionMap(Collections.<Option<?>, Object>singletonMap(pair.option, pair.value)); } else { final Map<Option<?>, Object> map = new IdentityHashMap<Option<?>, Object>(); for (OVPair<?> ovPair : list) { map.put(ovPair.option, ovPair.value); } return new OptionMap(map); } } }
/** * Create a single-valued option map. * * @param option the option to put in the map * @param value the option value * @param <T> the option value type * @return the option map * * @since 3.0 */ public static <T> OptionMap create(Option<T> option, T value) { if (option == null) { throw msg.nullParameter("option"); } if (value == null) { throw msg.nullParameter("value"); } return new OptionMap(Collections.<Option<?>, Object>singletonMap(option, option.cast(value))); }
map.put(option1, value1); map.put(option2, value2); return new OptionMap(map);
/** * Build a map that reflects the current state of this builder. * * @return the new immutable option map */ public OptionMap getMap() { final List<OVPair<?>> list = this.list; if (list.size() == 0) { return EMPTY; } else if (list.size() == 1) { final OVPair<?> pair = list.get(0); return new OptionMap(Collections.<Option<?>, Object>singletonMap(pair.option, pair.value)); } else { final Map<Option<?>, Object> map = new IdentityHashMap<Option<?>, Object>(); for (OVPair<?> ovPair : list) { map.put(ovPair.option, ovPair.value); } return new OptionMap(map); } } }
/** * Create a single-valued option map. * * @param option the option to put in the map * @param value the option value * @param <T> the option value type * @return the option map * * @since 3.0 */ public static <T> OptionMap create(Option<T> option, T value) { if (option == null) { throw msg.nullParameter("option"); } if (value == null) { throw msg.nullParameter("value"); } return new OptionMap(Collections.<Option<?>, Object>singletonMap(option, option.cast(value))); }
map.put(option1, value1); map.put(option2, value2); return new OptionMap(map);