/** Creates a mutable copy of the given module item. */ private <T> DefaultMutableModuleItem<T> copy(final ModuleItem<T> item) { return new DefaultMutableModuleItem<>(this, item); }
/** Creates a mutable copy of the given module item. */ private <T> DefaultMutableModuleItem<T> copy(final ModuleItem<T> item) { return new DefaultMutableModuleItem<>(this, item); }
/** Adds an input to the list. */ default <T> MutableModuleItem<T> addInput(final String name, final Class<T> type) { final DefaultMutableModuleItem<T> item = new DefaultMutableModuleItem<>(this, name, type); addInput(item); return item; }
/** Adds an input to the list. */ default <T> MutableModuleItem<T> addInput(final String name, final Class<T> type) { final DefaultMutableModuleItem<T> item = new DefaultMutableModuleItem<>(this, name, type); addInput(item); return item; }
/** Adds an output to the list. */ default <T> MutableModuleItem<T> addOutput(final String name, final Class<T> type) { final DefaultMutableModuleItem<T> item = new DefaultMutableModuleItem<>(this, name, type); addOutput(item); return item; }
/** Adds an output to the list. */ default <T> MutableModuleItem<T> addOutput(final String name, final Class<T> type) { final DefaultMutableModuleItem<T> item = new DefaultMutableModuleItem<>(this, name, type); addOutput(item); return item; }
private <T> void addItem(final String name, final Class<T> type, final Map<String, Object> attrs, final boolean explicit) { final DefaultMutableModuleItem<T> item = new DefaultMutableModuleItem<>(info, name, type); for (final String key : attrs.keySet()) { final Object value = attrs.get(key); assignAttribute(item, key, value); } if (item.isInput()) info.registerInput(item); if (item.isOutput()) { info.registerOutput(item); // NB: Only append the return value as an extra // output when no explicit outputs are declared. if (explicit) info.setReturnValueAppended(false); } }
private <T> void addItem(final String name, final Class<T> type, final Map<String, Object> attrs, final boolean explicit) { final DefaultMutableModuleItem<T> item = new DefaultMutableModuleItem<>(info, name, type); for (final String key : attrs.keySet()) { final Object value = attrs.get(key); assignAttribute(item, key, value); } if (item.isInput()) info.registerInput(item); if (item.isOutput()) { info.registerOutput(item); // NB: Only append the return value as an extra // output when no explicit outputs are declared. if (explicit) info.setReturnValueAppended(false); } }
public AlphabetModuleInfo() { // So much fun to construct modules by hand! Who needs commands? setModuleClass(AlphabetModule.class); final DefaultMutableModuleItem<StringBuilder> bufferItem = new DefaultMutableModuleItem<>(this, "buffer", StringBuilder.class); bufferItem.setIOType(ItemIO.BOTH); addInput(bufferItem); addInput(new DefaultMutableModuleItem<>(this, "length", int.class)); }