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   * @since 0.27.0
16   */
17  final class FakeValidator implements Validator {
18  
19      /**
20       * Validator name.
21       */
22      private final String label;
23  
24      /**
25       * Method calls counter.
26       */
27      private final AtomicInteger cnt;
28  
29      FakeValidator(final String name) {
30          this.label = name;
31          this.cnt = new AtomicInteger(0);
32      }
33  
34      @Override
35      public void validate(final Environment env) {
36          this.cnt.incrementAndGet();
37      }
38  
39      @Override
40      public String name() {
41          return this.label;
42      }
43  
44      int count() {
45          return this.cnt.get();
46      }
47  }