diff options
Diffstat (limited to '')
-rw-r--r-- | sca-java-2.x/tags/2.0-Beta2-RC3/modules/endpoint-tribes/src/main/java/org/apache/tuscany/sca/endpoint/tribes/MapStore.java | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/sca-java-2.x/tags/2.0-Beta2-RC3/modules/endpoint-tribes/src/main/java/org/apache/tuscany/sca/endpoint/tribes/MapStore.java b/sca-java-2.x/tags/2.0-Beta2-RC3/modules/endpoint-tribes/src/main/java/org/apache/tuscany/sca/endpoint/tribes/MapStore.java deleted file mode 100644 index 9e540743bf..0000000000 --- a/sca-java-2.x/tags/2.0-Beta2-RC3/modules/endpoint-tribes/src/main/java/org/apache/tuscany/sca/endpoint/tribes/MapStore.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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.apache.tuscany.sca.endpoint.tribes; - -import java.util.List; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; - -/** - * The Map that can fire events on put/remove of entries - */ -public abstract class MapStore extends ConcurrentHashMap<Object, Object> { - private static final long serialVersionUID = -2127235547082144368L; - private List<MapListener> listeners = new CopyOnWriteArrayList<MapListener>(); - - protected MapStore(int initialCapacity, float loadFactor, int concurrencyLevel) { - super(initialCapacity, loadFactor, concurrencyLevel); - } - - @Override - public Object put(Object key, Object value) { - Object old = super.put(key, value); - if (old != null) { - for (MapListener listener : listeners) { - listener.entryUpdated(key, old, value); - } - } else { - for (MapListener listener : listeners) { - listener.entryAdded(key, value); - } - - } - return old; - } - - @Override - public Object remove(Object key) { - Object old = super.remove(key); - if (old != null) { - for (MapListener listener : listeners) { - listener.entryRemoved(key, old); - } - } - return old; - } - - public void addListener(MapListener listener) { - listeners.add(listener); - } - - public List<MapListener> getListeners() { - return listeners; - } - - public boolean removeListener(MapListener listener) { - return listeners.remove(listener); - } - - public static interface MapListener { - void entryAdded(Object key, Object value); - - void entryUpdated(Object key, Object oldValue, Object newValue); - - void entryRemoved(Object key, Object value); - } -} |