001 /* 002 * $Id: Way.java,v 1.1 2012/01/04 20:40:52 tommyj Exp $ 003 * 004 * This file is part of McIDAS-V 005 * 006 * Copyright 2007-2012 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 031 package edu.wisc.ssec.mcidasv.data.cyclone; 032 033 /** 034 * Created by IntelliJ IDEA. User: yuanho Date: Apr 9, 2008 Time: 4:57:38 PM To 035 * change this template use File | Settings | File Templates. 036 */ 037 038 public class Way implements Comparable { 039 040 /** _more_ */ 041 public static final Way OBSERVATION = new Way("Observation"); 042 043 /** _more_ */ 044 private String id; 045 046 /** _more_ */ 047 private String name; 048 049 /** 050 * _more_ 051 */ 052 public Way() { 053 } 054 055 /** 056 * _more_ 057 * 058 * @param id 059 * _more_ 060 */ 061 public Way(String id) { 062 this.id = id; 063 } 064 065 /** 066 * _more_ 067 * 068 * @param id 069 * _more_ 070 * @param name 071 * _more_ 072 */ 073 public Way(String id, String name) { 074 this.id = id; 075 this.name = name; 076 } 077 078 /** 079 * _more_ 080 * 081 * @return _more_ 082 */ 083 public boolean isObservation() { 084 return this.equals(OBSERVATION); 085 } 086 087 /** 088 * _more_ 089 * 090 * @param id 091 * _more_ 092 */ 093 public void setId(String id) { 094 this.id = id; 095 } 096 097 /** 098 * _more_ 099 * 100 * @return _more_ 101 */ 102 public String getId() { 103 return id; 104 } 105 106 /** 107 * _more_ 108 * 109 * @return _more_ 110 */ 111 public String toString() { 112 if (name != null) { 113 return id + ": " + name; 114 } 115 return id; 116 } 117 118 /** 119 * _more_ 120 * 121 * @return _more_ 122 */ 123 public int hashCode() { 124 return id.hashCode(); 125 } 126 127 /** 128 * _more_ 129 * 130 * @param o 131 * _more_ 132 * 133 * @return _more_ 134 */ 135 public boolean equals(Object o) { 136 if (o == null) { 137 return false; 138 } 139 if (!(o instanceof Way)) { 140 return false; 141 } 142 Way other = (Way) o; 143 144 return (this.id.equals(other.id)); 145 } 146 147 /** 148 * Set the Name property. 149 * 150 * @param value 151 * The new value for Name 152 */ 153 public void setName(String value) { 154 name = value; 155 } 156 157 /** 158 * Get the Name property. 159 * 160 * @return The Name 161 */ 162 public String getName() { 163 return name; 164 } 165 166 /** 167 * _more_ 168 * 169 * @param o 170 * _more_ 171 * 172 * @return _more_ 173 */ 174 public int compareTo(Object o) { 175 if (o instanceof Way) { 176 Way that = (Way) o; 177 return this.id.toLowerCase().compareTo(that.id.toLowerCase()); 178 } 179 return toString().compareTo(o.toString()); 180 } 181 182 }