Skip to content

Commit 88d3cab

Browse files
committed
Use List instead of Iterable as returntype of the ModuleInfo methods returning list of ModuleItems.
``inputs()`` and ``outputs()`` used to return Iterable<ModuleItem<?>> 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.
1 parent 6db9fe0 commit 88d3cab

File tree

3 files changed

+8
-6
lines changed

3 files changed

+8
-6
lines changed

src/main/java/org/scijava/command/CommandInfo.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -279,13 +279,13 @@ public <T> CommandModuleItem<T> getOutput(final String name,
279279
}
280280

281281
@Override
282-
public Iterable<ModuleItem<?>> inputs() {
282+
public List<ModuleItem<?>> inputs() {
283283
parseParams();
284284
return Collections.unmodifiableList(inputList);
285285
}
286286

287287
@Override
288-
public Iterable<ModuleItem<?>> outputs() {
288+
public List<ModuleItem<?>> outputs() {
289289
parseParams();
290290
return Collections.unmodifiableList(outputList);
291291
}

src/main/java/org/scijava/module/AbstractModuleInfo.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,12 +99,12 @@ public <T> ModuleItem<T> getOutput(final String name, final Class<T> type) {
9999
}
100100

101101
@Override
102-
public Iterable<ModuleItem<?>> inputs() {
102+
public List<ModuleItem<?>> inputs() {
103103
return Collections.unmodifiableList(inputList());
104104
}
105105

106106
@Override
107-
public Iterable<ModuleItem<?>> outputs() {
107+
public List<ModuleItem<?>> outputs() {
108108
return Collections.unmodifiableList(outputList());
109109
}
110110

src/main/java/org/scijava/module/ModuleInfo.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@
3131

3232
package org.scijava.module;
3333

34+
import java.util.List;
35+
3436
import org.scijava.UIDetails;
3537
import org.scijava.Validated;
3638
import org.scijava.event.EventService;
@@ -74,10 +76,10 @@ public interface ModuleInfo extends UIDetails, Validated {
7476
<T> ModuleItem<T> getOutput(String name, Class<T> type);
7577

7678
/** Gets the list of input items. */
77-
Iterable<ModuleItem<?>> inputs();
79+
List<ModuleItem<?>> inputs();
7880

7981
/** Gets the list of output items. */
80-
Iterable<ModuleItem<?>> outputs();
82+
List<ModuleItem<?>> outputs();
8183

8284
/**
8385
* Gets the fully qualified name of the class containing the module's actual

0 commit comments

Comments
 (0)