From 88d3cab189d1fd68b2065e0e109cbb18ef48e0b0 Mon Sep 17 00:00:00 2001 From: Gabriel Einsdorf Date: Mon, 18 Jan 2016 13:04:13 -0600 Subject: [PATCH] Use List instead of Iterable as returntype of the ModuleInfo methods returning list of ModuleItems. ``inputs()`` and ``outputs()`` used to return Iterable> this made random access on a Module's in and outputs painful. This restriction is not needed as the implementations of ModuleInfo already return a List. --- src/main/java/org/scijava/command/CommandInfo.java | 4 ++-- src/main/java/org/scijava/module/AbstractModuleInfo.java | 4 ++-- src/main/java/org/scijava/module/ModuleInfo.java | 6 ++++-- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/scijava/command/CommandInfo.java b/src/main/java/org/scijava/command/CommandInfo.java index 3cc61e6ec..cb391eb47 100644 --- a/src/main/java/org/scijava/command/CommandInfo.java +++ b/src/main/java/org/scijava/command/CommandInfo.java @@ -279,13 +279,13 @@ public CommandModuleItem getOutput(final String name, } @Override - public Iterable> inputs() { + public List> inputs() { parseParams(); return Collections.unmodifiableList(inputList); } @Override - public Iterable> outputs() { + public List> outputs() { parseParams(); return Collections.unmodifiableList(outputList); } diff --git a/src/main/java/org/scijava/module/AbstractModuleInfo.java b/src/main/java/org/scijava/module/AbstractModuleInfo.java index 551664197..cd85e75cc 100644 --- a/src/main/java/org/scijava/module/AbstractModuleInfo.java +++ b/src/main/java/org/scijava/module/AbstractModuleInfo.java @@ -99,12 +99,12 @@ public ModuleItem getOutput(final String name, final Class type) { } @Override - public Iterable> inputs() { + public List> inputs() { return Collections.unmodifiableList(inputList()); } @Override - public Iterable> outputs() { + public List> outputs() { return Collections.unmodifiableList(outputList()); } diff --git a/src/main/java/org/scijava/module/ModuleInfo.java b/src/main/java/org/scijava/module/ModuleInfo.java index f55541d82..6e644fa27 100644 --- a/src/main/java/org/scijava/module/ModuleInfo.java +++ b/src/main/java/org/scijava/module/ModuleInfo.java @@ -31,6 +31,8 @@ package org.scijava.module; +import java.util.List; + import org.scijava.UIDetails; import org.scijava.Validated; import org.scijava.event.EventService; @@ -74,10 +76,10 @@ public interface ModuleInfo extends UIDetails, Validated { ModuleItem getOutput(String name, Class type); /** Gets the list of input items. */ - Iterable> inputs(); + List> inputs(); /** Gets the list of output items. */ - Iterable> outputs(); + List> outputs(); /** * Gets the fully qualified name of the class containing the module's actual