org.starhope.appius.game
Class SimpleDataEnum<T extends SimpleDataEnum<?>>

java.lang.Object
  extended by org.starhope.appius.util.SimpleDataRecord<T>
      extended by org.starhope.appius.game.SimpleDataEnum<T>
Type Parameters:
T - the child class's type
All Implemented Interfaces:
com.whirlycott.cache.Cacheable, Serializable, Comparable<T>, CTime, DataRecord, HasSubversionRevision
Direct Known Subclasses:
DamageArea

public abstract class SimpleDataEnum<T extends SimpleDataEnum<?>>
extends SimpleDataRecord<T>

This is a base class used to express enumerated values. It enables a simplified form for SQL record loading, as well. This covers the ground for basic types that simply enumerate int:String mappings.

Author:
brpocock@star-hope.org
See Also:
Serialized Form

Field Summary
private  int id
          The value of this enumerated name
private  String name
          The name of this enumeration value
private static long serialVersionUID
          Java serialisation unique ID
 
Fields inherited from class org.starhope.appius.util.SimpleDataRecord
myLoader, timeLastChanged, timeLastSaved
 
Constructor Summary
  SimpleDataEnum(Class<? extends SimpleDataRecord<T>> subclass)
          WRITEME: Document this constructor brpocock@star-hope.org
protected SimpleDataEnum(RecordLoader<T> loader)
          Constructor to be used by derived classes
 
Method Summary
 int getCacheableID()
          Note that all records must have either a numeric ID ( DataRecord.getCacheableID() or a string identifier ( DataRecord.getCacheableIdent() or both.
 String getCacheableIdent()
          Note that all records must have either a numeric ID ( DataRecord.getCacheableID() or a string identifier ( DataRecord.getCacheableIdent() or both.
 int getID()
           
 String getName()
           
 String getSubversionRevision()
           Return the Subversion revision level of this class's source code file, as supplied via the special "$Rev: " sequence.
 void setID(int newID)
           
 void setName(String newName)
           
 
Methods inherited from class org.starhope.appius.util.SimpleDataRecord
changed, checkStale, compareTo, equals, finalize, getRecordLoader, getTimeLastChanged, getTimeLastSaved, hashCode, isBeingLoaded, markAsLoaded, markAsSaved, markForReload, onRemove, onRetrieve, onStore, save, setRecordLoader, toString
 
Methods inherited from class java.lang.Object
clone, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
Java serialisation unique ID

See Also:
Constant Field Values

id

private int id
The value of this enumerated name


name

private String name
The name of this enumeration value

Constructor Detail

SimpleDataEnum

public SimpleDataEnum(Class<? extends SimpleDataRecord<T>> subclass)
WRITEME: Document this constructor brpocock@star-hope.org

Parameters:
subclass -

SimpleDataEnum

protected SimpleDataEnum(RecordLoader<T> loader)
Constructor to be used by derived classes

Parameters:
loader - the record loader
Method Detail

getCacheableID

public int getCacheableID()
                   throws NotFoundException
Description copied from interface: DataRecord
Note that all records must have either a numeric ID ( DataRecord.getCacheableID() or a string identifier ( DataRecord.getCacheableIdent() or both.

Returns:
an unique ID number
Throws:
NotFoundException - if the item doesn't have a distinct numeric ID
See Also:
DataRecord.getCacheableID()

getCacheableIdent

public String getCacheableIdent()
                         throws NotFoundException
Description copied from interface: DataRecord
Note that all records must have either a numeric ID ( DataRecord.getCacheableID() or a string identifier ( DataRecord.getCacheableIdent() or both.

Returns:
an unique identifier string
Throws:
NotFoundException - if the item doesn't have a distinct string identifier
See Also:
DataRecord.getCacheableIdent()

getID

public int getID()
Returns:
the id

getName

public String getName()
Returns:
the name

getSubversionRevision

public String getSubversionRevision()
Description copied from interface: HasSubversionRevision

Return the Subversion revision level of this class's source code file, as supplied via the special "$Rev: " sequence.

As an example,the Subversion revision string for this file is "$Rev: 1968 $"

 
 @Override
 public String getSubversionRevision () {
        return "$Rev: ";
 }
 

Returns:
The Subversion revision level for this class's source code file.
See Also:
HasSubversionRevision.getSubversionRevision()

setID

public void setID(int newID)
Parameters:
newID - the id to set

setName

public void setName(String newName)
Parameters:
newName - the name to set