com.planet_ink.coffee_mud.Libraries
Class CMJournals

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

public class CMJournals
extends StdLibrary
implements JournalsLibrary


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.planet_ink.coffee_mud.Libraries.interfaces.JournalsLibrary
JournalsLibrary.CommandJournal, JournalsLibrary.CommandJournalFlags, JournalsLibrary.ForumJournal, JournalsLibrary.ForumJournalFlags, JournalsLibrary.JournalMetaData, JournalsLibrary.MsgMkrCallback, JournalsLibrary.MsgMkrResolution, JournalsLibrary.SMTPJournal
 
Field Summary
protected  SHashtable<java.lang.String,java.util.List<JournalsLibrary.ForumJournal>> clanForums
           
protected  SHashtable<java.lang.String,JournalsLibrary.CommandJournal> commandJournals
           
protected static java.util.List<JournalsLibrary.ForumJournal> emptyForums
           
protected  SHashtable<java.lang.String,JournalsLibrary.ForumJournal> forumJournals
           
 int QUEUE_SIZE
           
 
Fields inherited from class com.planet_ink.coffee_mud.Libraries.StdLibrary
isDebugging, name, serviceClient, tickStatus
 
Fields inherited from interface com.planet_ink.coffee_mud.Libraries.interfaces.JournalsLibrary
JOURNAL_BOUNDARY
 
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
CMJournals()
           
 
Method Summary
 boolean activate()
          Activates the library.
 boolean canReadMessage(JournalEntry entry, java.lang.String srchMatch, MOB readerM, boolean ignorePrivileges)
           
 void clearJournalSummaryStats(JournalsLibrary.ForumJournal journal)
           
 java.util.Enumeration<JournalsLibrary.CommandJournal> commandJournals()
           
 void expirationJournalSweep()
           
 java.util.Enumeration<JournalsLibrary.ForumJournal> forumJournals()
           
 java.util.Set<java.lang.String> getArchonJournalNames()
           
 java.util.List<JournalsLibrary.ForumJournal> getClanForums(Clan clan)
           
 JournalsLibrary.CommandJournal getCommandJournal(java.lang.String named)
           
 JournalsLibrary.ForumJournal getForumJournal(java.lang.String named)
           
 JournalsLibrary.ForumJournal getForumJournal(java.lang.String named, Clan clan)
           
 JournalsLibrary.JournalMetaData getJournalStats(JournalsLibrary.ForumJournal journal)
           
protected  java.lang.String getMsgMkrHelp(Session sess)
           
 int getNumCommandJournals()
           
 int getNumForumJournals()
           
 java.lang.String getScriptValue(MOB mob, java.lang.String journal, java.lang.String oldValue)
           
protected  java.util.Hashtable<java.lang.String,JournalsLibrary.JournalMetaData> getSummaryStats()
           
 java.lang.String ID()
          The CoffeeMud Java Class ID shared by all instances of this object.
 boolean isArchonJournalName(java.lang.String journal)
           
 int loadCommandJournals(java.lang.String list)
           
 int loadForumJournals(java.lang.String list)
           
 JournalsLibrary.MsgMkrResolution makeMessage(MOB mob, java.lang.String messageTitle, java.util.List<java.lang.String> vbuf, boolean autoAdd)
           
 void makeMessageASync(MOB M, java.lang.String messageTitle, java.util.List<java.lang.String> vbuf, boolean autoAdd, JournalsLibrary.MsgMkrCallback back)
           
 java.util.List<JournalsLibrary.ForumJournal> parseForumJournals(java.lang.String list)
           
 void registerClanForum(Clan clan, java.lang.String allClanForumDefs)
           
 boolean shutdown()
          Shuts down the library.
 boolean subscribeToJournal(java.lang.String journalName, java.lang.String userName, boolean saveMailingList)
           
 boolean tick(Tickable ticking, int tickID)
          this is the method which is called periodically by the threading engine.
 boolean unsubscribeFromJournal(java.lang.String journalName, java.lang.String userName, boolean saveMailingList)
           
 
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

QUEUE_SIZE

public final int QUEUE_SIZE
See Also:
Constant Field Values

commandJournals

protected final SHashtable<java.lang.String,JournalsLibrary.CommandJournal> commandJournals

forumJournals

protected final SHashtable<java.lang.String,JournalsLibrary.ForumJournal> forumJournals

clanForums

protected final SHashtable<java.lang.String,java.util.List<JournalsLibrary.ForumJournal>> clanForums

