com.planet_ink.coffee_mud.Libraries
Class StdLibrary

java.lang.Object
  extended by com.planet_ink.coffee_mud.Libraries.StdLibrary
All Implemented Interfaces:
CMObject, Tickable, CMLibrary, java.lang.Cloneable, java.lang.Comparable<CMObject>
Direct Known Subclasses:
Achievements, AutoTitles, BeanCounter, CharCreation, Clans, CMAbleComps, CMAbleMap, CMAbleParms, CMCatalog, CMChannels, CMColor, CMEncoder, CMGenEditor, CMJournals, CMLister, CMMap, CMPlayers, CMProtocols, CoffeeFilter, CoffeeLevels, CoffeeMaker, CoffeeShops, CoffeeTables, CoffeeTime, CoffeeUtensils, ColumbiaUniv, CommonMsgs, Dice, DirtyLanguage, EnglishParser, Factions, GroundWired, MUDFight, MUDHelp, MUDLaw, MUDPercolator, MUDTracker, MUDZapper, Polls, Quests, RawCMaterial, Sense, Sessions, SlaveryParser, SMTPclient, Socials, TimsLibrary, WebMacroCreamer, XMLManager

public class StdLibrary
extends java.lang.Object
implements CMLibrary, Tickable


Field Summary
protected  boolean isDebugging
           
protected  java.lang.String name
           
protected  TickClient serviceClient
           
protected  int tickStatus
           
 
Fields inherited from interface com.planet_ink.coffee_mud.core.interfaces.Tickable
STATUS_AFFECT, STATUS_ALIVE, STATUS_BEHAVIOR, STATUS_CLASS, STATUS_DEAD, STATUS_END, STATUS_FIGHT, STATUS_MISC, STATUS_MISC2, STATUS_MISC3, STATUS_MISC4, STATUS_MISC5, STATUS_MISC6, STATUS_MISC7, STATUS_NOT, STATUS_OTHER, STATUS_RACE, STATUS_REBIRTH, STATUS_SCRIPT, STATUS_START, STATUS_WEATHER, TICKID_AREA, TICKID_BEAMWEAPON, TICKID_CLAN, TICKID_CLANITEM, TICKID_DEADBODY_DECAY, TICKID_ELECTRONICS, TICKID_EMAIL, TICKID_EXIT_BEHAVIOR, TICKID_EXIT_REOPEN, TICKID_ITEM_BEHAVIOR, TICKID_ITEM_BOUNCEBACK, TICKID_LIGHT_FLICKERS, TICKID_LIVEAUCTION, TICKID_LONGERMASK, TICKID_MISCELLANEOUS, TICKID_MOB, TICKID_PROPERTY_SPECIAL, TICKID_QUEST, TICKID_READYTOSTOP, TICKID_ROOM_BEHAVIOR, TICKID_ROOM_ITEM_REJUV, TICKID_SOLITARYMASK, TICKID_SPECIALCOMBAT, TICKID_SPECIALMANEUVER, TICKID_SPELL_AFFECT, TICKID_SUPPORT, TICKID_TIMEAUCTION, TICKID_TRAP_DESTRUCTION, TICKID_TRAP_RESET
 
Constructor Summary
StdLibrary()
           
 
Method Summary
 boolean activate()
          Activates the library.
protected  boolean checkDatabase()
           
 int compareTo(CMObject o)
           
 CMObject copyOf()
          Similar to Cloneable.clone(), but does its best to make sure that any internal objects to this class are also copyOfed.
 TickClient getServiceClient()
          If this library has a service thread, this method returns the TickClient object associated with that service.
 int getTickStatus()
          A coded status for this object during the period where its tick method is being called.
 java.lang.String ID()
          The CoffeeMud Java Class ID shared by all instances of this object.
 void initializeClass()
          Called ONCE after all objects are loaded, but before the map is read in during initialization.
 java.lang.String L(java.lang.String str, java.lang.String... xs)
          Localize an internal string -- shortcut.
 java.lang.String name()
          The displayable name of this object.
 CMObject newInstance()
          Returns a new instance of this class.
 void propertiesLoaded()
          This method is called whenever system properties are altered by the user.
 void setThreadStatus(TickClient C, java.lang.String msg)
           
 boolean shutdown()
          Shuts down the library.
 boolean tick(Tickable ticking, int tickID)
          this is the method which is called periodically by the threading engine.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

name

protected java.lang.String name

tickStatus

protected volatile int tickStatus

serviceClient

protected TickClient serviceClient

isDebugging

protected boolean isDebugging
Constructor Detail

