Merged
Conversation
|
@jimmyjames As someone reviewing this, it would be beneficial here to have some information in the PR about why these changes are being made. What are the benefits of |
Contributor
Author
I've updated the PR description to capture the motivations. |
lbalmaceda
suggested changes
Feb 18, 2020
Co-Authored-By: Luciano Balmaceda <balmacedaluciano@gmail.com>
69415a3 to
1dcc415
Compare
lbalmaceda
suggested changes
Mar 5, 2020
lbalmaceda
approved these changes
Mar 5, 2020
| /** | ||
| * The Clock class is used to wrap calls to Date class. | ||
| */ | ||
| public interface Clock { |
There was a problem hiding this comment.
... probably not appropriate to do it during this PR, but should this interface be deprecated in favor of java.time.Clock?
15 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Changes
Adds new APIs for DateTime claims using java.time.Instant
Motivations:
Instantover date are immutability (thread-safe), better API design allowing for more natural time-based calculations, and nanosecond precision (as opposed to millisecond precision withjava.util.Date).This change adds the following new public APIs:
Claim.java:
Instant asInstant()Clock.java:
Instant getNow()JWTCreator.java:
Builder withNotBefore(Instant notBefore)Builder withIssuedAt(Instant issuedAt)Builder withClaim(String name, Instant value)Payload.java:
Instant getExpiresAtInstant()Instant getNotBeforeInstant()Instant getIssuedAtInstant()Verification.java:
Verification withClaim(String name, Instant value)A separate later PR will deprecate the
java.util.DateAPIs in favor of these new ones.References
There are many articles and resources regarding the new date/time APIs introduced in JDK8. This article discusses it at a high level.
Testing
Tests updated to use the new Date/Time APIs.
Checklist