Open
Description
A validation tool should be created. Validation would be based on a ValidationProvider
interface like this:
@Facet
public interface ValidationProvider {
Set<Violation> validate();
}
- This interface can be implemented by plugins that provide validation behavior.
- All plugins implementing this interface should be collected by the validation tool and activated.
- Then the validate() method of each plugin would return the set of violations encoutered.
The Violation
interface could be like:
public interface Violation {
ViolationCode getViolationCode();
Map<String, Object> getProperties();
}
A merge of ErrorCode
and ViolationCode
should be considered if useful.