bug 5774: Implemented default value handling.

This commit is contained in:
Dennis
2023-04-03 06:40:35 +02:00
parent dced7c3ad3
commit 1676d14b3a
2 changed files with 21 additions and 3 deletions
@@ -45,8 +45,8 @@ public abstract class AbstractValueSetting<T> extends AbstractHasValueSetting<T>
}
@Override
public final void resetToDefault() {
setValue(defaultValue);
public void resetToDefault() {
this.setValue(defaultValue);
}
@Override
@@ -26,7 +26,7 @@ public abstract class AbstractSecuredValueSetting<T> extends AbstractValueSetti
}
@Override
public T getValue() {
public final T getValue() {
if(dtoContext.isPresent() && paywallResolver.hasPermission(action, dtoContext.getSecuredDTO())) {
return super.getValue();
}else {
@@ -41,6 +41,24 @@ public abstract class AbstractSecuredValueSetting<T> extends AbstractValueSetti
}
}
@Override
public final void resetToDefault() {
super.setValue(getDefaultValue());
}
@Override
public final boolean isDefaultValue() {
final T value = super.getValue();
if (value == getDefaultValue()) {
return true;
}
if (value != null) {
return value.equals(getDefaultValue());
}
// value == null && defaultValue != null => value isn't default
return false;
}
public void getUnlockingSubscriptionPlans(Consumer<List<String>> callback) {
this.paywallResolver.getUnlockingSubscriptionPlans(action, dtoContext.getSecuredDTO(), callback);
}