Skip to content

Commit 8d1f80b

Browse files
committed
MenuService: move default method impls to iface
1 parent 46a6f50 commit 8d1f80b

File tree

2 files changed

+13
-23
lines changed

2 files changed

+13
-23
lines changed

src/main/java/org/scijava/menu/DefaultMenuService.java

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
import java.util.List;
3838
import java.util.Map;
3939

40-
import org.scijava.UIDetails;
4140
import org.scijava.event.EventHandler;
4241
import org.scijava.event.EventService;
4342
import org.scijava.module.ModuleInfo;
@@ -71,29 +70,11 @@ public class DefaultMenuService extends AbstractService implements MenuService
7170

7271
// -- MenuService methods --
7372

74-
@Override
75-
public ShadowMenu getMenu() {
76-
return getMenu(UIDetails.APPLICATION_MENU_ROOT);
77-
}
78-
7973
@Override
8074
public ShadowMenu getMenu(final String menuRoot) {
8175
return rootMenus().get(menuRoot);
8276
}
8377

84-
@Override
85-
public <T> T createMenus(final MenuCreator<T> creator, final T menu) {
86-
return createMenus(UIDetails.APPLICATION_MENU_ROOT, creator, menu);
87-
}
88-
89-
@Override
90-
public <T> T createMenus(final String menuRoot,
91-
final MenuCreator<T> creator, final T menu)
92-
{
93-
creator.createMenus(getMenu(menuRoot), menu);
94-
return menu;
95-
}
96-
9778
// -- Event handlers --
9879

9980
@EventHandler

src/main/java/org/scijava/menu/MenuService.java

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

3232
package org.scijava.menu;
3333

34+
import org.scijava.UIDetails;
3435
import org.scijava.module.ModuleInfo;
3536
import org.scijava.service.SciJavaService;
3637

@@ -42,7 +43,9 @@
4243
public interface MenuService extends SciJavaService {
4344

4445
/** Gets the root node of the application menu structure. */
45-
ShadowMenu getMenu();
46+
default ShadowMenu getMenu() {
47+
return getMenu(UIDetails.APPLICATION_MENU_ROOT);
48+
}
4649

4750
/**
4851
* Gets the root node of a menu structure.
@@ -58,7 +61,9 @@ public interface MenuService extends SciJavaService {
5861
* @param creator the {@link MenuCreator} to use to populate the menus.
5962
* @param menu the destination menu structure to populate.
6063
*/
61-
<T> T createMenus(MenuCreator<T> creator, T menu);
64+
default <T> T createMenus(final MenuCreator<T> creator, final T menu) {
65+
return createMenus(UIDetails.APPLICATION_MENU_ROOT, creator, menu);
66+
}
6267

6368
/**
6469
* Populates a UI-specific menu structure.
@@ -68,6 +73,10 @@ public interface MenuService extends SciJavaService {
6873
* @param creator the {@link MenuCreator} to use to populate the menus.
6974
* @param menu the destination menu structure to populate.
7075
*/
71-
<T> T createMenus(String menuRoot, MenuCreator<T> creator, T menu);
72-
76+
default <T> T createMenus(final String menuRoot,
77+
final MenuCreator<T> creator, final T menu)
78+
{
79+
creator.createMenus(getMenu(menuRoot), menu);
80+
return menu;
81+
}
7382
}

0 commit comments

Comments
 (0)