fix(default-exts): Add missing flat validation API

This commit is contained in:
2025-11-03 23:52:08 +01:00
parent c7a02a1638
commit a67f80ea2c
2 changed files with 13 additions and 0 deletions

View File

@@ -4,6 +4,7 @@ import de.siphalor.tweed5.core.api.entry.ConfigEntry;
import de.siphalor.tweed5.core.api.extension.TweedExtension;
import de.siphalor.tweed5.core.api.middleware.Middleware;
import de.siphalor.tweed5.defaultextensions.validation.api.result.ValidationIssues;
import de.siphalor.tweed5.defaultextensions.validation.api.result.ValidationResult;
import de.siphalor.tweed5.defaultextensions.validation.api.validators.SimpleValidatorMiddleware;
import de.siphalor.tweed5.defaultextensions.validation.impl.ValidationExtensionImpl;
import de.siphalor.tweed5.patchwork.api.Patchwork;
@@ -59,4 +60,6 @@ public interface ValidationExtension extends TweedExtension {
ValidationIssues captureValidationIssues(Patchwork readContextExtensionsData);
<T extends @Nullable Object> ValidationIssues validate(ConfigEntry<T> entry, T value);
<T extends @Nullable Object> ValidationResult<T> validateValueFlat(ConfigEntry<T> entry, T value);
}

View File

@@ -184,6 +184,16 @@ public class ValidationExtensionImpl implements ReadWriteRelatedExtension, Valid
return validatingVisitor.validationIssues();
}
@Override
public <T> ValidationResult<T> validateValueFlat(ConfigEntry<T> entry, T value) {
ConfigEntryValidator entryValidator = entry.extensionsData()
.get(customEntryDataAccess)
.completeValidator();
assert entryValidator != null;
return entryValidator.validate(entry, value);
}
@Data
private static class CustomEntryData {
@Setter(AccessLevel.NONE)