/** @deprecated Use {@link #isInputResolved(String)} instead. */ @Deprecated default boolean isResolved(final String name) { return isInputResolved(name); }
/** @deprecated Use {@link #isInputResolved(String)} instead. */ @Deprecated default boolean isResolved(final String name) { return isInputResolved(name); }
private ModuleItem<?> getSingleItem(final Module module, final Collection<Class<?>> types, final Iterable<ModuleItem<?>> items) { ModuleItem<?> result = null; for (final ModuleItem<?> item : items) { final String name = item.getName(); final boolean resolved = module.isInputResolved(name); if (resolved) continue; // skip resolved inputs if (!item.isAutoFill()) continue; // skip unfillable inputs final Class<?> itemType = item.getType(); for (final Class<?> type : types) { if (type.isAssignableFrom(itemType)) { if (result != null) return null; // multiple matching module items result = item; // This module item matches, so no need to check more classes. break; } } } return result; }
private ModuleItem<?> getSingleItem(final Module module, final Collection<Class<?>> types, final Iterable<ModuleItem<?>> items) { ModuleItem<?> result = null; for (final ModuleItem<?> item : items) { final String name = item.getName(); final boolean resolved = module.isInputResolved(name); if (resolved) continue; // skip resolved inputs if (!item.isAutoFill()) continue; // skip unfillable inputs final Class<?> itemType = item.getType(); for (final Class<?> type : types) { if (type.isAssignableFrom(itemType)) { if (result != null) return null; // multiple matching module items result = item; // This module item matches, so no need to check more classes. break; } } } return result; }
private <T> void assignDefaultValue(final Module module, final ModuleItem<T> item) { if (module.isInputResolved(item.getName())) return; final T nullValue = Types.nullValue(item.getType()); if (!Objects.equals(item.getValue(module), nullValue)) return; final T defaultValue = moduleService.getDefaultValue(item); if (defaultValue == null) return; item.setValue(module, defaultValue); }
/** * Gets the single unresolved {@link File} input parameter. If there is not * exactly one unresolved {@link File} input parameter, or if there are other * types of unresolved parameters, this method returns null. */ private ModuleItem<File> getFileInput(final Module module) { ModuleItem<File> result = null; for (final ModuleItem<?> input : module.getInfo().inputs()) { if (module.isInputResolved(input.getName())) continue; final Class<?> type = input.getType(); if (!File.class.isAssignableFrom(type)) { // not a File parameter; abort return null; } if (result != null) { // second File parameter; abort return null; } @SuppressWarnings("unchecked") final ModuleItem<File> fileInput = (ModuleItem<File>) input; result = fileInput; } return result; }
/** * Gets the single unresolved {@link File} input parameter. If there is not * exactly one unresolved {@link File} input parameter, or if there are other * types of unresolved parameters, this method returns null. */ private ModuleItem<File[]> getFilesInput(final Module module) { ModuleItem<File[]> result = null; for (final ModuleItem<?> input : module.getInfo().inputs()) { if (module.isInputResolved(input.getName())) continue; final Class<?> type = input.getType(); if (!File[].class.isAssignableFrom(type)) { // not a File[] parameter; abort return null; } if (result != null) { // second File parameter; abort return null; } @SuppressWarnings("unchecked") final ModuleItem<File[]> fileInput = (ModuleItem<File[]>) input; result = fileInput; } return result; } }
/** * Gets the single unresolved {@link File} input parameter. If there is not * exactly one unresolved {@link File} input parameter, or if there are other * types of unresolved parameters, this method returns null. */ private ModuleItem<File> getFileInput(final Module module) { ModuleItem<File> result = null; for (final ModuleItem<?> input : module.getInfo().inputs()) { if (module.isInputResolved(input.getName())) continue; final Class<?> type = input.getType(); if (!File.class.isAssignableFrom(type)) { // not a File parameter; abort return null; } if (result != null) { // second File parameter; abort return null; } @SuppressWarnings("unchecked") final ModuleItem<File> fileInput = (ModuleItem<File>) input; result = fileInput; } return result; }
private <T> void assignDefaultValue(final Module module, final ModuleItem<T> item) { if (module.isInputResolved(item.getName())) return; final T nullValue = Types.nullValue(item.getType()); if (!Objects.equals(item.getValue(module), nullValue)) return; final T defaultValue = moduleService.getDefaultValue(item); if (defaultValue == null) return; item.setValue(module, defaultValue); }
/** * Gets the single unresolved {@link File} input parameter. If there is not * exactly one unresolved {@link File} input parameter, or if there are other * types of unresolved parameters, this method returns null. */ private ModuleItem<File[]> getFilesInput(final Module module) { ModuleItem<File[]> result = null; for (final ModuleItem<?> input : module.getInfo().inputs()) { if (module.isInputResolved(input.getName())) continue; final Class<?> type = input.getType(); if (!File[].class.isAssignableFrom(type)) { // not a File[] parameter; abort return null; } if (result != null) { // second File parameter; abort return null; } @SuppressWarnings("unchecked") final ModuleItem<File[]> fileInput = (ModuleItem<File[]>) input; result = fileInput; } return result; } }
@Override public void process(final Module module) { if (legacyService == null) return; final IJ1Helper ij1Helper = legacyService.getIJ1Helper(); if (ij1Helper == null) return; if (ij1Helper.isMacro()) return; ij1Helper.startRecording(menuLabel(module)); final Set<String> excludedInputs = // MacroRecorderExcludedInputs.create(module); for (final ModuleItem<?> input : module.getInfo().inputs()) { final String name = input.getName(); if (module.isInputResolved(name)) excludedInputs.add(name); } }
/** Loads the value of the given module item from persistent storage. */ private <T> void loadValue(final Module module, final ModuleItem<T> item) { // skip input that has already been resolved if (module.isInputResolved(item.getName())) return; final T prefValue = moduleService.load(item); final Class<T> type = item.getType(); final T defaultValue = item.getValue(module); final T value = getBestValue(prefValue, defaultValue, type); item.setValue(module, value); }
/** Loads the value of the given module item from persistent storage. */ private <T> void loadValue(final Module module, final ModuleItem<T> item) { // skip input that has already been resolved if (module.isInputResolved(item.getName())) return; final T prefValue = moduleService.load(item); final Class<T> type = item.getType(); final T defaultValue = item.getValue(module); final T value = getBestValue(prefValue, defaultValue, type); item.setValue(module, value); }
@SuppressWarnings("unchecked") private <T> void assignNamespace(final Module module, final ModuleItem<T> item) { if (module.isInputResolved(item.getName())) return; // if possible, extract the OpEnvironment from the delegate object final Object delegate = module.getDelegateObject(); final OpEnvironment env = delegate instanceof Environmental ? // ((Environmental) delegate).ops() : ops; if (env == null) return; T defaultValue = null; if (Namespace.class.isAssignableFrom(item.getType())) { defaultValue = (T) nsService.create(// (Class<? extends Namespace>) item.getType(), env); } if (defaultValue == null) return; item.setValue(module, defaultValue); module.resolveInput(item.getName()); } }
private <T> WidgetModel addInput(final InputPanel<P, W> inputPanel, final Module module, final ModuleItem<T> item) throws ModuleException { final String name = item.getName(); final boolean resolved = module.isInputResolved(name); if (resolved) return null; // skip resolved inputs final Class<T> type = item.getType(); final WidgetModel model = widgetService.createModel(inputPanel, module, item, getObjects(type)); final Class<W> widgetType = inputPanel.getWidgetComponentType(); final InputWidget<?, ?> widget = widgetService.create(model); if (widget == null) { log.debug("No widget found for input: " + model.getItem().getName()); } if (widget != null && widget.getComponentType() == widgetType) { @SuppressWarnings("unchecked") final InputWidget<?, W> typedWidget = (InputWidget<?, W>) widget; inputPanel.addWidget(typedWidget); return model; } if (item.isRequired()) { throw new ModuleException("A " + type.getSimpleName() + " is required but none exist."); } // item is not required; we can skip it return null; }
private <T> WidgetModel addInput(final InputPanel<P, W> inputPanel, final Module module, final ModuleItem<T> item) throws ModuleException { final String name = item.getName(); final boolean resolved = module.isInputResolved(name); if (resolved) return null; // skip resolved inputs final Class<T> type = item.getType(); final WidgetModel model = widgetService.createModel(inputPanel, module, item, getObjects(type)); final Class<W> widgetType = inputPanel.getWidgetComponentType(); final InputWidget<?, ?> widget = widgetService.create(model); if (widget == null) { log.debug("No widget found for input: " + model.getItem().getName()); } if (widget != null && widget.getComponentType() == widgetType) { @SuppressWarnings("unchecked") final InputWidget<?, W> typedWidget = (InputWidget<?, W>) widget; inputPanel.addWidget(typedWidget); return model; } if (item.isRequired()) { throw new ModuleException("A " + type.getSimpleName() + " is required but none exist."); } // item is not required; we can skip it return null; }