View Javadoc
1   /*
2    * SPDX-FileCopyrightText: Copyright (c) 2011-2026 Yegor Bugayenko
3    * SPDX-License-Identifier: MIT
4    */
5   package com.qulice.checkstyle;
6   
7   import com.qulice.spi.Environment;
8   import java.io.File;
9   import java.nio.charset.Charset;
10  import java.util.Collection;
11  
12  /**
13   * Environment decorator that reports every file as excluded for any check.
14   *
15   * <p>Used to exercise the short-circuit path in {@link CheckstyleValidator}
16   * when all inputs match an exclude pattern. The default
17   * {@link Environment.Mock} always answers {@code false} to
18   * {@link Environment#exclude(String, String)}, so a decorator is required
19   * to simulate a fully-excluded configuration.</p>
20   *
21   * @since 0.24.2
22   */
23  final class ExcludingEnvironment implements Environment {
24  
25      /**
26       * Origin environment to delegate to.
27       */
28      private final Environment origin;
29  
30      /**
31       * Ctor.
32       * @param env Environment to delegate to
33       */
34      ExcludingEnvironment(final Environment env) {
35          this.origin = env;
36      }
37  
38      @Override
39      public File basedir() {
40          return this.origin.basedir();
41      }
42  
43      @Override
44      public File tempdir() {
45          return this.origin.tempdir();
46      }
47  
48      @Override
49      public File outdir() {
50          return this.origin.outdir();
51      }
52  
53      @Override
54      public String param(final String name, final String value) {
55          return this.origin.param(name, value);
56      }
57  
58      @Override
59      public ClassLoader classloader() {
60          return this.origin.classloader();
61      }
62  
63      @Override
64      public Collection<String> classpath() {
65          return this.origin.classpath();
66      }
67  
68      @Override
69      public Collection<File> files(final String pattern) {
70          return this.origin.files(pattern);
71      }
72  
73      @Override
74      public boolean exclude(final String check, final String name) {
75          return true;
76      }
77  
78      @Override
79      public Collection<String> excludes(final String checker) {
80          return this.origin.excludes(checker);
81      }
82  
83      @Override
84      public Charset encoding() {
85          return this.origin.encoding();
86      }
87  }