/*
* Copyright Terracotta, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.ehcache.impl.events;
import org.ehcache.event.CacheEvent;
import org.ehcache.event.CacheEventListener;
Adapter for cache event listener implementation that splits the event based on its type
to specific methods. This class by default provides only empty methods.
Type parameters: - <K> – the type of the keys from the cache
- <V> – the type of the values from the cache
/**
* Adapter for cache event listener implementation that splits the event based on its type
* to specific methods. This class by default provides only empty methods.
*
* @param <K> the type of the keys from the cache
* @param <V> the type of the values from the cache
*/
public abstract class CacheEventAdapter<K, V> implements CacheEventListener<K, V> {
{@inheritDoc}
/**
* {@inheritDoc}
*/
@Override
public final void onEvent(CacheEvent<? extends K, ? extends V> event) {
switch (event.getType()) {
case CREATED:
onCreation(event.getKey(), event.getNewValue());
break;
case UPDATED:
onUpdate(event.getKey(), event.getOldValue(), event.getNewValue());
break;
case REMOVED:
onRemoval(event.getKey(), event.getOldValue());
break;
case EXPIRED:
onExpiry(event.getKey(), event.getOldValue());
break;
case EVICTED:
onEviction(event.getKey(), event.getOldValue());
break;
default:
throw new AssertionError("Unsupported event type " + event.getType());
}
}
Invoked when a CacheEvent
for an eviction
is received. Params: - key – the evicted key
- evictedValue – the evicted value
/**
* Invoked when a {@link CacheEvent} for an {@link org.ehcache.event.EventType#EVICTED eviction} is received.
*
* @param key the evicted key
* @param evictedValue the evicted value
*/
protected void onEviction(K key, V evictedValue) {
// Do nothing by default
}
Invoked when a CacheEvent
for an expiration
is received. Params: - key – the expired key
- expiredValue – the expired value
/**
* Invoked when a {@link CacheEvent} for an {@link org.ehcache.event.EventType#EXPIRED expiration} is received.
*
* @param key the expired key
* @param expiredValue the expired value
*/
protected void onExpiry(K key, V expiredValue) {
// Do nothing by default
}
Invoked when a CacheEvent
for a removal
is received. Params: - key – the removed key
- removedValue – the removed value
/**
* Invoked when a {@link CacheEvent} for a {@link org.ehcache.event.EventType#REMOVED removal} is received.
*
* @param key the removed key
* @param removedValue the removed value
*/
protected void onRemoval(K key, V removedValue) {
// Do nothing by default
}
Invoked when a CacheEvent
for an update
is received. Params: - key – the updated key
- oldValue – the previous value
- newValue – the updated value
/**
* Invoked when a {@link CacheEvent} for an {@link org.ehcache.event.EventType#UPDATED update} is received.
*
* @param key the updated key
* @param oldValue the previous value
* @param newValue the updated value
*/
protected void onUpdate(K key, V oldValue, V newValue) {
// Do nothing by default
}
Invoked when a CacheEvent
for a creation
is received. Params: - key – the created key
- newValue – the created value
/**
* Invoked when a {@link CacheEvent} for a {@link org.ehcache.event.EventType#CREATED creation} is received.
*
* @param key the created key
* @param newValue the created value
*/
protected void onCreation(K key, V newValue) {
// Do nothing by default
}
}