StdLibrary

public StdLibrary()
Method Detail

ID

public java.lang.String ID()
Description copied from interface: CMObject
The CoffeeMud Java Class ID shared by all instances of this object. Unlike the Java Class name, this method does not include package information. However, it must return a String value unique to its class category in the ClassLoader. Class categories include Libraries, Common, Areas, Abilities, Behaviors, CharClasses, Commands, Exits Locales, MOBS, Races, WebMacros, Basic Items, Armor, Weapons, ClanItems, Tech. The name is typically identical to the class name.

Specified by:
ID in interface CMObject
Returns:
the name of this class

name

public java.lang.String name()
Description copied from interface: CMObject
The displayable name of this object. May be modified by phyStats() object. Is derived from the Name().

Specified by:
name in interface CMObject
Specified by:
name in interface Tickable
Returns:
the modified final name of this object on the map.
See Also:
Environmental.Name()

newInstance

public CMObject newInstance()
Description copied from interface: CMObject
Returns a new instance of this class.

Specified by:
newInstance in interface CMObject
Returns:
a new instance of this class

copyOf

public CMObject copyOf()
Description copied from interface: CMObject
Similar to Cloneable.clone(), but does its best to make sure that any internal objects to this class are also copyOfed.

Specified by:
copyOf in interface CMObject
Returns:
a clone of this object

compareTo

public int compareTo(CMObject o)
Specified by:
compareTo in interface java.lang.Comparable<CMObject>

L

public java.lang.String L(java.lang.String str,
                          java.lang.String... xs)
Description copied from interface: CMLibrary
Localize an internal string -- shortcut. Same as calling:

Specified by:
L in interface CMLibrary
Parameters:
str - the string to translate
xs - the array of variables to replace
Returns:
the translated string, with all variables in place
See Also:
Call with the string to translate, which may contain variables of the form @x1, @x2, etc. The array in xs is then used to replace the variables AFTER the string is translated.

initializeClass

public void initializeClass()
Description copied from interface: CMObject
Called ONCE after all objects are loaded, but before the map is read in during initialization.

Specified by:
initializeClass in interface CMObject

activate

public boolean activate()
Description copied from interface: CMLibrary
Activates the library. This is called after the mud is booted, but before connections are accepted.

Specified by:
activate in interface CMLibrary
Returns:
true if activation was successful, false if you're screwed
See Also:
CMLibrary.shutdown()

propertiesLoaded

public void propertiesLoaded()
Description copied from interface: CMLibrary
This method is called whenever system properties are altered by the user. This allows the library to react to any important properties they monitor.

Specified by:
propertiesLoaded in interface CMLibrary

shutdown

public boolean shutdown()
Description copied from interface: CMLibrary
Shuts down the library. Called at system shutdown time obviously, but is sometimes called just to reset the library.

Specified by:
shutdown in interface CMLibrary
Returns:
true if shutdown was successful, false if there's nothing you can do about it
See Also:
CMLibrary.activate()

getServiceClient

public TickClient getServiceClient()
Description copied from interface: CMLibrary
If this library has a service thread, this method returns the TickClient object associated with that service. Normally returns null, since most libraries don't set themselves up to receive thread time.

Specified by:
getServiceClient in interface CMLibrary
Returns:
null, or the TickClient for the service
See Also:
TickClient

setThreadStatus

public void setThreadStatus(TickClient C,
                            java.lang.String msg)

getTickStatus

public int getTickStatus()
Description copied from interface: Tickable
A coded status for this object during the period where its tick method is being called. The statis is defined, at least in part, by constants in this interface STATUS_*. STATUS_NOT should be returned when the objects tick method is not currently in execution. It should never return STATUS_NOT when the objects tick method is in execution.

Specified by:
getTickStatus in interface Tickable
Returns:
the numeric status of this object
See Also:
Tickable.tick(Tickable, int)

tick

public boolean tick(Tickable ticking,
                    int tickID)
Description copied from interface: Tickable
this is the method which is called periodically by the threading engine. How often it is called depends on the parameters passed to the threadding engine when it is submitted for thread access. Typically the period is once per TIME_TICK period, but that is determined when the object is submitted to the thread engine.

Specified by:
tick in interface Tickable
Parameters:
ticking - a reference to this Tickable object
tickID - the TICKID_ constant describing this periodic call, as defined in Tickable
Returns:
true always, unless this object no longer wishes to ever tick again, in which case false
See Also:
Tickable, ServiceEngine, TickableGroup

checkDatabase

protected boolean checkDatabase()