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 ControllerObject 00034 * 00035 * @author <a href="mailto:Nicolas.Modrzyk@inria.fr">Nicolas Modrzyk </a> 00036 * @version 1.0 00037 */ 00038 public class ControllerObject extends AbstractGuiObject 00039 { 00040 private String state; 00041 00042 /** 00043 * Creates a new <code>ControllerObject</code> object 00044 * 00045 * @param name the name of the controller 00046 */ 00047 public ControllerObject(String name) 00048 { 00049 super(); 00050 setText(name); 00051 setName(name); 00052 setBackground(Color.white); 00053 } 00054 00055 /** 00056 * Get ip address of this controller 00057 * 00058 * @return ipAddress 00059 */ 00060 public String getIpAdress() 00061 { 00062 return getName().substring(0, getName().indexOf(':')); 00063 } 00064 00065 /** 00066 * Get port of this controller 00067 * 00068 * @return port 00069 */ 00070 public String getPort() 00071 { 00072 return getName().substring(getName().indexOf(':') + 1); 00073 } 00074 00075 /** 00076 * Get the state of the controller 00077 * 00078 * @return state of controller as defined in gui constants , null if unknown 00079 */ 00080 public String getState() 00081 { 00082 return state; 00083 } 00084 00085 /** 00086 * Set state of controller and change its icon 00087 * 00088 * @param state string description of the state 00089 */ 00090 public void setState(String state) 00091 { 00092 if (state.equals(GuiConstants.CONTROLLER_STATE_UP)) 00093 { 00094 setIcon(GuiIcons.CONTROLLER_READY); 00095 setEnabled(true); 00096 } 00097 else 00098 { 00099 setIcon(GuiIcons.CONTROLLER_DOWN); 00100 //setEnabled(false); 00101 } 00102 this.state = state; 00103 } 00104 }