1 25 package classycle.dependency; 26 27 30 public class DefaultResultRenderer extends ResultRenderer 31 { 32 private static final String SHOW 33 = DependencyDefinitionParser.SHOW_KEY_WORD + ' '; 34 private static final PreferenceFactory FACTORY 35 = new DefaultPreferenceFactory(); 36 private static final TextResult ONLY_SHORTEST_PATHS 37 = new TextResult(SHOW 38 + DefaultPreferenceFactory.ONLY_SHORTEST_PATHS.getKey() 39 + '\n'); 40 private static final TextResult ALL_PATHS 41 = new TextResult(SHOW + DefaultPreferenceFactory.ALL_PATHS.getKey() 42 + '\n'); 43 44 private boolean _allResults; 45 46 public PreferenceFactory getPreferenceFactory() 47 { 48 return FACTORY; 49 } 50 51 public void considerPreference(Preference preference) 52 { 53 if (preference == DefaultPreferenceFactory.ONLY_SHORTEST_PATHS) 54 { 55 _shortestPaths = true; 56 } else if (preference == DefaultPreferenceFactory.ALL_PATHS) 57 { 58 _shortestPaths = false; 59 } else if (preference == DefaultPreferenceFactory.ALL_RESULTS) 60 { 61 _allResults = true; 62 } else if (preference == DefaultPreferenceFactory.ONLY_FAILURES) 63 { 64 _allResults = false; 65 } 66 } 67 68 public Result getDescriptionOfCurrentPreferences() 69 { 70 StringBuffer buffer = new StringBuffer (SHOW); 71 buffer.append(_shortestPaths 72 ? DefaultPreferenceFactory.ONLY_SHORTEST_PATHS.getKey() 73 : DefaultPreferenceFactory.ALL_PATHS.getKey()) 74 .append(' ') 75 .append(_allResults ? DefaultPreferenceFactory.ALL_RESULTS.getKey() 76 : DefaultPreferenceFactory.ONLY_FAILURES.getKey()) 77 .append('\n'); 78 79 return new TextResult(new String (buffer)); 80 } 81 82 public String render(Result result) 83 { 84 StringBuffer buffer = new StringBuffer (); 85 render(buffer, result); 86 return new String (buffer); 87 } 88 89 private void render(StringBuffer buffer, Result result) 90 { 91 if (result instanceof ResultContainer) 92 { 93 ResultContainer results = (ResultContainer) result; 94 for (int i = 0, n = results.getNumberOfResults(); i < n; i++) 95 { 96 render(buffer, results.getResult(i)); 97 } 98 } else if (_allResults || result.isOk() == false) 99 { 100 buffer.append(result.toString()); 101 } 102 } 103 104 } 105 | Popular Tags |