Define padding method for each CryptogramDataBuilder #612
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.
PR #577 introduced the ability to create padded ARQC data.
However, it still requires the caller to specify what padding method to use, while ideally this should be handled by the CryptogramDataBuilder internally.
This PR proposes the following changes:
buildARQCRequest_padded
signature change: Remove the padding method parameter and instead define the padding method for each CryptogramDataBuilder as a polymorphic methodgetPaddingMethod
. The parameter removal causes no loss of flexibility as users may now overridegetPaddingMethod
in a CryptogramDataBuilder subclass.buildARQCRequest_padded
is moved up to the CryptogramDataBuilder interface as a default method to keep code DRY.PaddingMethod
changed to enum, to enabletoString()
.These are not breaking changes as they impact only 2.1.10-SNAPSHOT and 3.0.0-SNAPSHOT, but not proper releases yet.