emptyForums

protected static final java.util.List<JournalsLibrary.ForumJournal> emptyForums
Constructor Detail

CMJournals

public CMJournals()
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

getSummaryStats

protected java.util.Hashtable<java.lang.String,JournalsLibrary.JournalMetaData> getSummaryStats()

getJournalStats

public JournalsLibrary.JournalMetaData getJournalStats(JournalsLibrary.ForumJournal journal)
Specified by:
getJournalStats in interface JournalsLibrary

clearJournalSummaryStats

public void clearJournalSummaryStats(JournalsLibrary.ForumJournal journal)
Specified by:
clearJournalSummaryStats in interface JournalsLibrary

loadCommandJournals

public int loadCommandJournals(java.lang.String list)
Specified by:
loadCommandJournals in interface JournalsLibrary

canReadMessage

public boolean canReadMessage(JournalEntry entry,
                              java.lang.String srchMatch,
                              MOB readerM,
                              boolean ignorePrivileges)
Specified by:
canReadMessage in interface JournalsLibrary

loadForumJournals

public int loadForumJournals(java.lang.String list)
Specified by:
loadForumJournals in interface JournalsLibrary

getClanForums

public java.util.List<JournalsLibrary.ForumJournal> getClanForums(Clan clan)
Specified by:
getClanForums in interface JournalsLibrary

registerClanForum

public void registerClanForum(Clan clan,
                              java.lang.String allClanForumDefs)
Specified by:
registerClanForum in interface JournalsLibrary

parseForumJournals

public java.util.List<JournalsLibrary.ForumJournal> parseForumJournals(java.lang.String list)

getArchonJournalNames

public java.util.Set<java.lang.String> getArchonJournalNames()
Specified by:
getArchonJournalNames in interface JournalsLibrary

isArchonJournalName

public boolean isArchonJournalName(java.lang.String journal)
Specified by:
isArchonJournalName in interface JournalsLibrary

getScriptValue

public java.lang.String getScriptValue(MOB mob,
                                       java.lang.String journal,
                                       java.lang.String oldValue)
Specified by:
getScriptValue in interface JournalsLibrary

getNumCommandJournals

public int getNumCommandJournals()
Specified by:
getNumCommandJournals in interface JournalsLibrary

commandJournals

public java.util.Enumeration<JournalsLibrary.CommandJournal> commandJournals()
Specified by:
commandJournals in interface JournalsLibrary

getCommandJournal

public JournalsLibrary.CommandJournal getCommandJournal(java.lang.String named)
Specified by:
getCommandJournal in interface JournalsLibrary

expirationJournalSweep

public void expirationJournalSweep()

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

getNumForumJournals

public int getNumForumJournals()
Specified by:
getNumForumJournals in interface JournalsLibrary

forumJournals

public java.util.Enumeration<JournalsLibrary.ForumJournal> forumJournals()
Specified by:
forumJournals in interface JournalsLibrary

getForumJournal

public JournalsLibrary.ForumJournal getForumJournal(java.lang.String named)
Specified by:
getForumJournal in interface JournalsLibrary

getForumJournal

public JournalsLibrary.ForumJournal getForumJournal(java.lang.String named,
                                                    Clan clan)
Specified by:
getForumJournal in interface JournalsLibrary

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()

getMsgMkrHelp

protected java.lang.String getMsgMkrHelp(Session sess)

makeMessageASync

public void makeMessageASync(MOB M,
                             java.lang.String messageTitle,
                             java.util.List<java.lang.String> vbuf,
                             boolean autoAdd,
                             JournalsLibrary.MsgMkrCallback back)
Specified by:
makeMessageASync in interface JournalsLibrary

makeMessage

public JournalsLibrary.MsgMkrResolution makeMessage(MOB mob,
                                                    java.lang.String messageTitle,
                                                    java.util.List<java.lang.String> vbuf,
                                                    boolean autoAdd)
                                             throws java.io.IOException
Specified by:
makeMessage in interface JournalsLibrary
Throws:
java.io.IOException

subscribeToJournal

public boolean subscribeToJournal(java.lang.String journalName,
                                  java.lang.String userName,
                                  boolean saveMailingList)
Specified by:
subscribeToJournal in interface JournalsLibrary

unsubscribeFromJournal

public boolean unsubscribeFromJournal(java.lang.String journalName,
                                      java.lang.String userName,
                                      boolean saveMailingList)
Specified by:
unsubscribeFromJournal in interface JournalsLibrary