diff options
Diffstat (limited to 'guava-gwt/src-super/com/google/common/collect/super/com/google/common/collect/MapMaker.java')
-rw-r--r-- | guava-gwt/src-super/com/google/common/collect/super/com/google/common/collect/MapMaker.java | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/guava-gwt/src-super/com/google/common/collect/super/com/google/common/collect/MapMaker.java b/guava-gwt/src-super/com/google/common/collect/super/com/google/common/collect/MapMaker.java index 6f88f89..52c1a98 100644 --- a/guava-gwt/src-super/com/google/common/collect/super/com/google/common/collect/MapMaker.java +++ b/guava-gwt/src-super/com/google/common/collect/super/com/google/common/collect/MapMaker.java @@ -42,8 +42,8 @@ public class MapMaker extends GenericMapMaker<Object, Object> { private final Function<? super K, ? extends V> computer; private final int maximumSize; - ExpiringComputingMap( - long expirationMillis, int maximumSize, int initialCapacity, float loadFactor) { + ExpiringComputingMap(long expirationMillis, int maximumSize, int initialCapacity, + float loadFactor) { this(expirationMillis, null, maximumSize, initialCapacity, loadFactor); } @@ -184,6 +184,12 @@ public class MapMaker extends GenericMapMaker<Object, Object> { } @Override + public + MapMaker expiration(long duration, TimeUnit unit) { + return expireAfterWrite(duration, unit); + } + + @Override MapMaker expireAfterWrite(long duration, TimeUnit unit) { if (expirationMillis != 0) { throw new IllegalStateException( @@ -221,16 +227,26 @@ public class MapMaker extends GenericMapMaker<Object, Object> { } @Override + MapMaker strongKeys() { + return this; + } + + @Override + MapMaker strongValues() { + return this; + } + + @Override public <K, V> ConcurrentMap<K, V> makeMap() { return useCustomMap - ? new ExpiringComputingMap<K, V>( - expirationMillis, null, maximumSize, initialCapacity, loadFactor) + ? new ExpiringComputingMap<K, V>(expirationMillis, null, maximumSize, initialCapacity, + loadFactor) : new ConcurrentHashMap<K, V>(initialCapacity, loadFactor); } @Override public <K, V> ConcurrentMap<K, V> makeComputingMap(Function<? super K, ? extends V> computer) { - return new ExpiringComputingMap<K, V>( - expirationMillis, computer, maximumSize, initialCapacity, loadFactor); + return new ExpiringComputingMap<K, V>(expirationMillis, computer, maximumSize, initialCapacity, + loadFactor); } } |