added setMode to documentation, added error handling with templated exception for set mode and refactored some feature config related methods (changed the equal to be case insensitive)

This commit is contained in:
Sheldan
2020-05-16 21:46:10 +02:00
parent d2264937b2
commit b0ab88d143
15 changed files with 84 additions and 29 deletions

View File

@@ -0,0 +1,31 @@
package dev.sheldan.abstracto.core.exception;
import dev.sheldan.abstracto.templating.Templatable;
import java.util.HashMap;
import java.util.List;
public class FeatureModeNotFoundException extends AbstractoRunTimeException implements Templatable {
private final String featureMode;
private final List<String> availableModes;
public FeatureModeNotFoundException(String message, String featureMode, List<String> availableModes) {
super(message);
this.featureMode = featureMode;
this.availableModes = availableModes;
}
@Override
public String getTemplateName() {
return "feature_mode_not_found";
}
@Override
public Object getTemplateModel() {
HashMap<String, Object> parameters = new HashMap<>();
parameters.put("featureMode", this.featureMode);
parameters.put("availableModes", this.availableModes);
return parameters;
}
}

View File

@@ -17,9 +17,10 @@ public interface FeatureConfigService {
boolean doesFeatureExist(FeatureConfig name);
boolean doesFeatureExist(String name);
List<String> getFeaturesAsList();
List<String> getFeatureModesFromFeatureAsString(String featureName);
FeatureEnum getFeatureEnum(String key);
PostTargetEnum getPostTargetEnumByKey(String key);
FeatureValidationResult validateFeatureSetup(FeatureConfig featureConfig, AServer server);
FeatureMode getFeatureModeByKey(String key);
FeatureMode getFeatureModeByKey(FeatureConfig featureConfig, String key);
boolean isModeValid(String featureName, String modeName);
}