1 32 33 package com.jeantessier.diff; 34 35 public abstract class VisitorBase implements Visitor { 36 private int deprecatableLevel = 0; 37 private int documentableLevel = 0; 38 39 private boolean deprecated[] = new boolean[4]; 40 private boolean undeprecated[] = new boolean[4]; 41 private boolean documented[] = new boolean[4]; 42 private boolean undocumented[] = new boolean[4]; 43 44 private void raiseDeprecatableLevel() { 45 deprecatableLevel++; 46 } 47 48 private void lowerDeprecatableLevel() { 49 deprecatableLevel--; 50 } 51 52 private void raiseDocumentableLevel() { 53 documentableLevel++; 54 } 55 56 private void lowerDocumentableLevel() { 57 documentableLevel--; 58 } 59 60 public boolean isDeprecated() { 61 return deprecated[deprecatableLevel]; 62 } 63 64 public void setDeprecated(boolean deprecated) { 65 this.deprecated[deprecatableLevel] = deprecated; 66 } 67 68 public boolean isUndeprecated() { 69 return undeprecated[deprecatableLevel]; 70 } 71 72 public void setUndeprecated(boolean undeprecated) { 73 this.undeprecated[deprecatableLevel] = undeprecated; 74 } 75 76 public boolean isDocumented() { 77 return documented[documentableLevel]; 78 } 79 80 public void setDocumented(boolean documented) { 81 this.documented[documentableLevel] = documented; 82 } 83 84 public boolean isUndocumented() { 85 return undocumented[documentableLevel]; 86 } 87 88 public void setUndocumented(boolean undocumented) { 89 this.undocumented[documentableLevel] = undocumented; 90 } 91 92 public void visitJarDifferences(JarDifferences differences) { 93 } 95 96 public void visitPackageDifferences(PackageDifferences differences) { 97 } 99 100 public void visitFieldDifferences(FieldDifferences differences) { 101 } 103 104 public void visitConstructorDifferences(ConstructorDifferences differences) { 105 } 107 108 public void visitMethodDifferences(MethodDifferences differences) { 109 } 111 112 public void visitDeprecatableDifferences(DeprecatableDifferences differences) { 113 raiseDeprecatableLevel(); 114 115 setDeprecated(differences.isNewDeprecation()); 116 setUndeprecated(differences.isRemovedDeprecation()); 117 118 differences.getComponent().accept(this); 119 120 lowerDeprecatableLevel(); 121 } 122 123 public void visitDocumentableDifferences(DocumentableDifferences differences) { 124 raiseDocumentableLevel(); 125 126 setDocumented(differences.isNewDocumentation()); 127 setUndocumented(differences.isRemovedDocumentation()); 128 129 differences.getComponent().accept(this); 130 131 lowerDocumentableLevel(); 132 } 133 } 134 | Popular Tags |