@Override public OptionsByType addAll(Option... options) { if (options != null) { for (Option option : options) { add(option); } } return this; }
@Override public Options addAll(Option... options) { if (options != null) { for (Option option : options) { add(option); } } return this; }
/** * Constructs a {@link Options} given an array of {@link Option}s * * @param options the {@link Option}s being managed */ Options(Option... options) { this.options = new LinkedHashMap<>(); if (options != null) { for (Option option : options) { add(option); } } }
/** * Constructs a {@link Options} given an array of {@link Option}s * * @param options the {@link Option}s being managed */ Options(Option... options) { this.options = new LinkedHashMap<>(); if (options != null) { for (Option option : options) { add(option); } } }
@Override public <T extends Option, D extends T> T getOrSetDefault(Class<T> classOfOption, D defaultOption) { if (classOfOption == null) { return null; } else { T option = (T) options.get(classOfOption); if (option == null && defaultOption != null) { option = defaultOption; add(option); } return option; } }
@Override public <T extends Option, D extends T> T getOrSetDefault(Class<T> classOfOption, D defaultOption) { if (classOfOption == null) { return null; } else { T option = (T) options.get(classOfOption); if (option == null && defaultOption != null) { option = defaultOption; add(option); } return option; } }
@Override public Options addAll(OptionsByType options) { for (Option option : options.asArray()) { add(option); } return this; }
@Override public Options addIfAbsent(Option option) { Class<? extends Option> classOfOption = OptionsByType.getClassOf(option); if (!options.containsKey(classOfOption)) { add(option); } return this; }
@Override public OptionsByType addIfAbsent(Option option) { Class<? extends Option> classOfOption = OptionsByType.getClassOf(option); if (!options.containsKey(classOfOption)) { add(option); } return this; }
@Override public OptionsByType addAll(OptionsByType options) { for (Option option : options.asArray()) { add(option); } return this; }
@Override public <T extends Option> T get(Class<T> classOfOption, Object... arguments) { if (classOfOption == null) { return null; } else { T option = (T) options.get(classOfOption); if (option == null) { option = getDefaultFor(classOfOption, arguments); add(option); } return option; } }
@Override public <T extends Option> T get(Class<T> classOfOption, Object... arguments) { if (classOfOption == null) { return null; } else { T option = (T) options.get(classOfOption); if (option == null) { option = getDefaultFor(classOfOption, arguments); add(option); } return option; } }