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 java.io.File;
9   import java.nio.charset.Charset;
10  import java.util.Collection;
11  
12  /**
13   * Environment decorator that reports the {@code "enforcer"} check as
14   * always excluded.
15   *
16   * <p>Wraps a delegate {@link Environment} and forwards every call to
17   * it, except {@link #exclude(String, String)}, which returns
18   * {@code true} for the {@code "enforcer"} check name. Used by tests to
19   * drive {@code EnforcerValidator} down its short-circuit path without
20   * having to spin up a real enforcer plugin invocation.</p>
21   *
22   * @since 0.27.0
23   */
24  final class EnforcerExcludedEnvironment implements Environment {
25  
26      /**
27       * Origin environment.
28       */
29      private final Environment origin;
30  
31      EnforcerExcludedEnvironment(final Environment env) {
32          this.origin = env;
33      }
34  
35      @Override
36      public File basedir() {
37          return this.origin.basedir();
38      }
39  
40      @Override
41      public File tempdir() {
42          return this.origin.tempdir();
43      }
44  
45      @Override
46      public File outdir() {
47          return this.origin.outdir();
48      }
49  
50      @Override
51      public String param(final String name, final String value) {
52          return this.origin.param(name, value);
53      }
54  
55      @Override
56      public ClassLoader classloader() {
57          return this.origin.classloader();
58      }
59  
60      @Override
61      public Collection<String> classpath() {
62          return this.origin.classpath();
63      }
64  
65      @Override
66      public Collection<File> files(final String pattern) {
67          return this.origin.files(pattern);
68      }
69  
70      @Override
71      public boolean exclude(final String check, final String name) {
72          return "enforcer".equals(check);
73      }
74  
75      @Override
76      public Collection<String> excludes(final String checker) {
77          return this.origin.excludes(checker);
78      }
79  
80      @Override
81      public Charset encoding() {
82          return this.origin.encoding();
83      }
84  }