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: import java.util.*;
23:
24: /**
25: * a specific database category or engine that requires specific source code
26: */
27: public abstract class Team {
28:
29: public abstract String name();
30:
31: public abstract String description();
32:
33: public abstract Car[] cars();
34:
35: public abstract Driver[] drivers();
36:
37: public Driver[] nominate(Circuit circuit) {
38: Vector<Driver> vec = new Vector<Driver>();
39: Driver[] drivers = drivers();
40: for (int i = 0; i < drivers.length; i++) {
41: if (circuit.requiredDriver().isInstance(drivers[i])) {
42: vec.add(drivers[i]);
43: }
44: }
45: Driver[] result = new Driver[vec.size()];
46: vec.toArray(result);
47: return result;
48: }
49:
50: public abstract String website();
51:
52: }
|