sysModel.env
Class ASquareEnv

java.lang.Object
  extended by sysModel.env.AGlobalEnv
      extended by sysModel.env.ASquareEnv
Direct Known Subclasses:
BoundedEnv, UnboundedEnv

public abstract class ASquareEnv
extends AGlobalEnv

Abstract square environment class.

Author:
Mathias Ricken

Nested Class Summary
protected  class ASquareEnv.ASquareLocalEnvironment
          Concrete local environment for the square environment.
 class ASquareEnv.Direction
          Concrete direction class.
 class ASquareEnv.Location
          Concrete location class.
 
Nested classes/interfaces inherited from class sysModel.env.AGlobalEnv
AGlobalEnv.ALocalEnv, AGlobalEnv.BreedLambda, AGlobalEnv.ILocalEnvVisitor
 
Field Summary
 
Fields inherited from class sysModel.env.AGlobalEnv
_breedLambdas, _cmdFactory, _moveLambdas, _securityAdapter, _waterColor, OCEAN_BLUE
 
Constructor Summary
ASquareEnv(ICmdFactory cmdFactory, ISecurityAdapter sm)
          Constructor.
 
Method Summary
 ILambda editFish(AGlobalEnv.ALocalEnv le, IFishFactory fishFactory, int button)
          Edit the fish.
 ILambda getToolTipText(java.awt.geom.Point2D.Double p)
          Get a tool tip description for a specific place in the environment.
 ASquareEnv.Direction makeDirection()
          Factory method for Direction.
 ASquareEnv.Direction makeDirection(ASquareEnv.Direction other)
          Factory method for Direction.
 ASquareEnv.Direction makeDirection(double dx, double dy)
          Factory method for Direction.
protected abstract  ASquareEnv.ASquareLocalEnvironment makeLocalEnv(ASquareEnv.Location loc, ASquareEnv.Direction dir)
          Create a local environment for the position.
 AGlobalEnv.ALocalEnv makeLocalEnv(java.awt.geom.Point2D.Double p)
          Create a local environment for the position.
 ASquareEnv.Location makeLocation(double x, double y)
          Factory method for Location.
protected  void parseFish(Lexer l)
          Parse fish and add them to the environment.
 
Methods inherited from class sysModel.env.AGlobalEnv
addFish, addFishToInternalData, deactivateBreedLambdas, deactivateMoveLambdas, drawBackground, getDisplaySize, getPanDelta, getViewPosition, makeDrawCmd, makeEditCmd, makeEnvFactory, makeStepCmd, parse, parseEnvironment, printHeader, removeFish, removeFishFromInternalData, returnHome, save
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ASquareEnv

public ASquareEnv(ICmdFactory cmdFactory,
                  ISecurityAdapter sm)
Constructor.

Parameters:
cmdFactory - command factory to use
sm - security manager to control fish actions
Method Detail

editFish

public ILambda editFish(AGlobalEnv.ALocalEnv le,
                        IFishFactory fishFactory,
                        int button)
Edit the fish.

Specified by:
editFish in class AGlobalEnv
Parameters:
le - local environment
fishFactory -
button -
Returns:
lambda to edit fish

makeLocalEnv

public AGlobalEnv.ALocalEnv makeLocalEnv(java.awt.geom.Point2D.Double p)
Create a local environment for the position.

Specified by:
makeLocalEnv in class AGlobalEnv
Parameters:
p - position
Returns:
local environment

makeLocalEnv

protected abstract ASquareEnv.ASquareLocalEnvironment makeLocalEnv(ASquareEnv.Location loc,
                                                                   ASquareEnv.Direction dir)
Create a local environment for the position.

Parameters:
loc - location
dir - direction
Returns:
local environment

parseFish

protected void parseFish(Lexer l)
Parse fish and add them to the environment.

Specified by:
parseFish in class AGlobalEnv
Parameters:
l - parser to read from

getToolTipText

public ILambda getToolTipText(java.awt.geom.Point2D.Double p)
Get a tool tip description for a specific place in the environment.

Specified by:
getToolTipText in class AGlobalEnv
Parameters:
p - mouse coordinates
Returns:
lambda for the simulation controller to execute. Must return the tooltip string.

makeDirection

public ASquareEnv.Direction makeDirection()
Factory method for Direction.

Returns:
new Direction facing up (0,-1)

makeDirection

public ASquareEnv.Direction makeDirection(double dx,
                                          double dy)
Factory method for Direction.

Parameters:
dx - delta x
dy - delta y
Returns:
new Direction facing (dx, dy)

makeDirection

public ASquareEnv.Direction makeDirection(ASquareEnv.Direction other)
Factory method for Direction.

Parameters:
other - other direction
Returns:
new Direction facing in the same direction as other

makeLocation

public ASquareEnv.Location makeLocation(double x,
                                        double y)
Factory method for Location.

Parameters:
x - x coordinate
y - y coordinate
Returns:
new Location at (x, y)