@Override public <T extends Option> boolean remove(Class<T> classOfOption) { if (classOfOption == null) { return false; } else { Option option = options.remove(OptionsByType.getClassOf(classOfOption)); return option != null; } }
/** * Obtains the concrete type that directly implements / extends the specified {@link Option}. * * @param option the {@link Option} * * @return the concrete {@link Class} that directly extends / implements the {@link Option} interface * or <code>null</code> if the {@link Option} is <code>null</code> */ static Class<? extends Option> getClassOf(Option option) { return option == null ? null : getClassOf(option.getClass()); }
/** * Obtains the concrete type that directly implements / extends the specified {@link Option}. * * @param option the {@link Option} * * @return the concrete {@link Class} that directly extends / implements the {@link Option} interface * or <code>null</code> if the {@link Option} is <code>null</code> */ static Class<? extends Option> getClassOf(Option option) { return option == null ? null : getClassOf(option.getClass()); }
@Override public <T extends Option> boolean remove(Class<T> classOfOption) { if (classOfOption == null) { return false; } else { Option option = options.remove(OptionsByType.getClassOf(classOfOption)); return option != null; } }
@Override public OptionsByType addIfAbsent(Option option) { Class<? extends Option> classOfOption = OptionsByType.getClassOf(option); if (!options.containsKey(classOfOption)) { 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; }
Class<? extends Option> classOfCollector = OptionsByType.getClassOf(collectable.getCollectorClass()); Class<? extends Option> classOfOption = OptionsByType.getClassOf(option);
Class<? extends Option> classOfCollector = OptionsByType.getClassOf(collectable.getCollectorClass()); Class<? extends Option> classOfOption = OptionsByType.getClassOf(option);
Class<? extends Option> classOfCollector = OptionsByType.getClassOf(collectable.getCollectorClass()); Class<? extends Option> classOfOption = OptionsByType.getClassOf(option);
Class<? extends Option> classOfCollector = OptionsByType.getClassOf(collectable.getCollectorClass()); Class<? extends Option> classOfOption = OptionsByType.getClassOf(option);