From 3dfae9a31d6492f996c6aaefc77d5354549348bc Mon Sep 17 00:00:00 2001 From: Les Hazlewood Date: Fri, 1 Apr 2016 18:26:59 -0700 Subject: [PATCH] 109: removed implementation coupling from Clock interface. DefaultClock.INSTANCE achieves the same thing without coupling. --- src/main/java/io/jsonwebtoken/Clock.java | 4 ---- src/main/java/io/jsonwebtoken/impl/DefaultClock.java | 5 +++++ src/main/java/io/jsonwebtoken/impl/DefaultJwtParser.java | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/main/java/io/jsonwebtoken/Clock.java b/src/main/java/io/jsonwebtoken/Clock.java index 7e57df80..9e98d02b 100644 --- a/src/main/java/io/jsonwebtoken/Clock.java +++ b/src/main/java/io/jsonwebtoken/Clock.java @@ -1,7 +1,5 @@ package io.jsonwebtoken; -import io.jsonwebtoken.impl.DefaultClock; - import java.util.Date; /** @@ -11,8 +9,6 @@ import java.util.Date; */ public interface Clock { - public static final Clock DEFAULT = new DefaultClock(); - /** * Returns the clock's current timestamp at the instant the method is invoked. * diff --git a/src/main/java/io/jsonwebtoken/impl/DefaultClock.java b/src/main/java/io/jsonwebtoken/impl/DefaultClock.java index 14d1eed7..0bf8171c 100644 --- a/src/main/java/io/jsonwebtoken/impl/DefaultClock.java +++ b/src/main/java/io/jsonwebtoken/impl/DefaultClock.java @@ -11,6 +11,11 @@ import java.util.Date; */ public class DefaultClock implements Clock { + /** + * Default static instance that may be shared. It is thread-safe. + */ + public static final Clock INSTANCE = new DefaultClock(); + /** * Simply returns new {@link Date}(). * diff --git a/src/main/java/io/jsonwebtoken/impl/DefaultJwtParser.java b/src/main/java/io/jsonwebtoken/impl/DefaultJwtParser.java index 8f8c02c8..f8d3204a 100644 --- a/src/main/java/io/jsonwebtoken/impl/DefaultJwtParser.java +++ b/src/main/java/io/jsonwebtoken/impl/DefaultJwtParser.java @@ -70,7 +70,7 @@ public class DefaultJwtParser implements JwtParser { Claims expectedClaims = new DefaultClaims(); - private Clock clock = Clock.DEFAULT; + private Clock clock = DefaultClock.INSTANCE; @Override public JwtParser requireIssuedAt(Date issuedAt) {