15 Aralık 2019 Pazar

RemovalListener Arayüzü

onRemoval metodu
Örnek
Şöyle yaparız.
CacheLoader<Key, DatabaseConnection> loader = new CacheLoader<Key,DatabaseConnection> (){
  public DatabaseConnection load(Key key) throws Exception {
    return openConnection(key);
  }
};
RemovalListener<Key, DatabaseConnection> removalListener = new
  RemovalListener<Key,DatabaseConnection>() {
    public void onRemoval(RemovalNotification<Key, DatabaseConnection> removal) {
      DatabaseConnection conn = removal.getValue();
      conn.close(); // tear down properly
    }
};

return CacheBuilder.newBuilder()
  .expireAfterWrite(2, TimeUnit.MINUTES)
  .removalListener(removalListener)
  .build(loader);
Örnek
Şöyle yaparız
CacheBuilder.newBuilder().maximumSize(250)
  .expireAfterWrite(15, TimeUnit.SECONDS)
  .removalListener(new RemovalListener<String, Path>(){

    @Override
    public void onRemoval(RemovalNotification<String, Path> notification){
      deleteTemporaryFile(notification.getValue());
    }
}).build();


11 Aralık 2019 Çarşamba

Closeables Sınıfı

Giriş
Şu satırı dahil ederiz
import com.google.common.io.Closeables;
close metodu - Closeable + boolean
Örnek ver

closeQuitely metodu
InputStream için kullanılabilir.

3 Aralık 2019 Salı

ImmutableTable Sınıfı

Örnek
Şöyle yaparız.
ImmutableTable<Region, Country, ImmutableList<City>> immutableTable = RECORDS.stream()
        .collect(toImmutableTable(
                r -> r.getRegion(),
                r -> r.getCountry(),
                r -> ImmutableList.of(r.getCity()),
                (l, l2) -> ImmutableList.<City>builder().addAll(l).addAll(l2).build()
        ));

13 Kasım 2019 Çarşamba

ImmutableMap Sınıfı

Giriş
Şu satırı dahil ederiz.
import com.google.common.collect.ImmutableMap;
builder metodu
ImmutableMap.Builder nesnesi döner.

copyOf metodu
Örnek
Şöyle yaparız.
Map<String,String> map2=new HashMap<String,String>();
map2.put("name", "mark");
ImmutableMap<String, String> mapImmutable= ImmutableMap.copyOf(map2);
Örnek
Şöyle yaparız.
Map<Integer, EmptyTile> createAllPossibleEmptyTiles() {

  final Map<Integer, EmptyTile> emptyTileMap = new HashMap<>();
  ...
  return ImmutableMap.copyOf(emptyTileMap);
}
of metodu
Sadece 5 elemena kadar çalışır. Daha fazla eleman eklemek istersek builder() metodunu kullanmak gerekir.
Örnek
Şöyle yaparız.
ImmutableMap.of("key1", val1, "key2", val2, "key3", val3);
Örnek
Şöyle yaparız.
static final Map<Integer, String> MY_MAP = ImmutableMap.of(
    1, "one",
    2, "two"
);