View Javadoc
1   /*
2    * SPDX-FileCopyrightText: Copyright (c) 2011-2026 Yegor Bugayenko
3    * SPDX-License-Identifier: MIT
4    */
5   package com.qulice.maven;
6   
7   import com.qulice.spi.Environment;
8   import com.qulice.spi.Validator;
9   import java.util.concurrent.atomic.AtomicInteger;
10  
11  /**
12   * A test fake {@link Validator} that records how many times
13   * {@link #validate(Environment)} was invoked and reports a configurable
14   * name through {@link #name()}.
15   *
16   * @since 0.27.0
17   */
18  final class FakeValidator implements Validator {
19  
20      /**
21       * Validator name.
22       */
23      private final String label;
24  
25      /**
26       * Method calls counter.
27       */
28      private final AtomicInteger cnt;
29  
30      FakeValidator(final String name) {
31          this.label = name;
32          this.cnt = new AtomicInteger(0);
33      }
34  
35      @Override
36      public void validate(final Environment env) {
37          this.cnt.incrementAndGet();
38      }
39  
40      @Override
41      public String name() {
42          return this.label;
43      }
44  
45      int count() {
46          return this.cnt.get();
47      }
48  }