1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    * 
9    *      http://www.apache.org/licenses/LICENSE-2.0
10   * 
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */ 
17  package org.apache.commons.betwixt.schema;
18  
19  /**
20   * @author <a href='http://commons.apache.org'>Apache Commons Team</a>, <a href='http://www.apache.org'>Apache Software Foundation</a>
21   */
22  public class LoopBean {
23      private static int count = 0;
24      
25      private static final int max_count = 100;
26  
27      private LoopBean friend;
28      
29      private String name;
30      
31      public LoopBean(String name) 
32      {
33          this.name = name;
34      }
35      
36      public LoopBean getFriend()
37      {
38          if (++count > max_count)
39          {
40              throw new RuntimeException("Looping!");
41          }
42          return friend;
43      }
44      
45      public void setFriend(LoopBean friend)
46      {
47          this.friend = friend;
48      }
49      
50      public String getName()
51      {
52          return name;
53      }
54      
55      public String toString()
56      {
57          return "[LoopBean] name=" + name;
58      }
59  
60  }