File tree Expand file tree Collapse file tree 4 files changed +36
-37
lines changed
mvvm4fx-core/src/main/java/com/techsenger/mvvm4fx/core Expand file tree Collapse file tree 4 files changed +36
-37
lines changed Original file line number Diff line number Diff line change @@ -43,6 +43,28 @@ public Mediator() {
4343 (v ) -> v .getView ().getViewModel ());
4444 }
4545
46+ @ Override
47+ public SubtreeIterator <ParentViewModel > depthFirstIterator () {
48+ return new AbstractDepthFirstIterator <ParentViewModel >(getView ().getViewModel ()) {
49+
50+ @ Override
51+ List <ParentViewModel > getChildren (ParentViewModel parent ) {
52+ return (List ) children ;
53+ }
54+ };
55+ }
56+
57+ @ Override
58+ public SubtreeIterator <ParentViewModel > breadthFirstIterator () {
59+ return new AbstractBreadthFirstIterator <ParentViewModel >(getView ().getViewModel ()) {
60+
61+ @ Override
62+ List <ParentViewModel > getChildren (ParentViewModel parent ) {
63+ return (List ) children ;
64+ }
65+ };
66+ }
67+
4668 @ Override
4769 public ObservableList <ChildViewModel > getChildren () {
4870 return children ;
Original file line number Diff line number Diff line change 1616
1717package com .techsenger .mvvm4fx .core ;
1818
19- import java .util .List ;
20-
2119/**
2220 *
2321 * @author Pavel Castornii
@@ -28,27 +26,6 @@ public AbstractParentViewModel() {
2826 super ();
2927 }
3028
31- @ Override
32- public SubtreeIterator <ParentViewModel > depthFirstIterator () {
33- return new AbstractDepthFirstIterator <ParentViewModel >(this ) {
34-
35- @ Override
36- List <ParentViewModel > getChildren (ParentViewModel parent ) {
37- return (List ) getMediator ().getChildren ();
38- }
39- };
40- }
41-
42- @ Override
43- public SubtreeIterator <ParentViewModel > breadthFirstIterator () {
44- return new AbstractBreadthFirstIterator <ParentViewModel >(this ) {
45-
46- @ Override
47- List <ParentViewModel > getChildren (ParentViewModel parent ) {
48- return (List ) getMediator ().getChildren ();
49- }
50- };
51- }
5229
5330 @ Override
5431 public ParentMediator getMediator () {
Original file line number Diff line number Diff line change @@ -30,4 +30,18 @@ public interface ParentMediator extends ComponentMediator {
3030 * @return a non-null, unmodifiable observable list of child ViewModels
3131 */
3232 ObservableList <ChildViewModel > getChildren ();
33+
34+ /**
35+ * Returns an iterator that traverses the component subtree starting from this component in depth-first order.
36+ *
37+ * @return an {@link Iterator} that iterates over this component and all of its descendants
38+ */
39+ SubtreeIterator <ParentViewModel > depthFirstIterator ();
40+
41+ /**
42+ * Returns an iterator that traverses the component subtree starting from this component in breadth-first order.
43+ *
44+ * @return an {@link Iterator} that iterates over this component and all of its descendants
45+ */
46+ SubtreeIterator <ParentViewModel > breadthFirstIterator ();
3347}
Original file line number Diff line number Diff line change 2222 */
2323public interface ParentViewModel extends ComponentViewModel {
2424
25- /**
26- * Returns an iterator that traverses the component subtree starting from this component in depth-first order.
27- *
28- * @return an {@link Iterator} that iterates over this component and all of its descendants
29- */
30- SubtreeIterator <ParentViewModel > depthFirstIterator ();
31-
32- /**
33- * Returns an iterator that traverses the component subtree starting from this component in breadth-first order.
34- *
35- * @return an {@link Iterator} that iterates over this component and all of its descendants
36- */
37- SubtreeIterator <ParentViewModel > breadthFirstIterator ();
38-
3925 @ Override
4026 ParentMediator getMediator ();
4127}
You can’t perform that action at this time.
0 commit comments