com.planet_ink.coffee_mud.Libraries
Class Sessions

java.lang.Object
  extended by com.planet_ink.coffee_mud.Libraries.StdLibrary
      extended by com.planet_ink.coffee_mud.Libraries.Sessions
All Implemented Interfaces:
CMObject, Tickable, CMLibrary, SessionsList, java.lang.Cloneable, java.lang.Comparable<CMObject>

public class Sessions
extends StdLibrary
implements SessionsList


Field Summary
 SLinkedList<Session> all
           
 
Fields inherited from class com.planet_ink.coffee_mud.Libraries.StdLibrary
isDebugging, name, serviceClient, 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
Sessions()
           
 
Method Summary
 boolean activate()
          Activates the library.
 void add(Session s)
           
 java.lang.Iterable<Session> allIterable()
           
 java.lang.Iterable<Session> allIterableAllHosts()
           
 MOB findPlayerOnline(java.lang.String srchStr, boolean exactOnly)
           
 Session findPlayerSessionOnline(java.lang.String srchStr, boolean exactOnly)
           
protected  Session getAllSessionAt(java.util.Iterator<Session> i, int index)
           
protected  int getCount(java.util.Iterator<Session> i)
           
 java.lang.String ID()
          The CoffeeMud Java Class ID shared by all instances of this object.
 boolean isSession(Session s)
           
 java.util.Iterator<Session> localOnline()
           
 java.lang.Iterable<Session> localOnlineIterable()
           
 void moveSessionToCorrectThreadGroup(Session session, int theme)
          Determines the correct thread group for the given theme, and marks the given session appropriately.
 int numLocalOnline()
           
 int numSessions()
           
 void remove(Session s)
           
protected  void sessionCheck()
           
 java.util.Iterator<Session> sessions()
           
 boolean shutdown()
          Shuts down the library.
 void stopSessionAtAllCosts(Session S)
           
 boolean tick(Tickable ticking, int tickID)
          this is the method which is called periodically by the threading engine.
 
Methods inherited from class com.planet_ink.coffee_mud.Libraries.StdLibrary
checkDatabase, compareTo, copyOf, getServiceClient, getTickStatus, initializeClass, L, name, newInstance, propertiesLoaded, setThreadStatus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.planet_ink.coffee_mud.Libraries.interfaces.CMLibrary
getServiceClient, L, propertiesLoaded
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.CMObject
copyOf, initializeClass, name, newInstance
 
Methods inherited from interface java.lang.Comparable
compareTo
 

Field Detail

all

public final SLinkedList<Session> all
Constructor Detail

Sessions

public Sessions()
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
Overrides:
ID in class StdLibrary
Returns:
the name of this class

sessions

public java.util.Iterator<Session> sessions()
Specified by:
sessions in interface SessionsList

allIterable

public java.lang.Iterable<Session> allIterable()
Specified by:
allIterable in interface SessionsList

localOnline

public java.util.Iterator<Session> localOnline()
Specified by:
localOnline in interface SessionsList

localOnlineIterable

public java.lang.Iterable<Session> localOnlineIterable()
Specified by:
localOnlineIterable in interface SessionsList

numSessions

public int numSessions()
Specified by:
numSessions in interface SessionsList

allIterableAllHosts

public java.lang.Iterable<Session> allIterableAllHosts()
Specified by:
allIterableAllHosts in interface SessionsList

numLocalOnline

public int numLocalOnline()
Specified by:
numLocalOnline in interface SessionsList

getCount

protected int getCount(java.util.Iterator<Session> i)

getAllSessionAt

protected Session getAllSessionAt(java.util.Iterator<Session> i,
                                  int index)

add

public void add(Session s)
Specified by:
add in interface SessionsList

remove

public void remove(Session s)
Specified by:
remove in interface SessionsList

isSession

public boolean isSession(Session s)
Specified by:
isSession in interface SessionsList

stopSessionAtAllCosts

public void stopSessionAtAllCosts(Session S)
Specified by:
stopSessionAtAllCosts in interface SessionsList

sessionCheck

protected void sessionCheck()

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
Overrides:
activate in class StdLibrary
Returns:
true if activation was successful, false if you're screwed
See Also:
CMLibrary.shutdown()

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
Overrides:
tick in class StdLibrary
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

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
Overrides:
shutdown in class StdLibrary
Returns:
true if shutdown was successful, false if there's nothing you can do about it
See Also:
CMLibrary.activate()

findPlayerOnline

public MOB findPlayerOnline(java.lang.String srchStr,
                            boolean exactOnly)
Specified by:
findPlayerOnline in interface SessionsList

findPlayerSessionOnline

public Session findPlayerSessionOnline(java.lang.String srchStr,
                                       boolean exactOnly)
Specified by:
findPlayerSessionOnline in interface SessionsList

moveSessionToCorrectThreadGroup

public void moveSessionToCorrectThreadGroup(Session session,
                                            int theme)
Description copied from interface: SessionsList
Determines the correct thread group for the given theme, and marks the given session appropriately.

Specified by:
moveSessionToCorrectThreadGroup in interface SessionsList
Parameters:
session - the session to move
theme - the theme of the group to assign it to