net.sf.freecol.common.model
Class FreeColObject

java.lang.Object
  extended by net.sf.freecol.common.model.FreeColObject
Direct Known Subclasses:
AbstractGoods, AbstractOption, AbstractUnit, AIMain, AIObject, DiplomaticTrade, ExportData, Feature, FreeColGameObject, FreeColGameObjectType, HighScore, HistoryEvent, MarketData, ModelMessage, NationOptions, Scope, TradeItem, UnitTypeChange

public abstract class FreeColObject
extends java.lang.Object


Field Summary
static java.lang.String ID_ATTRIBUTE_TAG
           
 
Constructor Summary
FreeColObject()
           
 
Method Summary
 void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
           
 void addPropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
           
 void fireIndexedPropertyChange(java.lang.String propertyName, int index, boolean oldValue, boolean newValue)
           
 void fireIndexedPropertyChange(java.lang.String propertyName, int index, int oldValue, int newValue)
           
 void fireIndexedPropertyChange(java.lang.String propertyName, int index, java.lang.Object oldValue, java.lang.Object newValue)
           
 void firePropertyChange(java.beans.PropertyChangeEvent event)
           
 void firePropertyChange(java.lang.String propertyName, boolean oldValue, boolean newValue)
           
 void firePropertyChange(java.lang.String propertyName, int oldValue, int newValue)
           
 void firePropertyChange(java.lang.String propertyName, java.lang.Object oldValue, java.lang.Object newValue)
           
 boolean getAttribute(javax.xml.stream.XMLStreamReader in, java.lang.String attributeName, boolean defaultValue)
          Return an attribute value or the default value.
 float getAttribute(javax.xml.stream.XMLStreamReader in, java.lang.String attributeName, float defaultValue)
          Return an attribute value or the default value.
 int getAttribute(javax.xml.stream.XMLStreamReader in, java.lang.String attributeName, int defaultValue)
          Return an attribute value or the default value.
 java.lang.String getAttribute(javax.xml.stream.XMLStreamReader in, java.lang.String attributeName, java.lang.String defaultValue)
          Return an attribute value or the default value.
 java.lang.String getId()
          Get the Id value.
 java.beans.PropertyChangeListener[] getPropertyChangeListeners()
           
 java.beans.PropertyChangeListener[] getPropertyChangeListeners(java.lang.String propertyName)
           
static java.lang.String getXMLElementTagName()
          Gets the tag name used to serialize this object, generally the class name starting with a lower case letter.
 boolean hasAbility(java.lang.String id)
          Describe hasAbility method here.
 boolean hasAttribute(javax.xml.stream.XMLStreamReader in, java.lang.String attributeName)
          Return an attribute value or the default value.
 boolean hasListeners(java.lang.String propertyName)
           
 void readFromXML(javax.xml.stream.XMLStreamReader in)
          Initializes this object from an XML-representation of this object, unless the PARTIAL_ATTRIBUTE tag is present which indicates a partial update of an existing object.
 void readFromXMLElement(org.w3c.dom.Element element)
          Initialize this object from an XML-representation of this object.
 void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
           
 void removePropertyChangeListener(java.lang.String propertyName, java.beans.PropertyChangeListener listener)
           
 void toXML(javax.xml.stream.XMLStreamWriter out)
          This method writes an XML-representation of this object to the given stream.
 void toXML(javax.xml.stream.XMLStreamWriter out, Player player)
          This method writes an XML-representation of this object to the given stream.
 void toXML(javax.xml.stream.XMLStreamWriter out, Player player, boolean showAll, boolean toSavedGame)
          This method writes an XML-representation of this object to the given stream.
 org.w3c.dom.Element toXMLElement(org.w3c.dom.Document document)
          This method writes an XML-representation of this object to the given stream.
 org.w3c.dom.Element toXMLElement(Player player, org.w3c.dom.Document document)
          This method writes an XML-representation of this object to the given stream.
 org.w3c.dom.Element toXMLElement(Player player, org.w3c.dom.Document document, boolean showAll, boolean toSavedGame)
          This method writes an XML-representation of this object to the given stream.
 org.w3c.dom.Element toXMLElement(Player player, org.w3c.dom.Document document, boolean showAll, boolean toSavedGame, java.lang.String[] fields)
          This method writes an XML-representation of this object to the given stream.
 org.w3c.dom.Element toXMLElementPartial(org.w3c.dom.Document document, java.lang.String... fields)
          This method writes a partial XML-representation of this object to an element using only the mandatory and specified fields.
 void writeAttribute(javax.xml.stream.XMLStreamWriter out, java.lang.String attributeName, FreeColObject object)
          Write an ID attribute if object is not null.
 void writeFreeColGameObject(FreeColGameObject object, javax.xml.stream.XMLStreamWriter out, Player player, boolean showAll, boolean toSavedGame)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ID_ATTRIBUTE_TAG

