1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.betwixt.io;
18
19 /***
20 * <p>Thrown when bean evaluation finds a cycle reference.</p>
21 *
22 * <p>There are two possible behaviours that <code>Betwixt</code> adopts when
23 * a cycle in the object graph is encountered.
24 *
25 * <p>If <code>ID</code> attributes are being generated,
26 * then the recursion will stop and the <code>IDREF</code> attribute will be
27 * written.
28 * In this case, <em>no exception will be thrown</em>.</p>
29 *
30 * <p>If <code>ID</code> are <strong>not</strong> being generated,
31 * then this exception will be thrown.</p>
32 *
33 * @author <a href="mailto:rdonkin@apache.org">Robert Burrell Donkin</a>
34 * @version $Revision: 438373 $
35 */
36 public class CyclicReferenceException extends RuntimeException {
37
38 /*** Message used with empty constructor */
39 private static final String DEFAULT_MESSAGE
40 = "Bean graph contains a cyclic reference";
41
42 /*** Construct exception with default message.
43 */
44 public CyclicReferenceException() {
45 super(DEFAULT_MESSAGE);
46 }
47
48 /***
49 * Construct exception with message
50 *
51 * @param message the detailed message string
52 */
53 public CyclicReferenceException(String message) {
54 super(message);
55 }
56 }