From b07f6894aa00a8cb36d8b422f5776777baac72e0 Mon Sep 17 00:00:00 2001 From: RatzzFatzz Date: Tue, 28 Feb 2023 20:04:51 +0100 Subject: [PATCH] Add CoherentConfigValidator --- .../config/Config.java | 2 ++ .../validator/CoherentConfigValidator.java | 22 +++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/config/validator/CoherentConfigValidator.java diff --git a/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/config/Config.java b/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/config/Config.java index 682ecb3..c50f02c 100644 --- a/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/config/Config.java +++ b/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/config/Config.java @@ -36,6 +36,8 @@ public class Config { private Pattern includePattern; private boolean safeMode; + private Integer coherent; + private Set forcedKeywords = new HashSet<>(Arrays.asList("forced", "signs", "songs")); private Set commentaryKeywords = new HashSet<>(Arrays.asList("commentary", "director")); private Set excludedDirectories = new HashSet<>(); diff --git a/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/config/validator/CoherentConfigValidator.java b/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/config/validator/CoherentConfigValidator.java new file mode 100644 index 0000000..c6aec48 --- /dev/null +++ b/src/main/java/at/pcgamingfreaks/mkvaudiosubtitlechanger/config/validator/CoherentConfigValidator.java @@ -0,0 +1,22 @@ +package at.pcgamingfreaks.mkvaudiosubtitlechanger.config.validator; + +import at.pcgamingfreaks.mkvaudiosubtitlechanger.model.ConfigProperty; +import org.apache.commons.lang3.math.NumberUtils; + +public class CoherentConfigValidator extends ConfigValidator { + private static final Integer DISABLED = -1; + + public CoherentConfigValidator(ConfigProperty property, boolean required) { + super(property, required, null); + } + + @Override + Integer parse(String value) { + return NumberUtils.isParsable(value) ? Integer.parseInt(value) : DISABLED; + } + + @Override + boolean isValid(Integer result) { + return result > 0; + } +}