01: /*
02: This file is part of the PolePosition database benchmark
03: http://www.polepos.org
04:
05: This program is free software; you can redistribute it and/or
06: modify it under the terms of the GNU General Public License
07: as published by the Free Software Foundation; either version 2
08: of the License, or (at your option) any later version.
09:
10: This program is distributed in the hope that it will be useful,
11: but WITHOUT ANY WARRANTY; without even the implied warranty of
12: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13: GNU General Public License for more details.
14:
15: You should have received a copy of the GNU General Public
16: License along with this program; if not, write to the Free
17: Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
18: MA 02111-1307, USA. */
19:
20: package org.polepos.framework;
21:
22: public class TeamCar {
23:
24: private final Team team;
25: private final Car car;
26:
27: public TeamCar(Team team, Car car) {
28: this .team = team;
29: this .car = car;
30: }
31:
32: @Override
33: public boolean equals(Object obj) {
34: if (obj == this ) {
35: return true;
36: }
37: if (obj == null || obj.getClass() != getClass()) {
38: return false;
39: }
40: TeamCar key = (TeamCar) obj;
41: return team.equals(key.team) && car.equals(key.car);
42: }
43:
44: @Override
45: public int hashCode() {
46: return team.hashCode() + car.hashCode();
47: }
48:
49: public String toString() {
50: return team.name() + "/" + car.name();
51: }
52:
53: public String name() {
54: return team.name() + "/" + car.name();
55: }
56:
57: public String description() {
58: if (team.website() != null) {
59: return team.description();
60: }
61: return car.description();
62: }
63:
64: public Team getTeam() {
65: return team;
66: }
67:
68: public Car getCar() {
69: return car;
70: }
71:
72: public String website() {
73: String webSite = team.website();
74: if (webSite != null) {
75: return webSite;
76: }
77: return car.getWebsite();
78: }
79:
80: }
|