/* * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html */ /** * @file ICacheUpdateAware.java * * @brief Interface for getting clustered cache updates * * Interface that needs to be implemented by the components * that want to be informed of an update in a Clustered Cache. The * interface need to be registerd in the OSGi service registry with a * property "cachenames" which will contains a PropertySet object * listing all the caches for which their is interes. */ package org.opendaylight.controller.clustering.services; /** * Interface that needs to be implemented by the components * that want to be informed of an update in a Clustered Cache. The * interface need to be registerd in the OSGi service registry with a * property "cachenames" which will contains a PropertySet object * listing all the caches for which their is interes. * */ public interface ICacheUpdateAware { /** * Invoked when a new entry is available in the cache, the key is * only provided, the value will come as an entryUpdate invocation * * @param key Key for the entry just created * @param cacheName name of the cache for which update has been * received * @param originLocal true if the event is generated from this * node */ void entryCreated(K key, String cacheName, boolean originLocal); /** * Called anytime a given entry is updated * * @param key Key for the entry modified * @param new_value the new value the key will have * @param cacheName name of the cache for which update has been * received * @param originLocal true if the event is generated from this * node */ void entryUpdated(K key, V new_value, String cacheName, boolean originLocal); /** * Called anytime a given key is removed from the * ConcurrentHashMap we are listening to. * * @param key Key of the entry removed * @param cacheName name of the cache for which update has been * received * @param originLocal true if the event is generated from this * node */ void entryDeleted(K key, String cacheName, boolean originLocal); }