Main Page | Packages | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

DatabaseObject.java

00001 /**
00002  * C-JDBC: Clustered JDBC.
00003  * Copyright (C) 2002-2004 French National Institute For Research In Computer
00004  * Science And Control (INRIA).
00005  * Contact: c-jdbc@objectweb.org
00006  * 
00007  * This library is free software; you can redistribute it and/or modify it
00008  * under the terms of the GNU Lesser General Public License as published by the
00009  * Free Software Foundation; either version 2.1 of the License, or any later
00010  * version.
00011  * 
00012  * This library is distributed in the hope that it will be useful, but WITHOUT
00013  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00014  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
00015  * for more details.
00016  * 
00017  * You should have received a copy of the GNU Lesser General Public License
00018  * along with this library; if not, write to the Free Software Foundation,
00019  * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
00020  *
00021  * Initial developer(s): Nicolas Modrzyk
00022  * Contributor(s): ______________________.
00023  */
00024 
00025 package org.objectweb.cjdbc.console.gui.objects;
00026 
00027 import java.awt.Color;
00028 
00029 import org.objectweb.cjdbc.console.gui.constants.GuiConstants;
00030 import org.objectweb.cjdbc.console.gui.constants.GuiIcons;
00031 
00032 /**
00033  * This class defines a DatabaseObject
00034  * 
00035  * @author <a href="mailto:Nicolas.Modrzyk@inria.fr">Nicolas Modrzyk </a>
00036  * @version 1.0
00037  */
00038 public class DatabaseObject extends AbstractGuiObject
00039 {
00040   private String  state;
00041   private String  controllerName;
00042   private boolean isDistributed;
00043 
00044   /**
00045    * Creates a new <code>ControllerObject</code> object
00046    * 
00047    * @param databaseName the name of the database
00048    * @param controllerName the name of the controller the database belongs to
00049    * @param isDistributed if the database is distributed set to
00050    *          <code>true</code>
00051    */
00052   public DatabaseObject(String databaseName, String controllerName,
00053       boolean isDistributed)
00054   {
00055     super();
00056     setText(databaseName);
00057     setName(databaseName);
00058     this.controllerName = controllerName;
00059     this.isDistributed = isDistributed;
00060     setBackground(Color.white);
00061     if (isDistributed)
00062       setIcon(GuiIcons.DATABASE_DISTRIBUTED_ICON);
00063     else
00064       setIcon(GuiIcons.DATABASE_SINGLE_ICON);
00065   }
00066 
00067   /**
00068    * Get ip address of this controller
00069    * 
00070    * @return ipAddress
00071    */
00072   public String getIpAdress()
00073   {
00074     return controllerName.substring(0, controllerName.indexOf(':'));
00075   }
00076 
00077   /**
00078    * Get port of this controller
00079    * 
00080    * @return port
00081    */
00082   public String getPort()
00083   {
00084     return controllerName.substring(controllerName.indexOf(':') + 1);
00085   }
00086 
00087   /**
00088    * Get the state of the controller
00089    * 
00090    * @return state of controller as defined in gui constants , null if unknown
00091    */
00092   public String getState()
00093   {
00094     return state;
00095   }
00096 
00097   /**
00098    * Set state of controller and change its icon
00099    * 
00100    * @param state string description of the state
00101    */
00102   public void setState(String state)
00103   {
00104     if (state.equals(GuiConstants.CONTROLLER_STATE_UP))
00105       setIcon(GuiIcons.CONTROLLER_READY);
00106     else
00107       setIcon(GuiIcons.CONTROLLER_DOWN);
00108     this.state = state;
00109   }
00110 
00111   /**
00112    * Returns the controllerName value.
00113    * 
00114    * @return Returns the controllerName.
00115    */
00116   public String getControllerName()
00117   {
00118     return controllerName;
00119   }
00120 
00121   /**
00122    * Returns the isDistributed value.
00123    * 
00124    * @return Returns the isDistributed.
00125    */
00126   public boolean isDistributed()
00127   {
00128     return isDistributed;
00129   }
00130 
00131   /**
00132    * Sets the isDistributed value.
00133    * 
00134    * @param isDistributed The isDistributed to set.
00135    */
00136   public void setDistributed(boolean isDistributed)
00137   {
00138     this.isDistributed = isDistributed;
00139   }
00140 }

Generated on Mon Apr 11 22:01:31 2005 for C-JDBC by  doxygen 1.3.9.1