1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.seasar.uruma.component.base;
17
18 import java.util.ArrayList;
19 import java.util.List;
20
21 import org.seasar.uruma.component.UIElement;
22 import org.seasar.uruma.component.UIHasMenuCompositeComponent;
23 import org.seasar.uruma.component.jface.CompositeComponent;
24 import org.seasar.uruma.component.jface.MenuComponent;
25
26
27
28
29
30
31
32 public abstract class AbstractUIHasMenuCompositeComponent extends
33 CompositeComponent implements UIHasMenuCompositeComponent {
34
35
36
37 public List<MenuComponent> getMenus() {
38 return getElements(MenuComponent.class);
39 }
40
41 protected <E> List<E> getElements(final Class<E> clazz) {
42 List<E> result = new ArrayList<E>(getChildren().size());
43 for (UIElement element : getChildren()) {
44 if (clazz.isAssignableFrom(element.getClass())) {
45 result.add(clazz.cast(element));
46 }
47 }
48 return result;
49 }
50 }