source: party/src/main/java/geniusweb/party/Party.java@ 29

Last change on this file since 29 was 29, checked in by bart, 3 years ago

some minor fixes

File size: 1.2 KB
Line 
1package geniusweb.party;
2
3import geniusweb.actions.Action;
4import geniusweb.connection.Connectable;
5import geniusweb.inform.Inform;
6
7/**
8 * This is a interface definition for java-based party implementations that are
9 * to be run on the PartiesServer.
10 *
11 * To implement a party to run on the PartiesServer, you must implement this and
12 * also have a 0-arg constructor. Also we strongly recommend not to use any
13 * static code blocks or do anything serious in the constructor. Instances of
14 * your class may also be created only to call the getCapabilities function.
15 *
16 * <p>
17 * Technical details: normally a Party will be spawned inside a PartiesFactory,
18 * and incoming/outgoing calls are routed through a websocket there.
19 *
20 */
21public interface Party extends Connectable<Inform, Action> {
22
23 /**
24 * @return the capabilities of this party.
25 */
26 Capabilities getCapabilities();
27
28 /**
29 *
30 * @return some useful short description, eg "tit-for-tat with bayesian
31 * opponent modeling".
32 */
33 String getDescription();
34
35 /**
36 * When this is called, the party should free up its resources and terminate
37 * its threads. This call may come in at any time, eg when a negotiation is
38 * aborted.
39 */
40 void terminate();
41}
Note: See TracBrowser for help on using the repository browser.