## edu.brook.sugarscape
Class SugarAgent

    java.lang.Object
      org.ascape.model.AscapeObject
          org.ascape.model.Agent
              org.ascape.model.LocatedAgent
                  org.ascape.model.Cell
                      org.ascape.model.CellOccupant
                          edu.brook.sugarscape.SugarAgent

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, Location, Node, HasName, RandomFunctions

    public class SugarAgent

extends CellOccupant

Sugar Agent Java Implementation. A basic sugarscape citizen. Provides basic funtionality for sugarscape agents as well as all desired functionality that could be included in base class without compromising good design or supporting unnecessary member variables. Despite the relativly large size of this class it is actually quite simple; much of the code is simply getters and setters for various initialization paramaters. author Miles T. Parker version 1.0 Generated by metaabm system: Sep 16, 2009 7:25:01 PM PDT in project: org.eclipse.amp.amf.examples.ascape

See Also:
  Serialized Form

Field Summary

Fields inherited from class org.ascape.model.CellOccupant
`PLAY_HOST_RULE, RANDOM_WALK_AVAILABLE_RULE`

Fields inherited from class org.ascape.model.Cell
`CALCULATE_NEIGHBORS_RULE, neighbors, PLAY_NEIGHBORS_RULE, PLAY_RANDOM_NEIGHBOR_RULE`

Fields inherited from class org.ascape.model.LocatedAgent
`agentSize, coordinate, MOVE_RANDOM_LOCATION_RULE, RANDOM_WALK_RULE, thisUpdate`

Fields inherited from class org.ascape.model.Agent
`DEATH_RULE, FISSIONING_RULE, FORCE_DIE_RULE, FORCE_FISSION_RULE, FORCE_MOVE_RULE, INITIALIZE_RULE, ITERATE_AND_UPDATE_RULE, ITERATE_RULE, METABOLISM_RULE, MOVEMENT_RULE, PLAY_OTHER, UPDATE_RULE`

Fields inherited from class org.ascape.model.AscapeObject
`ARBITRARY_SEED, name, PLATFORM_DEFAULT_COLOR, scape`

Constructor Summary
`SugarAgent()` Constructs a new Sugar Agent.

Method Summary
`java.lang.Object` `clone()` Clones the agent, ensuring that a unique id is assigned.
`void` `createUniqueID()`
`void` `deathOldAge()` .
`void` `deathStarvation()` .
`int` `getAge()` Gets the Age property for Sugar Agent.
`java.awt.Color` `getColor()` This agent's default color, used by many simple views.
`int` `getDeathAge()` Gets the Death Age property for Sugar Agent.
`GAS_Base` `getGAS_Base()`
`java.lang.String` `getName()` A name this object may be referred to by.
`int` `getSugarMetabolism()` Gets the Sugar Metabolism property for Sugar Agent.
`double` `getSugarStock()` Gets the Sugar Stock property for Sugar Agent.
`java.lang.String` `getUID()`
`int` `getVision()` Gets the Vision property for Sugar Agent.
`void` `harvest()` .
`void` `intializeNonFramework()` .
`void` `metabolism()` .
`void` `movement()` .
`void` `setAge(int _age)` Sets the Age property for Sugar Agent.
`void` `setDeathAge(int _deathAge)` Sets the Death Age property for Sugar Agent.
`void` `setSugarMetabolism(int _sugarMetabolism)` Sets the Sugar Metabolism property for Sugar Agent.
`void` `setSugarStock(double _sugarStock)` Sets the Sugar Stock property for Sugar Agent.
`void` `setVision(int _vision)` Sets the Vision property for Sugar Agent.

Methods inherited from class org.ascape.model.CellOccupant

`die, findAvailableNeighbors, findNearest, findNearest, findNearest, findNearest, findNearest, findNeighbors, findNeighborsOnHost, findRandomAvailableNeighbor, findRandomNeighbor, findRandomNeighborOnHost, findWithin, findWithin, findWithin, getCoordinate, getHostCell, getHostScape, leave, moveAway, moveTo, moveToRandomLocation, moveToward, playNeighbors, playRandomNeighbor, randomWalk, randomWalkAvailable, setHostCell, setHostScape`

Methods inherited from class org.ascape.model.Cell
`calculateNeighbors, countNeighbors, findOccupants, findRelative, getDistance, getNeighbors, getNeighbors, getNetwork, getOccupant, hostedCondition, initialize, isAvailable, removeOccupant, setNeighbors, setNeighborsList, setNetwork, setOccupant, toString`

