game.government.administration
Class AreaAdministrationClass

java.lang.Object
  |
  +--game.government.administration.AbstractAdministration
        |
        +--game.government.administration.AreaAdministrationClass
All Implemented Interfaces:
Administration, AreaAdministration
Direct Known Subclasses:
GovernmentClass, ProvinceAdministrationClass

public class AreaAdministrationClass
extends AbstractAdministration
implements AreaAdministration

Base class for administrations that have subordinates.


Field Summary
 
Fields inherited from class game.government.administration.AbstractAdministration
taxRate, taxRateSet
 
Constructor Summary
AreaAdministrationClass()
          Constructor.
 
Method Summary
 void addSubordinate(Administration value)
          Add a subordinate administration.
 void economicsTurn()
          Perform one turn of economics for subordinates.
 Square getLargestCity()
          Return the largest city in this administration.
 Square getLargestSquare()
          Return the largest square (most populated) in this administration.
 int getNumberOfSquares()
          Return the number of squares controlled.
 float getPopulation()
          Return the population.
 java.util.Iterator iterator()
          Iterate over subordinates.
 void moveCapital(Square square)
          Move capital if old capital lost.
 boolean removeRecruits(float recruits)
          Remove recruits (for building a unit).
 void removeSubordinate(Administration value)
          Remove a subordinate.
 int size()
          Number of immediate subordinates.
 java.util.Iterator squareIterator()
          Iterator over squares.
 
Methods inherited from class game.government.administration.AbstractAdministration
addEthnicPopulation, getCapital, getCivilization, getEconomy, getEthnicDiscrimination, getGovernment, getGovtEconOrders, getIsolation, getName, getPort, getReligionEffect, getReligiousDiscrimination, getSquare, getSuperior, getTaxRate, isGovernment, setEconomy, setName, setPort, setSquare, setSuperior, setTaxRate, setupEthnicPopulations, updateGovernmentPolicies
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface game.interfaces.Administration
addEthnicPopulation, getCapital, getCivilization, getEconomy, getEthnicDiscrimination, getGovernment, getGovtEconOrders, getIsolation, getName, getPort, getReligionEffect, getReligiousDiscrimination, getSquare, getSuperior, getTaxRate, isGovernment, setEconomy, setName, setPort, setSquare, setSuperior, setTaxRate, setupEthnicPopulations, updateGovernmentPolicies
 

Constructor Detail

AreaAdministrationClass

public AreaAdministrationClass()
Constructor.

Method Detail

addSubordinate

public void addSubordinate(Administration value)
Add a subordinate administration.

Specified by:
addSubordinate in interface AreaAdministration
Parameters:
value - the subordinate to add.

removeSubordinate

public void removeSubordinate(Administration value)
Remove a subordinate.

Specified by:
removeSubordinate in interface AreaAdministration
Parameters:
value - the subordinate to remove.

iterator

public java.util.Iterator iterator()
Iterate over subordinates.

Specified by:
iterator in interface AreaAdministration
Returns:
iterator over subordinates.

squareIterator

public java.util.Iterator squareIterator()
Iterator over squares.

Specified by:
squareIterator in interface AreaAdministration
Returns:
iterator over squares.

getLargestCity

public Square getLargestCity()
Return the largest city in this administration. Used when a capital is lost.

Specified by:
getLargestCity in interface AreaAdministration

getLargestSquare

public Square getLargestSquare()
Return the largest square (most populated) in this administration. Used when a capital is lost and there are no cities.

Specified by:
getLargestSquare in interface AreaAdministration

moveCapital

public void moveCapital(Square square)
Move capital if old capital lost.

Specified by:
moveCapital in interface AreaAdministration

size

public int size()
Number of immediate subordinates.

Specified by:
size in interface AreaAdministration
Returns:
number of immediate subordinates.

getPopulation

public float getPopulation()
Return the population.

Specified by:
getPopulation in interface AreaAdministration
Returns:
the population.

removeRecruits

public boolean removeRecruits(float recruits)
Remove recruits (for building a unit).

Specified by:
removeRecruits in interface AreaAdministration
Parameters:
recruits - the population to remove.
Returns:
true if there is enough population, if not, none is removed and false is returned.0

getNumberOfSquares

public int getNumberOfSquares()
Return the number of squares controlled.

Specified by:
getNumberOfSquares in interface AreaAdministration
Returns:
the number of squares controlled.

economicsTurn

public void economicsTurn()
Perform one turn of economics for subordinates.

Specified by:
economicsTurn in interface Administration