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 }