KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > classycle > dependency > DependencyResult


1 /*
2  * Copyright (c) 2003-2006, Franz-Josef Elmer, All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions are met:
6  *
7  * - Redistributions of source code must retain the above copyright notice,
8  * this list of conditions and the following disclaimer.
9  * - Redistributions in binary form must reproduce the above copyright notice,
10  * this list of conditions and the following disclaimer in the documentation
11  * and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
14  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
15  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
20  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
21  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
22  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
23  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24  */

25 package classycle.dependency;
26
27 import classycle.graph.AtomicVertex;
28 import classycle.util.StringPattern;
29
30 /**
31  * @author Franz-Josef Elmer
32  */

33 public class DependencyResult implements Result
34 {
35   static final String JavaDoc OK = "\tOK";
36   static final String JavaDoc DEPENDENCY_FOUND = "\n Dependency found:";
37   private final StringPattern _startSet;
38   private final StringPattern _finalSet;
39   private final String JavaDoc _statement;
40   private final AtomicVertex[] _paths;
41   private final boolean _ok;
42   
43   public DependencyResult(StringPattern startSet, StringPattern finalSet,
44                           String JavaDoc statement, AtomicVertex[] paths)
45   {
46     _startSet = startSet;
47     _finalSet = finalSet;
48     _statement = statement;
49     _paths = paths;
50     _ok = paths.length == 0;
51   }
52
53   public boolean isOk()
54   {
55     return _ok;
56   }
57
58   public StringPattern getFinalSet()
59   {
60     return _finalSet;
61   }
62
63   public AtomicVertex[] getPaths()
64   {
65     return _paths;
66   }
67
68   public StringPattern getStartSet()
69   {
70     return _startSet;
71   }
72
73   public String JavaDoc toString()
74   {
75     StringBuffer JavaDoc buffer = new StringBuffer JavaDoc(_statement);
76     if (_ok)
77     {
78       buffer.append(OK);
79     } else
80     {
81       DependencyPathsRenderer renderer
82               = new DependencyPathsRenderer(_paths,
83                                          new PatternVertexCondition(_startSet),
84                                          new PatternVertexCondition(_finalSet));
85       buffer.append(DEPENDENCY_FOUND).append(renderer.renderGraph(" "));
86     }
87     return new String JavaDoc(buffer.append('\n'));
88   }
89 }
90
Popular Tags