62 lines
1.7 KiB
Markdown
62 lines
1.7 KiB
Markdown
|
|
```java title="Java"
|
||
|
|
import dev.kreuzberg.IValidator;
|
||
|
|
import dev.kreuzberg.ExtractionConfig;
|
||
|
|
import dev.kreuzberg.ExtractionResult;
|
||
|
|
import dev.kreuzberg.ValidatorBridge;
|
||
|
|
|
||
|
|
// Generic validator pattern: every IValidator has the same shape.
|
||
|
|
// name() keys the registry, priority() orders execution (higher = earlier),
|
||
|
|
// should_validate() is a fast skip-check, and validate() throws on failure.
|
||
|
|
public class GenericValidator implements IValidator {
|
||
|
|
private final String pluginName;
|
||
|
|
private final int pluginPriority;
|
||
|
|
|
||
|
|
public GenericValidator(String pluginName, int pluginPriority) {
|
||
|
|
this.pluginName = pluginName;
|
||
|
|
this.pluginPriority = pluginPriority;
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public String name() {
|
||
|
|
return pluginName;
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public String version() {
|
||
|
|
return "1.0.0";
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public void initialize() {
|
||
|
|
// Optional: open resources, load config files, etc.
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public void shutdown() {
|
||
|
|
// Optional: release resources held in initialize().
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public void validate(ExtractionResult result, ExtractionConfig config) throws Exception {
|
||
|
|
if (result.content() == null || result.content().isBlank()) {
|
||
|
|
throw new IllegalArgumentException("Extracted content is blank");
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public boolean should_validate(ExtractionResult _result, ExtractionConfig _config) {
|
||
|
|
return true;
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public int priority() {
|
||
|
|
return pluginPriority;
|
||
|
|
}
|
||
|
|
|
||
|
|
public static void registerGenericValidator() {
|
||
|
|
GenericValidator validator = new GenericValidator("non-empty-content", 200);
|
||
|
|
ValidatorBridge.registerValidator(validator);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
```
|