View Javadoc

1   /*** 
2    * 
3    * Copyright 2004 Protique Ltd
4    * 
5    * Licensed under the Apache License, Version 2.0 (the "License"); 
6    * you may not use this file except in compliance with the License. 
7    * You may obtain a copy of the License at 
8    * 
9    * http://www.apache.org/licenses/LICENSE-2.0
10   * 
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS, 
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
14   * See the License for the specific language governing permissions and 
15   * limitations under the License. 
16   * 
17   **/
18  package org.activecluster.group;
19  
20  import org.activecluster.ClusterEvent;
21  import org.activecluster.ClusterListener;
22  
23  /***
24   * A {@link ClusterListener} which maintains a {@link GroupModel} implementation
25   *
26   * @version $Revision: 1.1 $
27   */
28  public class GroupClusterListener implements ClusterListener {
29      private GroupModel model;
30  
31      public GroupClusterListener(GroupModel model) {
32          this.model = model;
33      }
34  
35      // Properties
36      //-------------------------------------------------------------------------
37      public GroupModel getModel() {
38          return model;
39      }
40  
41      // ClusterListener interface
42      //-------------------------------------------------------------------------
43      public void onNodeAdd(ClusterEvent event) {
44          model.addNode(event.getNode());
45      }
46  
47      public void onNodeUpdate(ClusterEvent event) {
48      }
49  
50      public void onNodeRemoved(ClusterEvent event) {
51          model.removeNode(event.getNode());
52      }
53  
54      public void onNodeFailed(ClusterEvent event) {
55          model.removeNode(event.getNode());
56      }
57  
58      public void onCoordinatorChanged(ClusterEvent event) {
59      }
60  }