package com.github.shansun.sparrow.cache.builder;
import java.util.concurrent.TimeUnit;
import com.google.common.base.Ticker;
import com.google.common.cache.Cache;
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
import com.google.common.cache.RemovalListener;
import com.google.common.cache.Weigher;
/**
* @author lanbo <br>
* @version 1.0 <br>
* @date 2012-8-29
*/
public class LocalCacheBuilder<K, V> extends CacheBuilder<K, V> {
com.google.common.cache.CacheBuilder<Object, Object> builder = com.google.common.cache.CacheBuilder.newBuilder();
private LocalCacheBuilder() {
super();
}
public static LocalCacheBuilder<Object, Object> newBuilder() {
return new LocalCacheBuilder<Object, Object>();
}
public int hashCode() {
return builder.hashCode();
}
public boolean equals(Object obj) {
return builder.equals(obj);
}
public com.google.common.cache.CacheBuilder<Object, Object> initialCapacity(int initialCapacity) {
return builder.initialCapacity(initialCapacity);
}
public com.google.common.cache.CacheBuilder<Object, Object> concurrencyLevel(int concurrencyLevel) {
return builder.concurrencyLevel(concurrencyLevel);
}
public com.google.common.cache.CacheBuilder<Object, Object> maximumSize(long size) {
return builder.maximumSize(size);
}
public com.google.common.cache.CacheBuilder<Object, Object> maximumWeight(long weight) {
return builder.maximumWeight(weight);
}
public <K1, V1> com.google.common.cache.CacheBuilder<K1, V1> weigher(Weigher<? super K1, ? super V1> weigher) {
return builder.weigher(weigher);
}
public com.google.common.cache.CacheBuilder<Object, Object> weakKeys() {
return builder.weakKeys();
}
public com.google.common.cache.CacheBuilder<Object, Object> weakValues() {
return builder.weakValues();
}
public com.google.common.cache.CacheBuilder<Object, Object> softValues() {
return builder.softValues();
}
public com.google.common.cache.CacheBuilder<Object, Object> expireAfterWrite(long duration, TimeUnit unit) {
return builder.expireAfterWrite(duration, unit);
}
public com.google.common.cache.CacheBuilder<Object, Object> expireAfterAccess(long duration, TimeUnit unit) {
return builder.expireAfterAccess(duration, unit);
}
public com.google.common.cache.CacheBuilder<Object, Object> refreshAfterWrite(long duration, TimeUnit unit) {
return builder.refreshAfterWrite(duration, unit);
}
public com.google.common.cache.CacheBuilder<Object, Object> ticker(Ticker ticker) {
return builder.ticker(ticker);
}
public <K1, V1> com.google.common.cache.CacheBuilder<K1, V1> removalListener(RemovalListener<? super K1, ? super V1> listener) {
return builder.removalListener(listener);
}
public com.google.common.cache.CacheBuilder<Object, Object> recordStats() {
return builder.recordStats();
}
public <K1, V1> LoadingCache<K1, V1> build(CacheLoader<? super K1, V1> loader) {
return builder.build(loader);
}
public <K1, V1> Cache<K1, V1> build() {
return builder.build();
}
public String toString() {
return builder.toString();
}
}