コード例 #1
0
 private <T> ModuleItem<T> getSingleItem(
     final Module module, final Class<T> type, final Iterable<ModuleItem<?>> items) {
   ModuleItem<T> result = null;
   for (final ModuleItem<?> item : items) {
     final String name = item.getName();
     final boolean resolved = module.isResolved(name);
     if (resolved) continue; // skip resolved inputs
     if (!type.isAssignableFrom(item.getType())) continue;
     if (result != null) return null; // multiple matching items
     @SuppressWarnings("unchecked")
     final ModuleItem<T> typedItem = (ModuleItem<T>) item;
     result = typedItem;
   }
   return result;
 }
コード例 #2
0
 @Override
 public void removeOutput(final ModuleItem<?> output) {
   outputMap().remove(output.getName());
   outputList().remove(output);
 }
コード例 #3
0
 @Override
 public void addOutput(final ModuleItem<?> output) {
   outputMap().put(output.getName(), output);
   outputList().add(output);
 }
コード例 #4
0
 @Override
 public void removeInput(final ModuleItem<?> input) {
   inputMap().remove(input.getName());
   inputList().remove(input);
 }
コード例 #5
0
 @Override
 public void addInput(final ModuleItem<?> input) {
   inputMap().put(input.getName(), input);
   inputList().add(input);
 }