public static final java.lang.String ID_ATTRIBUTE_TAG
See Also:
Constant Field Values
Constructor Detail

FreeColObject

public FreeColObject()
Method Detail

getId

public java.lang.String getId()
Get the Id value.

Returns:
a String value

hasAbility

public boolean hasAbility(java.lang.String id)
Describe hasAbility method here.

Parameters:
id - a String value
Returns:
a boolean value

toXMLElement

public org.w3c.dom.Element toXMLElement(org.w3c.dom.Document document)
This method writes an XML-representation of this object to the given stream.

Parameters:
document - The Document.
Returns:
An XML-representation of this object.

toXMLElement

public org.w3c.dom.Element toXMLElement(Player player,
                                        org.w3c.dom.Document document)
This method writes an XML-representation of this object to the given stream.

Only attributes visible to the given Player will be added to that representation if showAll is set to false.

Parameters:
player - The Player this XML-representation should be made for, or null if showAll == true.
document - The Document.
Returns:
An XML-representation of this object.

toXMLElement

public org.w3c.dom.Element toXMLElement(Player player,
                                        org.w3c.dom.Document document,
                                        boolean showAll,
                                        boolean toSavedGame)
This method writes an XML-representation of this object to the given stream.

Only attributes visible to the given Player will be added to that representation if showAll is set to false.

Parameters:
player - The Player this XML-representation should be made for, or null if showAll == true.
document - The Document.
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.
Returns:
An XML-representation of this object.

toXMLElementPartial

public org.w3c.dom.Element toXMLElementPartial(org.w3c.dom.Document document,
                                               java.lang.String... fields)
This method writes a partial XML-representation of this object to an element using only the mandatory and specified fields.

Parameters:
document - The Document.
fields - The fields to write.
Returns:
An XML-representation of this object.

toXMLElement

public org.w3c.dom.Element toXMLElement(Player player,
                                        org.w3c.dom.Document document,
                                        boolean showAll,
                                        boolean toSavedGame,
                                        java.lang.String[] fields)
This method writes an XML-representation of this object to the given stream.

Only attributes visible to the given Player will be added to that representation if showAll is set to false.

Parameters:
player - The Player this XML-representation should be made for, or null if showAll == true.
document - The Document.
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.
fields - An array of field names, which if non-null indicates this should be a partial write.
Returns:
An XML-representation of this object.

toXML

public void toXML(javax.xml.stream.XMLStreamWriter out,
                  Player player,
                  boolean showAll,
                  boolean toSavedGame)
           throws javax.xml.stream.XMLStreamException
This method writes an XML-representation of this object to the given stream.

Only attributes visible to the given Player will be added to that representation if showAll is set to false.

Parameters:
out - 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.
Throws:
javax.xml.stream.XMLStreamException - if there are any problems writing to the stream.

toXML

public void toXML(javax.xml.stream.XMLStreamWriter out,
                  Player player)
           throws javax.xml.stream.XMLStreamException
This method writes an XML-representation of this object to the given stream. Only attributes visible to the given Player will be added to that representation.

Parameters:
out - The target stream.
player - The Player this XML-representation is made for.
Throws:
javax.xml.stream.XMLStreamException - if there are any problems writing to the stream.
See Also:
toXML(XMLStreamWriter, Player, boolean, boolean)

toXML

public void toXML(javax.xml.stream.XMLStreamWriter out)
           throws javax.xml.stream.XMLStreamException
This method writes an XML-representation of this object to the given stream. All attributes will be made visible.

Parameters:
out - The target stream.
Throws:
javax.xml.stream.XMLStreamException - if there are any problems writing to the stream.
See Also:
toXML(XMLStreamWriter, Player, boolean, boolean)

readFromXMLElement

public void readFromXMLElement(org.w3c.dom.Element element)
Initialize this object from an XML-representation of this object.

Parameters:
element - An XML-element that will be used to initialize this object.

readFromXML

public void readFromXML(javax.xml.stream.XMLStreamReader in)
                 throws javax.xml.stream.XMLStreamException
