01: /**
02: * Copyright 2003-2007 Luck Consulting Pty Ltd
03: *
04: * Licensed under the Apache License, Version 2.0 (the "License");
05: * you may not use this file except in compliance with the License.
06: * You may obtain a copy of the License at
07: *
08: * http://www.apache.org/licenses/LICENSE-2.0
09: *
10: * Unless required by applicable law or agreed to in writing, software
11: * distributed under the License is distributed on an "AS IS" BASIS,
12: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13: * See the License for the specific language governing permissions and
14: * limitations under the License.
15: */package net.sf.ehcache.distribution.jgroups;
16:
17: import net.sf.ehcache.Ehcache;
18: import net.sf.ehcache.Element;
19: import net.sf.ehcache.distribution.EventMessage;
20: import java.io.Serializable;
21:
22: /**
23: * @author Pierre Monestie (pmonestie[at]@gmail.com)
24: * @author <a href="mailto:gluck@gregluck.com">Greg Luck</a>
25: * @version $Id: JGroupEventMessage.java 592 2008-03-17 08:39:56Z gregluck $
26: * EventMessage class for the JGroupsCacheReplicator.
27: */
28: public class JGroupEventMessage extends EventMessage {
29: private transient Ehcache cache;
30:
31: private String cacheName;
32:
33: /**
34: * An event message for the JGroupsCacheReplicator. We keep as transient the
35: * origin cache and we serialize the cacheName. That way the JgroupManager
36: * will know from which cache the message came from
37: *
38: * @param event
39: * (PUT,REMOVE,REMOVE_ALL)
40: * @param key
41: * the serializable key of the cache element
42: * @param element
43: * The element itself. In case of a put.
44: * @param cache
45: * the Ehcache instance. This is a transient variable
46: * @param cacheName
47: * the name of the cache
48: */
49: public JGroupEventMessage(int event, Serializable key,
50: Element element, Ehcache cache, String cacheName) {
51: super (event, key, element);
52: this .cache = cache;
53: this .cacheName = cacheName;
54:
55: }
56:
57: /**
58: * Return the cache from which this event originated
59: *
60: * @return
61: */
62: public Ehcache getCache() {
63: return cache;
64: }
65:
66: /**
67: * Returns the cache name
68: *
69: * @return the cache name
70: */
71: public String getCacheName() {
72: return cacheName;
73: }
74:
75: }
|