KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > continuent > sequoia > common > jmx > monitoring > virtualdatabase > AbstractVirtualDatabaseDataCollector


1 /**
2  * Sequoia: Database clustering technology.
3  * Copyright (C) 2002-2004 French National Institute For Research In Computer
4  * Science And Control (INRIA).
5  * Contact: sequoia@continuent.org
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  * Initial developer(s): Nicolas Modrzyk.
20  * Contributor(s):
21  */

22 package org.continuent.sequoia.common.jmx.monitoring.virtualdatabase;
23
24 import org.continuent.sequoia.common.exceptions.DataCollectorException;
25 import org.continuent.sequoia.common.jmx.monitoring.AbstractDataCollector;
26 import org.continuent.sequoia.controller.core.Controller;
27 import org.continuent.sequoia.controller.virtualdatabase.VirtualDatabase;
28
29 /**
30  * Abstract class for virtual databases collectors
31  * @author <a HREF="mailto:Nicolas.Modrzyk@inrialpes.fr">Nicolas Modrzyk</a>
32  */

33 public abstract class AbstractVirtualDatabaseDataCollector
34     extends
35       AbstractDataCollector
36 {
37   private String JavaDoc virtualDatabaseName;
38
39   /**
40    * abstract collector contructor
41    * @param virtualDatabaseName to collect data from
42    */

43   public AbstractVirtualDatabaseDataCollector(String JavaDoc virtualDatabaseName)
44   {
45     super();
46     this.virtualDatabaseName = virtualDatabaseName;
47   }
48
49   /**
50    * @see org.continuent.sequoia.common.jmx.monitoring.AbstractDataCollector#collectValue()
51    */

52   public long collectValue() throws DataCollectorException
53   {
54     VirtualDatabase vdb = ((Controller)controller).getVirtualDatabase(
55         virtualDatabaseName);
56     return this.getValue(vdb);
57   }
58
59   /**
60    * We have the database object so let's get the value we want from ot
61    * @param database as an object to allow it through RMI, but IS a <code>VirtualDatabase</code>
62    * @return the collected value
63    */

64   public abstract long getValue(Object JavaDoc database);
65   
66   /**
67    * @see org.continuent.sequoia.common.jmx.monitoring.AbstractDataCollector#getTargetName()
68    */

69   public String JavaDoc getTargetName()
70   {
71     return virtualDatabaseName;
72   }
73 }
74
Popular Tags