Initializes this object from an XML-representation of this object, unless the PARTIAL_ATTRIBUTE tag is present which indicates a partial update of an existing object.

Parameters:
in - The input stream with the XML.
Throws:
javax.xml.stream.XMLStreamException - if there are any problems writing to the stream.

hasAttribute

public boolean hasAttribute(javax.xml.stream.XMLStreamReader in,
                            java.lang.String attributeName)
Return an attribute value or the default value.

Parameters:
in - a XMLStreamReader value
attributeName - An attribute name
Returns:
an int value

getAttribute

public int getAttribute(javax.xml.stream.XMLStreamReader in,
                        java.lang.String attributeName,
                        int defaultValue)
Return an attribute value or the default value.

Parameters:
in - a XMLStreamReader value
attributeName - An attribute name
defaultValue - an int value
Returns:
an int value

getAttribute

public float getAttribute(javax.xml.stream.XMLStreamReader in,
                          java.lang.String attributeName,
                          float defaultValue)
Return an attribute value or the default value.

Parameters:
in - a XMLStreamReader value
attributeName - An attribute name
defaultValue - a float value
Returns:
an int value

getAttribute

public boolean getAttribute(javax.xml.stream.XMLStreamReader in,
                            java.lang.String attributeName,
                            boolean defaultValue)
Return an attribute value or the default value.

Parameters:
in - a XMLStreamReader value
attributeName - An attribute name
defaultValue - a boolean value
Returns:
an boolean value

getAttribute

public java.lang.String getAttribute(javax.xml.stream.XMLStreamReader in,
                                     java.lang.String attributeName,
                                     java.lang.String defaultValue)
Return an attribute value or the default value.

Parameters:
in - a XMLStreamReader value
attributeName - An attribute name
defaultValue - an String value
Returns:
an String value

writeAttribute

public void writeAttribute(javax.xml.stream.XMLStreamWriter out,
                           java.lang.String attributeName,
                           FreeColObject object)
                    throws javax.xml.stream.XMLStreamException
Write an ID attribute if object is not null.

Parameters:
out - a XMLStreamWriter value
attributeName - a String value
object - a FreeColObject value
Throws:
javax.xml.stream.XMLStreamException - if an error occurs

writeFreeColGameObject

public void writeFreeColGameObject(FreeColGameObject object,
                                   javax.xml.stream.XMLStreamWriter out,
                                   Player player,
                                   boolean showAll,
                                   boolean toSavedGame)
                            throws javax.xml.stream.XMLStreamException
Throws:
javax.xml.stream.XMLStreamException

addPropertyChangeListener

public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)

addPropertyChangeListener

public void addPropertyChangeListener(java.lang.String propertyName,
                                      java.beans.PropertyChangeListener listener)

fireIndexedPropertyChange

public void fireIndexedPropertyChange(java.lang.String propertyName,
                                      int index,
                                      boolean oldValue,
                                      boolean newValue)

fireIndexedPropertyChange

public void fireIndexedPropertyChange(java.lang.String propertyName,
                                      int index,
                                      int oldValue,
                                      int newValue)

fireIndexedPropertyChange

public void fireIndexedPropertyChange(java.lang.String propertyName,
                                      int index,
                                      java.lang.Object oldValue,
                                      java.lang.Object newValue)

firePropertyChange

public void firePropertyChange(java.beans.PropertyChangeEvent event)

firePropertyChange

public void firePropertyChange(java.lang.String propertyName,
                               boolean oldValue,
                               boolean newValue)

firePropertyChange

public void firePropertyChange(java.lang.String propertyName,
                               int oldValue,
                               int newValue)

firePropertyChange

public void firePropertyChange(java.lang.String propertyName,
                               java.lang.Object oldValue,
                               java.lang.Object newValue)

getPropertyChangeListeners

public java.beans.PropertyChangeListener[] getPropertyChangeListeners()

getPropertyChangeListeners

public java.beans.PropertyChangeListener[] getPropertyChangeListeners(java.lang.String propertyName)

hasListeners

public boolean hasListeners(java.lang.String propertyName)

removePropertyChangeListener

public void removePropertyChangeListener(java.beans.PropertyChangeListener listener)

removePropertyChangeListener

public void removePropertyChangeListener(java.lang.String propertyName,
                                         java.beans.PropertyChangeListener listener)

getXMLElementTagName

public static java.lang.String getXMLElementTagName()
Gets the tag name used to serialize this object, generally the class name starting with a lower case letter. This method should be overridden by all subclasses that need to be serialized.

Returns:
null.