com.planet_ink.coffee_mud.Libraries
Class WebMacroCreamer
java.lang.Object
com.planet_ink.coffee_mud.Libraries.StdLibrary
com.planet_ink.coffee_mud.Libraries.WebMacroCreamer
- All Implemented Interfaces:
- CMObject, Tickable, CMLibrary, WebMacroLibrary, com.planet_ink.coffee_web.interfaces.HTTPOutputConverter, com.planet_ink.coffee_web.interfaces.SimpleServlet, java.lang.Cloneable, java.lang.Comparable<CMObject>
public class WebMacroCreamer
- extends StdLibrary
- implements WebMacroLibrary, com.planet_ink.coffee_web.interfaces.SimpleServlet
Field Summary |
protected com.planet_ink.coffee_mud.Libraries.WebMacroCreamer.YahooGroupSession |
yahooSession
|
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 |
Method Summary |
boolean |
activate()
Activates the library. |
java.lang.String |
clearWebMacros(java.lang.String s)
|
java.lang.String |
clearWebMacros(java.lang.StringBuffer s)
|
java.nio.ByteBuffer |
convertOutput(com.planet_ink.coffee_web.util.CWConfig config,
com.planet_ink.coffee_web.interfaces.HTTPRequest request,
java.io.File pageFile,
com.planet_ink.coffee_web.http.HTTPStatus status,
java.nio.ByteBuffer buffer)
|
java.lang.String |
copyYahooGroupMsg(com.planet_ink.coffee_mud.Libraries.WebMacroCreamer.YahooGroupSession sess)
|
java.lang.String |
copyYahooGroupMsgs(java.lang.String user,
java.lang.String password,
java.lang.String url,
int numTimes,
int[] skipList,
java.lang.String journal)
|
void |
doGet(com.planet_ink.coffee_web.interfaces.SimpleServletRequest request,
com.planet_ink.coffee_web.interfaces.SimpleServletResponse response)
|
void |
doPost(com.planet_ink.coffee_web.interfaces.SimpleServletRequest request,
com.planet_ink.coffee_web.interfaces.SimpleServletResponse response)
|
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 |
init()
|
protected java.lang.String |
loginToYahooSession(com.planet_ink.coffee_mud.Libraries.WebMacroCreamer.YahooGroupSession sess)
|
protected int |
myBack(java.lang.StringBuffer s,
int i,
java.lang.String[] lastFoundMacro)
|
protected int |
myElse(java.lang.StringBuffer s,
int i,
int end,
java.lang.String[] lastFoundMacro)
|
protected int |
myEndif(java.lang.StringBuffer s,
int i,
java.lang.String[] lastFoundMacro)
|
protected int |
myNext(java.lang.StringBuffer s,
int i,
java.lang.String[] lastFoundMacro)
|
java.lang.String |
parseFoundMacro(java.lang.StringBuffer s,
int i,
boolean lookOnly)
|
protected java.lang.String |
parseFoundMacro(java.lang.StringBuffer s,
int i,
java.lang.String[] lastFoundMacro,
boolean lookOnly)
|
protected java.lang.String |
runMacro(com.planet_ink.coffee_web.interfaces.HTTPRequest request,
java.lang.String foundMacro,
java.lang.String[] lastFoundMacro,
boolean isAdminServer)
|
void |
service(com.planet_ink.coffee_web.http.HTTPMethod method,
com.planet_ink.coffee_web.interfaces.SimpleServletRequest request,
com.planet_ink.coffee_web.interfaces.SimpleServletResponse response)
|
boolean |
shutdown()
Shuts down the library. |
boolean |
tick(Tickable ticking,
int tickID)
this is the method which is called periodically by the threading engine. |
byte[] |
virtualPageFilter(byte[] data)
|
java.lang.StringBuffer |
virtualPageFilter(com.planet_ink.coffee_web.interfaces.HTTPRequest request,
java.util.Map<java.lang.String,java.lang.Object> objects,
long[] processStartTime,
java.lang.String[] lastFoundMacro,
java.lang.StringBuffer s)
|
java.lang.String |
virtualPageFilter(java.lang.String s)
|
java.lang.StringBuffer |
virtualPageFilter(java.lang.StringBuffer s)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface java.lang.Comparable |
compareTo |
yahooSession
protected com.planet_ink.coffee_mud.Libraries.WebMacroCreamer.YahooGroupSession yahooSession
WebMacroCreamer
public WebMacroCreamer()
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
convertOutput
public java.nio.ByteBuffer convertOutput(com.planet_ink.coffee_web.util.CWConfig config,
com.planet_ink.coffee_web.interfaces.HTTPRequest request,
java.io.File pageFile,
com.planet_ink.coffee_web.http.HTTPStatus status,
java.nio.ByteBuffer buffer)
throws com.planet_ink.coffee_web.http.HTTPException
- Specified by:
convertOutput
in interface com.planet_ink.coffee_web.interfaces.HTTPOutputConverter
- Throws:
com.planet_ink.coffee_web.http.HTTPException
virtualPageFilter
public byte[] virtualPageFilter(byte[] data)
throws HTTPRedirectException
- Specified by:
virtualPageFilter
in interface WebMacroLibrary
- Throws:
HTTPRedirectException
virtualPageFilter
public java.lang.String virtualPageFilter(java.lang.String s)
throws HTTPRedirectException
- Specified by:
virtualPageFilter
in interface WebMacroLibrary
- Throws:
HTTPRedirectException
virtualPageFilter
public java.lang.StringBuffer virtualPageFilter(java.lang.StringBuffer s)
throws HTTPRedirectException
- Specified by:
virtualPageFilter
in interface WebMacroLibrary
- Throws:
HTTPRedirectException
clearWebMacros
public java.lang.String clearWebMacros(java.lang.String s)
- Specified by:
clearWebMacros
in interface WebMacroLibrary
parseFoundMacro
public java.lang.String parseFoundMacro(java.lang.StringBuffer s,
int i,
boolean lookOnly)
- Specified by:
parseFoundMacro
in interface WebMacroLibrary
clearWebMacros
public java.lang.String clearWebMacros(java.lang.StringBuffer s)
- Specified by:
clearWebMacros
in interface WebMacroLibrary
virtualPageFilter
public java.lang.StringBuffer virtualPageFilter(com.planet_ink.coffee_web.interfaces.HTTPRequest request,
java.util.Map<java.lang.String,java.lang.Object> objects,
long[] processStartTime,
java.lang.String[] lastFoundMacro,
java.lang.StringBuffer s)
throws HTTPRedirectException
- Specified by:
virtualPageFilter
in interface WebMacroLibrary
- Throws:
HTTPRedirectException
runMacro
protected java.lang.String runMacro(com.planet_ink.coffee_web.interfaces.HTTPRequest request,
java.lang.String foundMacro,
java.lang.String[] lastFoundMacro,
boolean isAdminServer)
throws HTTPRedirectException,
HTTPServerException
- Throws:
HTTPRedirectException
HTTPServerException
parseFoundMacro
protected java.lang.String parseFoundMacro(java.lang.StringBuffer s,
int i,
java.lang.String[] lastFoundMacro,
boolean lookOnly)
myElse
protected int myElse(java.lang.StringBuffer s,
int i,
int end,
java.lang.String[] lastFoundMacro)
myBack
protected int myBack(java.lang.StringBuffer s,
int i,
java.lang.String[] lastFoundMacro)
myNext
protected int myNext(java.lang.StringBuffer s,
int i,
java.lang.String[] lastFoundMacro)
myEndif
protected int myEndif(java.lang.StringBuffer s,
int i,
java.lang.String[] lastFoundMacro)
init
public void init()
- Specified by:
init
in interface com.planet_ink.coffee_web.interfaces.SimpleServlet
doGet
public void doGet(com.planet_ink.coffee_web.interfaces.SimpleServletRequest request,
com.planet_ink.coffee_web.interfaces.SimpleServletResponse response)
throws com.planet_ink.coffee_web.http.HTTPException
- Specified by:
doGet
in interface com.planet_ink.coffee_web.interfaces.SimpleServlet
- Throws:
com.planet_ink.coffee_web.http.HTTPException
doPost
public void doPost(com.planet_ink.coffee_web.interfaces.SimpleServletRequest request,
com.planet_ink.coffee_web.interfaces.SimpleServletResponse response)
throws com.planet_ink.coffee_web.http.HTTPException
- Specified by:
doPost
in interface com.planet_ink.coffee_web.interfaces.SimpleServlet
- Throws:
com.planet_ink.coffee_web.http.HTTPException
service
public void service(com.planet_ink.coffee_web.http.HTTPMethod method,
com.planet_ink.coffee_web.interfaces.SimpleServletRequest request,
com.planet_ink.coffee_web.interfaces.SimpleServletResponse response)
throws com.planet_ink.coffee_web.http.HTTPException
- Specified by:
service
in interface com.planet_ink.coffee_web.interfaces.SimpleServlet
- Throws:
com.planet_ink.coffee_web.http.HTTPException
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()
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()
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
- Overrides:
getServiceClient
in class StdLibrary
- Returns:
- null, or the TickClient for the service
- See Also:
TickClient
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
- Overrides:
getTickStatus
in class StdLibrary
- 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
- Overrides:
tick
in class StdLibrary
- Parameters:
ticking
- a reference to this Tickable objecttickID
- 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
copyYahooGroupMsg
public java.lang.String copyYahooGroupMsg(com.planet_ink.coffee_mud.Libraries.WebMacroCreamer.YahooGroupSession sess)
loginToYahooSession
protected java.lang.String loginToYahooSession(com.planet_ink.coffee_mud.Libraries.WebMacroCreamer.YahooGroupSession sess)
throws java.io.UnsupportedEncodingException
- Throws:
java.io.UnsupportedEncodingException
copyYahooGroupMsgs
public java.lang.String copyYahooGroupMsgs(java.lang.String user,
java.lang.String password,
java.lang.String url,
int numTimes,
int[] skipList,
java.lang.String journal)
- Specified by:
copyYahooGroupMsgs
in interface WebMacroLibrary