1 25 28 package classycle.dependency; 29 30 import classycle.graph.AtomicVertex; 31 import classycle.graph.NameAttributes; 32 import classycle.util.StringPattern; 33 34 public class CheckSetStatement implements Statement 35 { 36 private final StringPattern _set; 37 private final SetDefinitionRepository _repository; 38 39 public CheckSetStatement(StringPattern set, 40 SetDefinitionRepository repository) 41 { 42 _set = set; 43 _repository = repository; 44 } 45 46 public Result execute(AtomicVertex[] graph) 47 { 48 int size = 0; 49 for (int i = 0; i < graph.length; i++) 50 { 51 if (_set.matches(((NameAttributes) graph[i].getAttributes()).getName())) 52 { 53 size++; 54 } 55 } 56 StringBuffer buffer = new StringBuffer ("Set "); 57 buffer.append(_repository.toString(_set)); 58 if (size == 0) 59 { 60 buffer.append(" is empty."); 61 } else if (size == 1) 62 { 63 buffer.append(" has one class."); 64 } else 65 { 66 buffer.append(" has ").append(size).append(" classes."); 67 } 68 return new TextResult(new String (buffer.append('\n')), size > 0); 69 } 70 71 public String toString() 72 { 73 return DependencyDefinitionParser.CHECK_KEY_WORD + " set " 74 + _repository.toString(_set); 75 } 76 77 78 } 79 | Popular Tags |