Skip to content

Commit 9bac6ab

Browse files
committed
InputWidget: move default method impls to iface
1 parent 190222d commit 9bac6ab

File tree

2 files changed

+14
-27
lines changed

2 files changed

+14
-27
lines changed

src/main/java/org/scijava/widget/AbstractInputWidget.java

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -53,16 +53,6 @@ public void updateModel() {
5353
widgetModel.setValue(getValue());
5454
}
5555

56-
@Override
57-
public boolean isLabeled() {
58-
return true;
59-
}
60-
61-
@Override
62-
public boolean isMessage() {
63-
return false;
64-
}
65-
6656
// -- WrapperPlugin methods --
6757

6858
@Override
@@ -77,18 +67,4 @@ public void set(final WidgetModel model) {
7767
public WidgetModel get() {
7868
return widgetModel;
7969
}
80-
81-
// -- Typed methods --
82-
83-
@Override
84-
public boolean supports(final WidgetModel model) {
85-
// check compatibility with the intended input panel
86-
return model.getPanel().supports(this);
87-
}
88-
89-
@Override
90-
public Class<WidgetModel> getType() {
91-
return WidgetModel.class;
92-
}
93-
9470
}

src/main/java/org/scijava/widget/InputWidget.java

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,15 +75,19 @@ public interface InputWidget<T, W> extends WrapperPlugin<WidgetModel>,
7575
*
7676
* @see WidgetModel#getWidgetLabel()
7777
*/
78-
boolean isLabeled();
78+
default boolean isLabeled() {
79+
return true;
80+
}
7981

8082
/**
8183
* Returns true iff the widget should be considered a read-only "message"
8284
* rather than a bidirectional input widget. The
8385
* {@link InputPanel#isMessageOnly()} method will return true iff this method
8486
* returns true for all of its widgets.
8587
*/
86-
boolean isMessage();
88+
default boolean isMessage() {
89+
return false;
90+
}
8791

8892
// NB: Javadoc overrides.
8993

@@ -104,6 +108,13 @@ public interface InputWidget<T, W> extends WrapperPlugin<WidgetModel>,
104108

105109
/** Gets whether this widget would be appropriate for the given model. */
106110
@Override
107-
boolean supports(WidgetModel model);
111+
default boolean supports(final WidgetModel model) {
112+
// check compatibility with the intended input panel
113+
return model.getPanel().supports(this);
114+
}
108115

116+
@Override
117+
default Class<WidgetModel> getType() {
118+
return WidgetModel.class;
119+
}
109120
}

0 commit comments

Comments
 (0)