Class shieldSpec

java.lang.Object
name.moore.kevin.ze.XMLdata.XMLbase
name.moore.kevin.ze.XMLdata.specs.shieldSpec

public class shieldSpec extends XMLbase
The read-only blueprint (eg "S01") for a particular type of shield. These properties are fixed and thus have no setter methods since there is no in-game reason to change them or create them. Objects are initialised by loading XML via XStream.
Author:
Kevin Moore <dev@kevin.moore.name>
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private Integer
    The base number of days to construct this shield.
    private org.jscience.physics.amount.Amount<javax.measure.quantity.Energy>
    The maximum amount of energy that the shield can absorb per game-tick to function.
    private static org.slf4j.Logger
     
    private org.jscience.physics.amount.Amount<javax.measure.quantity.Mass>
    Mass of the component in kilogrammes.
    private org.jscience.physics.amount.Amount<org.jscience.economics.money.Money>
    The base cost of constructing this item.
    private int
    The size of this shield.

    Fields inherited from class name.moore.kevin.ze.XMLdata.XMLbase

    key
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
     
    org.jscience.physics.amount.Amount<javax.measure.quantity.Energy>
     
    Derived classes have to override this and say what class eg engine.class they are.
    org.jscience.physics.amount.Amount<javax.measure.quantity.Mass>
     
    org.jscience.physics.amount.Amount<org.jscience.economics.money.Money>
     
    int
     
    protected Object
    Called automatically when loading from XML as part of JDK serialisation.

    Methods inherited from class name.moore.kevin.ze.XMLdata.XMLbase

    defaultXMLmessage, duplicatedXMLmessage, getDescription, getKey, getSpec, missingXMLmessage

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • LOGGER

      private static final org.slf4j.Logger LOGGER
    • size

      private int size
      The size of this shield.

      This takes up space in the hull and limits what can be installed into which bay in the hull.

      Optional element in XML <size>. Defaulted to one.
    • money

      @XStreamConverter(SingleValueMoneyConverter.class) private org.jscience.physics.amount.Amount<org.jscience.economics.money.Money> money
      The base cost of constructing this item.

      This may be modified by factors considered in the construction logic. It is always an exact value, no decimals.

      Optional element in XML <money>. Defaults to zero if not provided.
    • daystobuild

      private Integer daystobuild
      The base number of days to construct this shield.

      This value may be changed by construction systems which take into account things such as a damaged factory.

      Optional element in XML <daystobuild>. Defaults to 1.
    • mass

      @XStreamConverter(SingleValueMassConverter.class) private org.jscience.physics.amount.Amount<javax.measure.quantity.Mass> mass
      Mass of the component in kilogrammes. Required XML <mass>100000 t</mass>
    • energy

      @XStreamConverter(SingleValueEnergyConverter.class) private org.jscience.physics.amount.Amount<javax.measure.quantity.Energy> energy
      The maximum amount of energy that the shield can absorb per game-tick to function.

      The amount of energy a shield can absorb relates to how much energy is being provided to it by an engine. The more provided to stronger the shield. This is a maximum that can be transferred to this shield.

      Required XML element <energy>10 GJ></energy>
  • Constructor Details

    • shieldSpec

      public shieldSpec()
  • Method Details

    • getSize

      public int getSize()
      Returns:
    • getMoney

      public org.jscience.physics.amount.Amount<org.jscience.economics.money.Money> getMoney()
      Returns:
    • getDaystobuild

      public Integer getDaystobuild()
      Returns:
    • getMass

      public org.jscience.physics.amount.Amount<javax.measure.quantity.Mass> getMass()
      Returns:
    • getEnergy

      public org.jscience.physics.amount.Amount<javax.measure.quantity.Energy> getEnergy()
      Returns:
    • readResolve

      protected Object readResolve()
      Description copied from class: XMLbase
      Called automatically when loading from XML as part of JDK serialisation.

      Used to do some validation of that incoming XML by asserting that properties are set and have defaults as required. Output warning messages if a default is applied. Output error messages if a required XML element is missing and return null to indicate an invalid object.

      Overrides:
      readResolve in class XMLbase
      Returns:
      null if we can't create a valid object
    • getEntityClass

      public Class getEntityClass()
      Description copied from class: XMLbase
      Derived classes have to override this and say what class eg engine.class they are. This allows us to use this base class but discover the derived class.
      Specified by:
      getEntityClass in class XMLbase
      Returns: