Document that Workflow::Validator is an interface contract #193
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Declaring the Workflow::Validator an interface contract as opposed to a
base class for validators allows any class to implement validations. This
addresses a long-standing desire of the OpenXPKI project to consolidate
the Condition and Validator concepts - in order to be able to share code
between the two - without actually consolidating them.
Closes #137
Type of change
This is really meant to be a documentation-only change. However, it didn't actually pan out that way, because of removing both the documentation and implementation of the
_init()
method: there's no place for a "dummy" method in an interface definition. Also, it doesn't make sense from an OOP perspective to have that method. Instead, a newly declaredinit()
method should be calling its parent'sinit()
as with regular OOP patterns.Checklist:
This is a good point: should we add tests which implement a validator as a blessed ref not derived from
Workflow::Validator
orWorkflow::Base
?