001// ______________________________________________________ 002// Generated by sql2java - https://github.com/10km/sql2java-2-6-7 (custom branch) 003// modified by guyadong from 004// sql2java original version https://sourceforge.net/projects/sql2java/ 005// JDBC driver used at code generation time: com.mysql.jdbc.Driver 006// template: removal.listener.container.java.vm 007// ______________________________________________________ 008package net.gdface.facelog.db; 009 010import java.util.LinkedHashSet; 011 012import com.google.common.base.Preconditions; 013import com.google.common.cache.RemovalListener; 014import com.google.common.cache.RemovalNotification; 015 016/** 017 * {@link RemovalListener}¹ÜÀíÈÝÆ÷ 018 * @author guyadong 019 * 020 * @param <K> 021 * @param <V> 022 */ 023public class RemovalListenerContainer<K,V> implements RemovalListener<K, V> { 024 LinkedHashSet<RemovalListener<K,V>> listeners = new LinkedHashSet<RemovalListener<K,V>>(); 025 public RemovalListenerContainer() { 026 } 027 028 /** 029 * @param e 030 * @return 031 * @see java.util.HashSet#add(java.lang.Object) 032 */ 033 public boolean add(RemovalListener<K, V> e) { 034 return listeners.add(Preconditions.checkNotNull(e)); 035 } 036 037 /** 038 * @param o 039 * @return 040 * @see java.util.HashSet#remove(java.lang.Object) 041 */ 042 public boolean remove(RemovalListener<K, V> o) { 043 return listeners.remove(o); 044 } 045 046 /** 047 * 048 * @see java.util.HashSet#clear() 049 */ 050 public void clear() { 051 listeners.clear(); 052 } 053 054 @Override 055 public void onRemoval(RemovalNotification<K, V> notification) { 056 for(RemovalListener<K, V> listener:listeners){ 057 try{ 058 listener.onRemoval(notification); 059 }catch(Exception e){ 060 e.printStackTrace(); 061 } 062 } 063 } 064 065}