Methods inherited from class org.ascape.model.LocatedAgent
`calculateDistance, calculateDistance, countWithin, countWithin, countWithin, findMaximumWithin, findWithin, getAgentSize, hasWithin, hasWithin, hasWithin, isUpdateNeeded, moveAway, moveAway, moveTo, moveToward, moveToward, requestUpdate, requestUpdateNext, setAgentSize, setCoordinate`

Methods inherited from class org.ascape.model.Agent
`clearDeleteMarker, death, deathCondition, execute, execute, fission, fissionCondition, fissioning, getColor, getImage, getImage, getIteration, getPlatformColor, getRoot, isDelete, isInitialized, iterate, markForDeletion, move, movementCondition, play, scapeCreated, setInitialized, setScape, update`

Methods inherited from class org.ascape.model.AscapeObject
`diffDeep, diffDeep, diffDeepBFS, diffDeepDFS, diffDeepValidate, diffDeepVisit, equalsDeep, equalsDeep, equalsDeep, getComparisonStream, getRandom, getRandomSeed, getScape, randomInRange, randomInRange, randomIs, randomToLimit, reseed, setComparisonStream, setName, setRandom, setRandomSeed`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.ascape.model.space.Location
`clearDeleteMarker, isDelete, markForDeletion, setCoordinate`

Constructor Detail

### SugarAgent

    public SugarAgent()

  Constructs a new Sugar Agent.

Method Detail

### getUID

    public java.lang.String getUID()

### createUniqueID

    public void createUniqueID()

### clone

    public java.lang.Object clone()

  Clones the agent, ensuring that a unique id is assigned.

  Specified by:
    `clone` in interface `Location`
  Overrides:
    `clone` in class `CellOccupant`
  Returns:
    the object

### getGAS_Base

    public GAS_Base getGAS_Base()

### getColor

    public java.awt.Color getColor()

  Description copied from class: `Agent`
  This agent's default color, used by many simple views. Black is default; override to provide an appropriate color.

  Overrides:
    `getColor` in class `Agent`

### harvest

    public void harvest()

  .

### movement

    public void movement()

  .

  Overrides:
    `movement` in class `Agent`
  See Also:
    `Agent.movementCondition()`, `Agent.MOVEMENT_RULE`

### metabolism

    public void metabolism()

  .

  Overrides:
    `metabolism` in class `Agent`
  See Also:
    `Agent.METABOLISM_RULE`

### intializeNonFramework

    public void intializeNonFramework()

  .

### deathStarvation

    public void deathStarvation()

  .

### deathOldAge

    public void deathOldAge()

  .

### getSugarStock

    public double getSugarStock()

  Gets the Sugar Stock property for Sugar Agent.

  Returns:

### setSugarStock

    public void setSugarStock(double _sugarStock)

  Sets the Sugar Stock property for Sugar Agent.

  Parameters:
    `_sugarStock` - the new Sugar Stock value

### getVision

    public int getVision()

  Gets the Vision property for Sugar Agent.

  Returns:

### setVision

    public void setVision(int _vision)

  Sets the Vision property for Sugar Agent.

  Parameters:
    `_vision` - the new Vision value

### getSugarMetabolism

    public int getSugarMetabolism()

  Gets the Sugar Metabolism property for Sugar Agent.

  Returns:

### setSugarMetabolism

    public void setSugarMetabolism(int _sugarMetabolism)

  Sets the Sugar Metabolism property for Sugar Agent.

  Parameters:
    `_sugarMetabolism` - the new Sugar Metabolism value

### getAge

    public int getAge()

  Gets the Age property for Sugar Agent.

  Returns:

### setAge

    public void setAge(int _age)

  Sets the Age property for Sugar Agent.

  Parameters:
    `_age` - the new Age value

### getDeathAge

    public int getDeathAge()

  Gets the Death Age property for Sugar Agent.

  Returns:

### setDeathAge

    public void setDeathAge(int _deathAge)

  Sets the Death Age property for Sugar Agent.

  Parameters:
    `_deathAge` - the new Death Age value

### getName

    public java.lang.String getName()

  Description copied from class: `AscapeObject`
  A name this object may be referred to by.

  Specified by:
    `getName` in interface `HasName`
  Overrides:
    `getName` in class `AscapeObject`