]> source.dussan.org Git - sonarqube.git/commitdiff
DepthTraversalTypeAwareCrawler now extends TypeAwareVisitorAdapter
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>
Thu, 13 Aug 2015 10:24:48 +0000 (12:24 +0200)
committerSébastien Lesaint <sebastien.lesaint@sonarsource.com>
Thu, 13 Aug 2015 13:01:29 +0000 (15:01 +0200)
this avoid duplication of properties and adapter methods

server/sonar-server/src/main/java/org/sonar/server/computation/component/DepthTraversalTypeAwareCrawler.java
server/sonar-server/src/main/java/org/sonar/server/computation/component/TypeAwareVisitorAdapter.java

index e629528dcdbcc56a7593894b46eae48b9c3103d2..779f98167641931f119bc34c1405f74f8011a6f0 100644 (file)
 
 package org.sonar.server.computation.component;
 
-import static java.util.Objects.requireNonNull;
-
 /**
  * Implementation of {@link TypeAwareCrawler} that implements a depth traversal of a {@link Component} tree.
  * <p>It supports visiting traversal in either pre-order or post-order</p>
  * It supports a max depth for crawling (component strictly deeper than the specified type will be ignored).
  */
-public abstract class DepthTraversalTypeAwareCrawler implements TypeAwareCrawler {
-  private final Component.Type maxDepth;
-  private final ComponentVisitor.Order order;
+public abstract class DepthTraversalTypeAwareCrawler extends TypeAwareVisitorAdapter implements TypeAwareCrawler {
 
   protected DepthTraversalTypeAwareCrawler(Component.Type maxDepth, ComponentVisitor.Order order) {
-    this.maxDepth = requireNonNull(maxDepth);
-    this.order = requireNonNull(order);
+    super(maxDepth, order);
   }
 
   @Override
@@ -53,16 +48,6 @@ public abstract class DepthTraversalTypeAwareCrawler implements TypeAwareCrawler
     }
   }
 
-  @Override
-  public Component.Type getMaxDepth() {
-    return maxDepth;
-  }
-
-  @Override
-  public Order getOrder() {
-    return order;
-  }
-
   private void visitNode(Component component) {
     visitAny(component);
     switch (component.getType()) {
index ad955573ec1daefa904f4f646a87f775a1243e7e..a8e469275f2bbc9a8064770d6057359e7fba4860 100644 (file)
@@ -27,8 +27,8 @@ import static java.util.Objects.requireNonNull;
  */
 public abstract class TypeAwareVisitorAdapter implements TypeAwareVisitor {
 
-  private final Component.Type maxDepth;
-  private final Order order;
+  protected final Component.Type maxDepth;
+  protected final Order order;
 
   public TypeAwareVisitorAdapter(Component.Type maxDepth, Order order) {
     this.maxDepth = requireNonNull(maxDepth);