private Map<String, Object> createMap(final Iterable<ModuleItem<?>> items, final boolean outputMap) { final Map<String, Object> map = new HashMap<>(); for (final ModuleItem<?> item : items) { final String name = item.getName(); final Object value = outputMap ? getOutput(name) : getInput(name); map.put(name, value); } return map; }
@Override public void setInputs(final Map<String, Object> inputs) { for (final String name : inputs.keySet()) { setInput(name, inputs.get(name)); } }
@Override public void initialize() throws MethodCallException { // execute global module initializer final Object delegateObject = getDelegateObject(); if (delegateObject instanceof Initializable) { ((Initializable) delegateObject).initialize(); } else { if (initializerRef == null) { final String initializer = getInfo().getInitializer(); initializerRef = new MethodRef(delegateObject.getClass(), initializer); } initializerRef.execute(delegateObject); } // execute individual module item initializers for (final ModuleItem<?> item : getInfo().inputs()) { item.initialize(this); } }
private ModuleItem<?> getInputItem(final String name) { for (final ModuleItem<?> item : getInfo().inputs()) { if (item.getName().equals(name)) return item; } return null; } }
@Override public void setOutputs(final Map<String, Object> outputs) { for (final String name : outputs.keySet()) { setOutput(name, outputs.get(name)); } }
@Override public void resolveInput(final String name) { final ModuleItem<?> item = getInputItem(name); if (item != null) { try { item.validate(this); } catch (final MethodCallException exc) { // NB: Hacky, but avoids changing the API signature. throw new RuntimeException(exc); } } resolvedInputs.add(name); }
@Override public void initialize() throws MethodCallException { // execute global module initializer final Object delegateObject = getDelegateObject(); if (delegateObject instanceof Initializable) { ((Initializable) delegateObject).initialize(); } else { if (initializerRef == null) { final String initializer = getInfo().getInitializer(); initializerRef = new MethodRef(delegateObject.getClass(), initializer); } initializerRef.execute(delegateObject); } // execute individual module item initializers for (final ModuleItem<?> item : getInfo().inputs()) { item.initialize(this); } }
private ModuleItem<?> getInputItem(final String name) { for (final ModuleItem<?> item : getInfo().inputs()) { if (item.getName().equals(name)) return item; } return null; } }
@Override public void setOutputs(final Map<String, Object> outputs) { for (final String name : outputs.keySet()) { setOutput(name, outputs.get(name)); } }
@Override public void resolveInput(final String name) { final ModuleItem<?> item = getInputItem(name); if (item != null) { try { item.validate(this); } catch (final MethodCallException exc) { // NB: Hacky, but avoids changing the API signature. throw new RuntimeException(exc); } } resolvedInputs.add(name); }
private Map<String, Object> createMap(final Iterable<ModuleItem<?>> items, final boolean outputMap) { final Map<String, Object> map = new HashMap<>(); for (final ModuleItem<?> item : items) { final String name = item.getName(); final Object value = outputMap ? getOutput(name) : getInput(name); map.put(name, value); } return map; }
@Override public void setInputs(final Map<String, Object> inputs) { for (final String name : inputs.keySet()) { setInput(name, inputs.get(name)); } }