Class Disaster

    • Field Detail

      • BANKRUPTCY

        public static final java.lang.String BANKRUPTCY
        Bankruptcy occurs if upkeep is enabled and a player is unable to pay for the maintenance of all buildings.
        See Also:
        Constant Field Values
      • natural

        private boolean natural
        Whether this disaster is natural. Defaults to false.
      • numberOfEffects

        private Disaster.Effects numberOfEffects
        The number of effects of this disaster. Defaults to ONE.
      • effects

        private java.util.List<RandomChoice<Effect>> effects
        The effects of this disaster.
    • Constructor Detail

      • Disaster

        public Disaster​(java.lang.String id,
                        Specification specification)
        Create a new disaster.
        Parameters:
        id - The object identifier.
        specification - The Specification to refer to.
    • Method Detail

      • isNatural

        public final boolean isNatural()
        Is this a natural disaster?
        Returns:
        True if this is a natural disaster.
      • getNumberOfEffects

        public final Disaster.Effects getNumberOfEffects()
        Get the number of effects.
        Returns:
        The Effects to apply.
      • getEffects

        public final java.util.List<RandomChoice<Effect>> getEffects()
        Get the random choice list of effects.
        Returns:
        A list of random Effect choices.
      • setEffects

        protected void setEffects​(java.util.List<RandomChoice<Effect>> effects)
        Set the effect list.
        Parameters:
        effects - The new effects list.
      • addEffect

        private void addEffect​(Effect effect)
        Add an effect.
        Parameters:
        effect - The Effect to add.
      • copyIn

        public <T extends FreeColObject> boolean copyIn​(T other)
        Copy another FreeColObject into this one if it is compatible.
        Overrides:
        copyIn in class FreeColSpecObjectType
        Type Parameters:
        T - The FreeColObject subclass of the object to copy in.
        Parameters:
        other - The other object.
        Returns:
        True if the copy in is succesful.
      • writeAttributes

        protected void writeAttributes​(FreeColXMLWriter xw)
                                throws javax.xml.stream.XMLStreamException
        Write the attributes of this object to a stream. To be overridden if required by any object that has attributes and uses the toXML(FreeColXMLWriter, String) call.
        Overrides:
        writeAttributes in class FreeColObject
        Parameters:
        xw - The FreeColXMLWriter to write to.
        Throws:
        javax.xml.stream.XMLStreamException - if there are any problems writing to the stream.
      • writeChildren

        protected void writeChildren​(FreeColXMLWriter xw)
                              throws javax.xml.stream.XMLStreamException
        Write the children of this object to a stream. To be overridden if required by any object that has children and uses the toXML(FreeColXMLWriter, String) call.
        Overrides:
        writeChildren in class FreeColSpecObjectType
        Parameters:
        xw - The FreeColXMLWriter to write to.
        Throws:
        javax.xml.stream.XMLStreamException - if there are any problems writing to the stream.
      • readAttributes

        protected void readAttributes​(FreeColXMLReader xr)
                               throws javax.xml.stream.XMLStreamException
        Reads the attributes of this object from an XML stream.
        Overrides:
        readAttributes in class FreeColSpecObjectType
        Parameters:
        xr - The FreeColXMLReader to read from.
        Throws:
        javax.xml.stream.XMLStreamException - if there is a problem reading the stream.
      • readChildren

        protected void readChildren​(FreeColXMLReader xr)
                             throws javax.xml.stream.XMLStreamException
        Reads the children of this object from an XML stream.
        Overrides:
        readChildren in class FreeColSpecObjectType
        Parameters:
        xr - The FreeColXMLReader to read from.
        Throws:
        javax.xml.stream.XMLStreamException - if there is a problem reading the stream.
      • readChild

        protected void readChild​(FreeColXMLReader xr)
                          throws javax.xml.stream.XMLStreamException
        Reads a single child object. Subclasses must override to read their enclosed elements. This particular instance of the routine always throws XMLStreamException because we should never arrive here. However it is very useful to always call super.readChild() when an unexpected tag is encountered, as the exception thrown here provides some useful debugging context.
        Overrides:
        readChild in class FreeColSpecObjectType
        Parameters:
        xr - The FreeColXMLReader to read from.
        Throws:
        javax.xml.stream.XMLStreamException - if there is a problem reading the stream.
      • getXMLTagName

        public java.lang.String getXMLTagName()
        Get the serialization tag for this object.
        Specified by:
        getXMLTagName in class FreeColObject
        Returns:
        The tag.