Uses of Package
jfreerails.controller

Packages that use jfreerails.controller
experimental Provides a space to put classes that try out concepts and ideas but are not part of the game - classes in other jfreerails packages should not import classes from this package. 
jfreerails.client.common Provides classes that are used by the jfreerails client but are not jfreerails specific, that is, ones that could be used in another project: classes in this package should not import any classes from other jfreerails.* packages except jfreerails.util
jfreerails.client.renderer Provides classes that render/paint/draw the games graphics. 
jfreerails.client.top Provides classes that make up the client user interface (implemented using Swing). 
jfreerails.client.view Provides classes that make up the jfreerails client user interface that is implemented using Swing components. 
jfreerails.controller Provides classes that may be used by the client or the server to operate on the game world, for example, building trains and stations. 
jfreerails.launcher Provides the classes the make up the launcher. 
jfreerails.network Provides classes for sending moves and commands between the client and server. 
jfreerails.server Provides classes that will be used by the server but not the client. 
 

Classes in jfreerails.controller used by experimental
PreMove
          Defines a method that generates a move based on the state of the world object.
 

Classes in jfreerails.controller used by jfreerails.client.common
Message2Server
          Defines a command sent from a client to the server.
ModelRoot
          Defines methods and constants that GUI classes can use to access shared data.
ModelRoot.Property
           
MoveExecutor
          Lets the caller try and execute Moves.
PreMove
          Defines a method that generates a move based on the state of the world object.
 

Classes in jfreerails.controller used by jfreerails.client.renderer
BuildTrackStrategy
          A BuildTrackStrategy determines which track types to build (or upgrade to) on different terrains.
ModelRoot
          Defines methods and constants that GUI classes can use to access shared data.
PathOnTrackFinder
          Finds a path along existing track.
TrackMoveProducer
          Provides methods that generate moves that build, upgrade, and remove track.
TrackMoveProducer.BuildMode
           
TrackPathFinder
          Finds the best route to build track between two points.
 

Classes in jfreerails.controller used by jfreerails.client.top
BuildTrackStrategy
          A BuildTrackStrategy determines which track types to build (or upgrade to) on different terrains.
ModelRoot
          Defines methods and constants that GUI classes can use to access shared data.
ScreenHandler
          Handles going into fullscreen mode and setting buffer strategy etc.
TrackMoveProducer
          Provides methods that generate moves that build, upgrade, and remove track.
 

Classes in jfreerails.controller used by jfreerails.client.view
FinancialDataGatherer
          Gathers the financial data for a company.
ModelRoot
          Defines methods and constants that GUI classes can use to access shared data.
ModelRoot.Property
           
MyDisplayMode
          Stores a DisplayMode and provides a customised implementation of toString that can be used in menus.
StationBuilder
          Class to build a station at a given point, names station after nearest city.
TrackMoveProducer
          Provides methods that generate moves that build, upgrade, and remove track.
TrackMoveProducer.BuildMode
           
 

Classes in jfreerails.controller used by jfreerails.controller
AddStationPreMove
          Generates a move that adds or upgrades a station.
BalanceSheetGenerator.Stats
           
BuildTrackStrategy
          A BuildTrackStrategy determines which track types to build (or upgrade to) on different terrains.
CargoElementObject
          Small data object to store the rate of supply of a cargo.
ClientControlInterface
          Defines the methods that the server can call on a client using a Message2Client.
ClientControlInterface.ClientProperty
           
CopyableTextJPanel
          Displays text that can be selected with the mouse and copied to the clipboard.
DropOffAndPickupCargoMoveGenerator.WagonLoad
          Stores the type and quanity of cargo in a wagon.
FlatTrackExplorer
          GraphExplorer that explorers track, the ints it returns are encoded PositionOnTrack objects.
GraphExplorer
          This interface lets the caller explorer a graph while hiding the way the graph is stored.
IncrementalPathFinder
          Defines part of the contract for a pathfinder whose search can be completed in several steps.
Message2Server
          Defines a command sent from a client to the server.
MessageStatus
          An instance of this class is returned to the client (the server) when a Message2Server (Message2Client) is executed by the server (the client).
ModelRoot
          Defines methods and constants that GUI classes can use to access shared data.
ModelRoot.Property
           
ModelRoot.Value
           
MoveExecutor
          Lets the caller try and execute Moves.
OpenList
          An OpenList for SimpleAStarPathFinder.
OpenList.OpenListEntry
           
PathNotFoundException
          Thrown when a path cannot be found.
PreMove
          Defines a method that generates a move based on the state of the world object.
PreMoveStatus
          Records the success or failure of an attempt to execute a move.
ServerControlInterface
          Defines the methods that a client can call on the server using a Message2Server.
SimpleAStarPathFinder
          A simple A* pathfinder implementation.
StockPriceCalculator.StockPrice
           
TimeTickPreMove
          Generates a TimeTickMove.
TrackMoveProducer.BuildMode
           
TrainAccessor
          Provides convenience methods to access the properties of a train from the world object.
 

Classes in jfreerails.controller used by jfreerails.launcher
ClientControlInterface
          Defines the methods that the server can call on a client using a Message2Client.
ClientControlInterface.ClientProperty
           
ScreenHandler
          Handles going into fullscreen mode and setting buffer strategy etc.
 

Classes in jfreerails.controller used by jfreerails.network
ClientControlInterface
          Defines the methods that the server can call on a client using a Message2Client.
ClientControlInterface.ClientProperty
           
Message2Client
          Defines a command sent from the server to the client.
Message2Server
          Defines a command sent from a client to the server.
MessageStatus
          An instance of this class is returned to the client (the server) when a Message2Server (Message2Client) is executed by the server (the client).
PreMove
          Defines a method that generates a move based on the state of the world object.
PreMoveStatus
          Records the success or failure of an attempt to execute a move.
ServerControlInterface
          Defines the methods that a client can call on the server using a Message2Server.
 

Classes in jfreerails.controller used by jfreerails.server
FlatTrackExplorer
          GraphExplorer that explorers track, the ints it returns are encoded PositionOnTrack objects.
FreerailsServerSerializable
          Tags classes that the server may need to save but which won't be sent to clients.
SimpleAStarPathFinder
          A simple A* pathfinder implementation.
TrainStopsHandler