|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectnet.sf.freecol.common.model.FreeColObject
net.sf.freecol.common.model.FreeColGameObject
net.sf.freecol.common.model.GoodsContainer
public class GoodsContainer
Contains goods and can be used by a Location to make certain
tasks easier.
| Field Summary | |
|---|---|
static int |
CARGO_SIZE
|
private static java.util.logging.Logger |
logger
|
static java.lang.String |
OLD_STORED_GOODS_TAG
|
private java.util.Map<GoodsType,java.lang.Integer> |
oldStoredGoods
The previous list of Goods stored in this GoodsContainer. |
private Location |
parent
The owner of this GoodsContainer. |
static java.lang.String |
STORED_GOODS_TAG
|
private java.util.Map<GoodsType,java.lang.Integer> |
storedGoods
The list of Goods stored in this GoodsContainer. |
| Fields inherited from class net.sf.freecol.common.model.FreeColGameObject |
|---|
UNITS_TAG_NAME |
| Fields inherited from class net.sf.freecol.common.model.FreeColObject |
|---|
ARRAY_SIZE, ID_ATTRIBUTE, ID_ATTRIBUTE_TAG, INFINITY, NO_ID, PARTIAL_ATTRIBUTE, UNDEFINED, VALUE_TAG |
| Constructor Summary | |
|---|---|
GoodsContainer(Game game,
Location parent)
Creates an empty GoodsContainer. |
|
GoodsContainer(Game game,
Location parent,
org.w3c.dom.Element e)
Initiates a new GoodsContainer from an Element. |
|
GoodsContainer(Game game,
Location parent,
javax.xml.stream.XMLStreamReader in)
Initiates a new GoodsContainer from an Element. |
|
| Method Summary | |
|---|---|
boolean |
addGoods(AbstractGoods g)
Adds a Goods to this containter. |
boolean |
addGoods(GoodsType type,
int amount)
Adds the given amount of the given type of goods. |
boolean |
contains(Goods g)
Checks if the specified Goods is in this container. |
void |
dispose()
Dispose of this GoodsContainer. |
java.util.List<FreeColGameObject> |
disposeList()
Removes all references to this object. |
void |
fireChanges()
Fire property changes for all goods that have seen level changes since the last saveState(). |
java.util.List<Goods> |
getCompactGoods()
Gets an Iterator of every Goods in this
GoodsContainer. |
java.util.List<Goods> |
getFullGoods()
Gets an Iterator of every Goods in this
GoodsContainer. |
java.util.List<Goods> |
getGoods()
Returns an ArrayList containing all
Goods in this GoodsContainer. |
Goods |
getGoods(GoodsType goodsType)
|
int |
getGoodsCount()
Gets the number of goods-packages. |
int |
getGoodsCount(GoodsType type)
Returns the amount of one type of Goods in this container. |
java.util.Iterator<Goods> |
getGoodsIterator()
Gets an Iterator of every Goods in this
GoodsContainer. |
int |
getOldGoodsCount(GoodsType type)
Returns the amount of one type of Goods at the beginning of the turn. |
Player |
getOwner()
Gets the owner of this GoodsContainer. |
static java.lang.String |
getXMLElementTagName()
Gets the tag name of the root element representing this object. |
boolean |
hasChanged()
Has this goods containers contents changed from what was recorded last time the state was saved? |
boolean |
hasReachedCapacity(int amount)
Checks if any storable type of goods has reached the given amount. |
protected void |
readFromXMLImpl(javax.xml.stream.XMLStreamReader in)
Initialize this object from an XML-representation of this object. |
protected void |
readFromXMLPartialImpl(javax.xml.stream.XMLStreamReader in)
Partial reader, so that "remove" messages can be brief. |
void |
removeAbove(int newAmount)
Removes all goods above given amount, provided that the goods are storable and do not ignore warehouse limits. |
void |
removeAll()
Removes all goods. |
Goods |
removeGoods(AbstractGoods g)
Removes Goods from this containter. |
Goods |
removeGoods(GoodsType type)
|
Goods |
removeGoods(GoodsType type,
int amount)
Removes the given amount of the given type of goods. |
void |
saveState()
Prepares this GoodsContainer for a new turn. |
void |
setAmount(GoodsType goodsType,
int newAmount)
Set the amount of goods in this container. |
void |
setOwner(Player p)
Sets the owner of this Ownable. |
java.lang.String |
toString()
Creates a String representation of this
GoodsContainer. |
protected void |
toXMLImpl(javax.xml.stream.XMLStreamWriter out,
Player player,
boolean showAll,
boolean toSavedGame)
This method writes an XML-representation of this object to the given stream. |
protected void |
toXMLPartialImpl(javax.xml.stream.XMLStreamWriter out,
java.lang.String[] fields)
Partial writer, so that "remove" messages can be brief. |
private void |
writeStorage(javax.xml.stream.XMLStreamWriter out,
java.lang.String tag,
java.util.Map<GoodsType,java.lang.Integer> storage)
|
| Methods inherited from class net.sf.freecol.common.model.FreeColGameObject |
|---|
equals, equals, fundamentalDispose, getFreeColGameObject, getFreeColGameObject, getGame, getIntegerID, getSpecification, hashCode, isDisposed, isUninitialized, newLocation, readFromXML, readFromXMLPartialByClass, setDefaultId, setGame, setId, toXML, toXMLImpl, toXMLPartialByClass, updateFreeColGameObject |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
private static final java.util.logging.Logger logger
public static final int CARGO_SIZE
public static final java.lang.String STORED_GOODS_TAG
public static final java.lang.String OLD_STORED_GOODS_TAG
private java.util.Map<GoodsType,java.lang.Integer> storedGoods
GoodsContainer.
private java.util.Map<GoodsType,java.lang.Integer> oldStoredGoods
GoodsContainer.
private final Location parent
GoodsContainer.
| Constructor Detail |
|---|
public GoodsContainer(Game game,
Location parent)
GoodsContainer.
game - The Game in which this GoodsContainer belong.parent - The Location this GoodsContainer will be containg goods for.
public GoodsContainer(Game game,
Location parent,
javax.xml.stream.XMLStreamReader in)
throws javax.xml.stream.XMLStreamException
GoodsContainer from an Element.
game - The Game in which this GoodsContainer
belong.parent - The object using this GoodsContainer
for storing it's goods.in - The input stream containing the XML.
javax.xml.stream.XMLStreamException - if a problem was encountered
during parsing.
public GoodsContainer(Game game,
Location parent,
org.w3c.dom.Element e)
GoodsContainer from an Element.
game - The Game in which this GoodsContainer
belong.parent - The object using this GoodsContainer
for storing it's goods.e - An XML-element that will be used to initialize
this object.| Method Detail |
|---|
public Player getOwner()
GoodsContainer.
getOwner in interface OwnablePlayer controlling this
Ownable.public void setOwner(Player p)
Ownable.
setOwner in interface Ownablep - The Player that should take ownership
of this Ownable.
java.lang.UnsupportedOperationException - if not implemented.public java.util.List<FreeColGameObject> disposeList()
disposeList in class FreeColGameObjectpublic void dispose()
dispose in class FreeColGameObjectpublic boolean addGoods(AbstractGoods g)
Goods to this containter.
g - The Goods to add to this container.
public boolean addGoods(GoodsType type,
int amount)
type - The type of goods to add.amount - The type of amount to add.public Goods removeGoods(AbstractGoods g)
g - The Goods to remove from this container.public Goods removeGoods(GoodsType type)
public Goods removeGoods(GoodsType type,
int amount)
type - The type of goods to remove.amount - The type of amount to remove.
public void removeAbove(int newAmount)
newAmount - The treshold.
public void setAmount(GoodsType goodsType,
int newAmount)
goodsType - The GoodsType to set the amount of.newAmount - The new amount.public void removeAll()
public boolean hasReachedCapacity(int amount)
amount - The amount.
true if any type of goods,
except for Goods.FOOD, has reached
the given amount.public boolean contains(Goods g)
Goods is in this container.
g - The Goods to test the presence of.
public int getGoodsCount(GoodsType type)
type - The type of Goods being looked for in this container.
public int getOldGoodsCount(GoodsType type)
type - The type of Goods being looked for in this container.
public Goods getGoods(GoodsType goodsType)
public int getGoodsCount()
public java.util.Iterator<Goods> getGoodsIterator()
Iterator of every Goods in this
GoodsContainer. Each Goods have a maximum
amount of CARGO_SIZE.
Iterator.getCompactGoods()public java.util.List<Goods> getGoods()
ArrayList containing all
Goods in this GoodsContainer. Each
Goods has a maximum amount of CARGO_SIZE.
ArrayList.getGoodsIterator()public java.util.List<Goods> getCompactGoods()
Iterator of every Goods in this
GoodsContainer. There is only one Goods
for each type of goods.
Iterator.getGoodsIterator()public java.util.List<Goods> getFullGoods()
Iterator of every Goods in this
GoodsContainer. There is only one Goods
for each type of goods.
Iterator.getGoodsIterator()public void saveState()
GoodsContainer for a new turn.
public boolean hasChanged()
public void fireChanges()
protected void toXMLImpl(javax.xml.stream.XMLStreamWriter out,
Player player,
boolean showAll,
boolean toSavedGame)
throws javax.xml.stream.XMLStreamException
Player will
be added to that representation if showAll is
set to false.
toXMLImpl in class FreeColGameObjectout - The target stream.player - The Player this XML-representation
should be made for, or null if
showAll == true.showAll - Only attributes visible to player
will be added to the representation if showAll
is set to false.toSavedGame - If true then information that
is only needed when saving a game is added.
javax.xml.stream.XMLStreamException - if there are any problems writing
to the stream.
private void writeStorage(javax.xml.stream.XMLStreamWriter out,
java.lang.String tag,
java.util.Map<GoodsType,java.lang.Integer> storage)
throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
protected void readFromXMLImpl(javax.xml.stream.XMLStreamReader in)
throws javax.xml.stream.XMLStreamException
readFromXMLImpl in class FreeColObjectin - The input stream with the XML.
javax.xml.stream.XMLStreamException - if a problem was encountered
during parsing.
protected void toXMLPartialImpl(javax.xml.stream.XMLStreamWriter out,
java.lang.String[] fields)
throws javax.xml.stream.XMLStreamException
toXMLPartialImpl in class FreeColObjectout - The target stream.fields - The fields to write.
javax.xml.stream.XMLStreamException - If there are problems writing the stream.
protected void readFromXMLPartialImpl(javax.xml.stream.XMLStreamReader in)
throws javax.xml.stream.XMLStreamException
readFromXMLPartialImpl in class FreeColObjectin - The input stream with the XML.
javax.xml.stream.XMLStreamException - If there are problems reading the stream.public java.lang.String toString()
String representation of this
GoodsContainer.
toString in class FreeColGameObjectpublic static java.lang.String getXMLElementTagName()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||