private static <T> void updateLeaseCount( LoadingCache<Class<T>, AtomicInteger> usageCounts, T codec, int delta) { if (codec != null) { Class<T> codecClass = ReflectionUtils.getClass(codec); usageCounts.getUnchecked(codecClass).addAndGet(delta); } }
private static <T> boolean payback(Map<Class<T>, Set<T>> pool, T codec) { if (codec != null) { Class<T> codecClass = ReflectionUtils.getClass(codec); Set<T> codecSet; synchronized (pool) { codecSet = pool.get(codecClass); if (codecSet == null) { codecSet = new HashSet<T>(); pool.put(codecClass, codecSet); } } synchronized (codecSet) { return codecSet.add(codec); } } return false; }
private static <T> void updateLeaseCount( LoadingCache<Class<T>, AtomicInteger> usageCounts, T codec, int delta) { if (codec != null) { Class<T> codecClass = ReflectionUtils.getClass(codec); usageCounts.getUnchecked(codecClass).addAndGet(delta); } }
private static <T> void updateLeaseCount( LoadingCache<Class<T>, AtomicInteger> usageCounts, T codec, int delta) { if (codec != null) { Class<T> codecClass = ReflectionUtils.getClass(codec); usageCounts.getUnchecked(codecClass).addAndGet(delta); } }
private static <T> void updateLeaseCount( LoadingCache<Class<T>, AtomicInteger> usageCounts, T codec, int delta) { if (codec != null) { Class<T> codecClass = ReflectionUtils.getClass(codec); usageCounts.getUnchecked(codecClass).addAndGet(delta); } }
private static <T> void payback(Map<Class<T>, List<T>> pool, T codec) { if (codec != null) { Class<T> codecClass = ReflectionUtils.getClass(codec); synchronized (pool) { if (!pool.containsKey(codecClass)) { pool.put(codecClass, new ArrayList<T>()); } List<T> codecList = pool.get(codecClass); synchronized (codecList) { codecList.add(codec); } } } }
private static <T> boolean payback(Map<Class<T>, Set<T>> pool, T codec) { if (codec != null) { Class<T> codecClass = ReflectionUtils.getClass(codec); Set<T> codecSet; synchronized (pool) { codecSet = pool.get(codecClass); if (codecSet == null) { codecSet = new HashSet<T>(); pool.put(codecClass, codecSet); } } synchronized (codecSet) { return codecSet.add(codec); } } return false; }
private static <T> boolean payback(Map<Class<T>, Set<T>> pool, T codec) { if (codec != null) { Class<T> codecClass = ReflectionUtils.getClass(codec); Set<T> codecSet; synchronized (pool) { codecSet = pool.get(codecClass); if (codecSet == null) { codecSet = new HashSet<T>(); pool.put(codecClass, codecSet); } } synchronized (codecSet) { return codecSet.add(codec); } } return false; }
private static <T> void payback(ConcurrentHashMap<Class<T>, List<T>> pool, T codec) { if (codec != null) { Class<T> codecClass = ReflectionUtils.getClass(codec); List<T> codecList = pool.get(codecClass); if (codecList == null) { codecList = new ArrayList<T>(); List<T> old = pool.putIfAbsent(codecClass, codecList); if (old != null) { codecList = old; } } synchronized (codecList) { codecList.add(codec); } } }
private static <T> boolean payback(Map<Class<T>, Set<T>> pool, T codec) { if (codec != null) { Class<T> codecClass = ReflectionUtils.getClass(codec); Set<T> codecSet; synchronized (pool) { codecSet = pool.get(codecClass); if (codecSet == null) { codecSet = new HashSet<T>(); pool.put(codecClass, codecSet); } } synchronized (codecSet) { return codecSet.add(codec); } } return false; }
private static <T> boolean payback(Map<Class<T>, Set<T>> pool, T codec) { if (codec != null) { Class<T> codecClass = ReflectionUtils.getClass(codec); Set<T> codecSet; synchronized (pool) { codecSet = pool.get(codecClass); if (codecSet == null) { codecSet = new HashSet<T>(); pool.put(codecClass, codecSet); } } synchronized (codecSet) { return codecSet.add(codec); } } return false; }
private static <T> void updateLeaseCount( LoadingCache<Class<T>, AtomicInteger> usageCounts, T codec, int delta) { if (codec != null) { Class<T> codecClass = ReflectionUtils.getClass(codec); usageCounts.getUnchecked(codecClass).addAndGet(delta); } }