1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.betwixt;
19
20
21
22
23
24
25
26
27 public class LoopBean
28 {
29 private static int count = 0;
30
31 private static final int max_count = 100;
32
33 private LoopBean friend;
34
35 private String name;
36
37 public static final LoopBean createNoLoopExampleBean()
38 {
39 LoopBean root = new LoopBean("Root");
40 LoopBean levelOne = new LoopBean("level1");
41 LoopBean levelTwo = new LoopBean("level2");
42 LoopBean levelThree = new LoopBean("level3");
43 LoopBean levelFour = new LoopBean("level4");
44 LoopBean levelFive = new LoopBean("level5");
45
46 root.setFriend(levelOne);
47 levelOne.setFriend(levelTwo);
48 levelTwo.setFriend(levelThree);
49 levelThree.setFriend(levelFour);
50 levelFour.setFriend(levelFive);
51
52 return root;
53 }
54
55 public static final LoopBean createLoopExampleBean()
56 {
57 LoopBean root = new LoopBean("Root");
58 LoopBean levelOne = new LoopBean("level1");
59 LoopBean levelTwo = new LoopBean("level2");
60 LoopBean levelThree = new LoopBean("level3");
61 LoopBean levelFour = new LoopBean("level4");
62 LoopBean levelFive = new LoopBean("level5");
63
64 root.setFriend(levelOne);
65 levelOne.setFriend(levelTwo);
66 levelTwo.setFriend(levelThree);
67 levelThree.setFriend(levelFour);
68 levelFour.setFriend(levelFive);
69 levelFive.setFriend(root);
70
71 return root;
72 }
73
74
75 public static final LoopBean createNotEmptyNoLoopExampleBean()
76 {
77 LoopBean root = new LoopBean("");
78 LoopBean levelOne = new LoopBean("");
79 LoopBean levelTwo = new LoopBean("");
80 LoopBean levelThree = new LoopBean("");
81 LoopBean levelFour = new LoopBean("");
82 LoopBean levelFive = new LoopBean("Not Empty");
83
84 root.setFriend(levelOne);
85 levelOne.setFriend(levelTwo);
86 levelTwo.setFriend(levelThree);
87 levelThree.setFriend(levelFour);
88 levelFour.setFriend(levelFive);
89
90 return root;
91 }
92
93 public static final LoopBean createEmptyLoopExampleBean()
94 {
95 LoopBean root = new LoopBean("");
96 LoopBean levelOne = new LoopBean("");
97 LoopBean levelTwo = new LoopBean("");
98 LoopBean levelThree = new LoopBean("");
99 LoopBean levelFour = new LoopBean("");
100 LoopBean levelFive = new LoopBean("");
101
102 root.setFriend(levelOne);
103 levelOne.setFriend(levelTwo);
104 levelTwo.setFriend(levelThree);
105 levelThree.setFriend(levelFour);
106 levelFour.setFriend(levelFive);
107 levelFive.setFriend(root);
108
109 return root;
110 }
111
112 public static final LoopBean createIdOnlyLoopExampleBean()
113 {
114 LoopBean root = new LoopBean("Root");
115 LoopBean levelOne = new LoopBean("level1");
116 LoopBean levelTwo = new LoopBean("level2");
117 LoopBean levelThree = new LoopBean("level3");
118 LoopBean levelFour = new LoopBean("level4");
119 LoopBean levelFive = new LoopBean("level5");
120 LoopBean notRoot = new LoopBean("Root");
121
122 root.setFriend(levelOne);
123 levelOne.setFriend(levelTwo);
124 levelTwo.setFriend(levelThree);
125 levelThree.setFriend(levelFour);
126 levelFour.setFriend(levelFive);
127 levelFive.setFriend(notRoot);
128
129 return root;
130 }
131
132 public LoopBean(String name)
133 {
134 this.name = name;
135 }
136
137 public LoopBean getFriend()
138 {
139 if (++count > max_count)
140 {
141 throw new RuntimeException("Looping!");
142 }
143 return friend;
144 }
145
146 public void setFriend(LoopBean friend)
147 {
148 this.friend = friend;
149 }
150
151 public String getName()
152 {
153 return name;
154 }
155
156 public String toString()
157 {
158 return "[LoopBean] name=" + name;
159 }
160 }