1 package org.codehaus.plexus.util.dag;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 import java.util.Iterator;
20 import java.util.List;
21
22 public class CycleDetectedException
23 extends Exception
24 {
25 private List<String> cycle;
26
27 public CycleDetectedException( final String message, final List<String> cycle )
28 {
29 super( message );
30
31 this.cycle = cycle;
32
33 }
34
35 public List<String> getCycle()
36 {
37 return cycle;
38 }
39
40 public String cycleToString()
41 {
42 final StringBuilder buffer = new StringBuilder();
43
44 for ( Iterator<String> iterator = cycle.iterator(); iterator.hasNext(); )
45 {
46 buffer.append( iterator.next() );
47
48 if ( iterator.hasNext() )
49 {
50 buffer.append( " --> " );
51 }
52 }
53 return buffer.toString();
54 }
55
56 @Override
57 public String getMessage()
58 {
59 return super.getMessage() + " " + cycleToString();
60 }
61 }