001/*
002 * $Id: ServerDescriptor.java,v 1.6 2011/03/24 16:06:31 davep Exp $
003 *
004 * This file is part of McIDAS-V
005 *
006 * Copyright 2007-2011
007 * Space Science and Engineering Center (SSEC)
008 * University of Wisconsin - Madison
009 * 1225 W. Dayton Street, Madison, WI 53706, USA
010 * https://www.ssec.wisc.edu/mcidas
011 * 
012 * All Rights Reserved
013 * 
014 * McIDAS-V is built on Unidata's IDV and SSEC's VisAD libraries, and
015 * some McIDAS-V source code is based on IDV and VisAD source code.  
016 * 
017 * McIDAS-V is free software; you can redistribute it and/or modify
018 * it under the terms of the GNU Lesser Public License as published by
019 * the Free Software Foundation; either version 3 of the License, or
020 * (at your option) any later version.
021 * 
022 * McIDAS-V is distributed in the hope that it will be useful,
023 * but WITHOUT ANY WARRANTY; without even the implied warranty of
024 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
025 * GNU Lesser Public License for more details.
026 * 
027 * You should have received a copy of the GNU Lesser Public License
028 * along with this program.  If not, see http://www.gnu.org/licenses.
029 */
030
031package edu.wisc.ssec.mcidasv.chooser;
032
033
034/**
035 * Class ServerDescriptor Holds the state of
036 * server components from servers.xml
037 */
038public class ServerDescriptor {
039
040    /** Is the server active */
041    private boolean isActive;
042
043    /** Server name or IP address */
044    private String serverName;
045
046    /** Group name */
047    private String groupName;
048
049    /** Data type */
050    private String dataType;
051
052    /**
053     * Constructor
054     *
055     *
056     */
057    public ServerDescriptor(String type, String name, String group, String active) {
058        this.serverName = name;
059        this.groupName = group;
060        this.dataType = type;
061        this.isActive = active.equals("true");
062    }
063
064    /**
065     * Get the isActive property.
066     *
067     * @return The isActive property.
068     */
069    public boolean getIsActive() {
070        return this.isActive;
071    }
072
073    /**
074     * Get the data type
075     *
076     * @return The dataType property.
077     */
078    public String getDataType() {
079        return this.dataType;
080    }
081
082
083    /**
084     * Does this server contain data of specified type
085     *
086     * @return true or false.
087     */
088    public boolean isDataType(String type) {
089        return this.dataType.equals(type);
090    }
091
092    /**
093     * Get the serverName property.
094     *
095     * @return The serverName property.
096     */
097    public String getServerName() {
098        return this.serverName;
099    }
100
101
102    /**
103     * Get the groupName property.
104     *
105     * @return The groupName property.
106     */
107    public String getGroupName() {
108        return this.groupName;
109    }
110
111
112    /**
113     * Set the isActive property.
114     *
115     * @param newValue The new vaue for the isActive property.
116     */
117    public void setIsActive(boolean newValue) {
118        this.isActive = newValue;
119    }
120
121    /**
122     * Set the dataType property.
123     *
124     * @param newValue The new vaue for the dataType property.
125     */
126    public void setDataType(String newValue) {
127        this.dataType = newValue;
128    }
129
130    /**
131     * Set the serverName property.
132     *
133     * @param newValue The new vaue for the serverName property.
134     */
135    public void setServerName(String newValue) {
136        this.serverName = newValue;
137    }
138
139
140    /**
141     * Set the groupName property.
142     *
143     * @param newValue The new vaue for the groupName property.
144     */
145    public void setGroupName(String newValue) {
146        this.groupName = newValue;
147    }
148
149
150    /**
151     * Get a String representation of this object
152     * @return a string representation
153     */
154    public String toString() {
155        StringBuffer buf = new StringBuffer();
156        buf.append(this.serverName);
157        buf.append("/");
158        buf.append(this.groupName);
159        return buf.toString();
160    }
161}