/* * JBoss, Home of Professional Open Source * Copyright 2010-2016, Red Hat, Inc. and individual contributors * by the @authors tag. See the copyright.txt in the distribution for a * full listing of individual contributors. * * This is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation; either version 2.1 of * the License, or (at your option) any later version. * * This software is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this software; if not, write to the Free * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ package org.richfaces.tests.metamer.model; import java.io.Serializable; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; /** * Java bean representing a capital. * * @author Exadel, <a href="mailto:ppitonak@redhat.com">Pavol Pitonak</a> * @version $Revision: 22716 $ */ @XmlRootElement(name = "capital") public class Capital implements Serializable { private static final long serialVersionUID = -1042449580199397136L; private static final String FILE_EXT = ".gif"; private String name; private String state; private String timeZone; /** * Empty no-arg constructor needed for JAXB. */ public Capital() { } @XmlElement public String getName() { return name; } public void setName(String name) { this.name = name; } @XmlElement public String getState() { return state; } public void setState(String state) { this.state = state; } private String stateNameToFileName() { return state.replaceAll("\\s", "").toLowerCase(); } public String getStateFlag() { return "/images/capitals/" + stateNameToFileName() + FILE_EXT; } @XmlElement public String getTimeZone() { return timeZone; } public void setTimeZone(String timeZone) { this.timeZone = timeZone; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((name == null) ? 0 : name.hashCode()); result = prime * result + ((state == null) ? 0 : state.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } Capital other = (Capital) obj; if (name == null) { if (other.name != null) { return false; } } else if (!name.equals(other.name)) { return false; } if (state == null) { if (other.state != null) { return false; } } else if (!state.equals(other.state)) { return false; } return true; } @Override public String toString() { return name + " (" + state + ")"; } }