View Javadoc
1   package com.jsql.util.tampering;
2   
3   import com.jsql.util.LogLevelUtil;
4   import org.apache.logging.log4j.LogManager;
5   import org.yaml.snakeyaml.Yaml;
6   
7   import java.io.IOException;
8   
9   public enum TamperingType {
10      
11      BASE64("base64.yml"),
12      COMMENT_TO_METHOD_SIGNATURE("comment-to-method-signature.yml"),
13      EQUAL_TO_LIKE("equal-to-like.yml"),
14      RANDOM_CASE("random-case.yml"),
15      SPACE_TO_DASH_COMMENT("space-to-dash-comment.yml"),
16      SPACE_TO_MULTILINE_COMMENT("space-to-multiline-comment.yml"),
17      SPACE_TO_SHARP_COMMENT("space-to-sharp-comment.yml"),
18      VERSIONED_COMMENT_TO_METHOD_SIGNATURE("version-comment-to-method-signature.yml"),
19      HEX_TO_CHAR("hex-to-char.yml"),
20      STRING_TO_CHAR("string-to-char.yml"),
21      QUOTE_TO_UTF8("quote-to-utf8.yml");
22  
23      private ModelYamlTampering instanceModelYaml;
24      
25      TamperingType(String fileYaml) {
26          var yaml = new Yaml();
27          try (var inputStream = TamperingType.class.getClassLoader().getResourceAsStream("tamper/"+ fileYaml)) {
28              this.instanceModelYaml = yaml.loadAs(inputStream, ModelYamlTampering.class);
29          } catch (IOException e) {
30              LogManager.getRootLogger().log(LogLevelUtil.CONSOLE_JAVA, e, e);
31          }
32      }
33      
34      public ModelYamlTampering instance() {
35          return this.instanceModelYaml;
36      }
37  }