com.planet_ink.coffee_mud.Libraries.interfaces
Interface DatabaseEngine

All Superinterfaces:
java.lang.Cloneable, CMLibrary, CMObject, java.lang.Comparable<CMObject>
All Known Implementing Classes:
DBInterface

public interface DatabaseEngine
extends CMLibrary

Not really much point in saying a lot here. This has all the methods most closely related to reading from, writing to, and updating the database. That's all there is to it.


Nested Class Summary
static interface DatabaseEngine.AckRecord
          Table category: DBRACE, DBCHARCLASS, DBABILITY A data record for a generic race or class or generic ability.
static interface DatabaseEngine.AckStats
          Table category: DBRACE A record of the creation timstamp for a generic race
static class DatabaseEngine.DatabaseTables
          An enum of all the database table types.
static interface DatabaseEngine.PlayerData
          Table category: DBPLAYERDATA A record of Data information from the database.
static interface DatabaseEngine.PollData
          Table category: DBPOLLS Raw record entry for the DBPOLLS table, where each record represents an entire poll and all of its results.
 
Method Summary
 void addBackLogEntry(java.lang.String channelName, java.lang.String entry)
          Table category: DBBACKLOG Adds a CHANNEL message to the backlog table
 int DBCountJournal(java.lang.String journalID, java.lang.String from, java.lang.String to)
          Table category: DBJOURNALS Returns the number of messages found in the given journal optionally sent from the given user name, and/or optionally to the given user name.
 int DBCountPlayerData(java.lang.String section)
          Table category: DBPLAYERDATA Counts the number of rows of data/entries per section.
 int DBCountPlayerData(java.lang.String playerID, java.lang.String section)
          Table category: DBPLAYERDATA Counts the number of rows of data/entries
 int[] DBCountRoomMobsItems(java.lang.String roomID)
          Table category: DBMAP Counts the number of mobs and items in the room according to the database, and returns the counts as a numeric array where the first element is the number of mobs and the second the number of items.
 void DBCreateAbility(java.lang.String classID, java.lang.String typeClass, java.lang.String data)
          Table category: DBABILITY Creates a new entry in the generic ability (CMGAAC) table with the given unique ID and xml definition data.
 void DBCreateAccount(PlayerAccount account)
          Table category: DBPLAYERS Inserts a new row into the account record in the database.
 void DBCreateArea(Area A)
          Table category: DBMAP Creates a new area record in the database.
 void DBCreateCharacter(MOB mob)
          Table category: DBPLAYERS Creates the character record for the given mob in the CMCHAR table in the database, and updates the account record if any.
 void DBCreateClan(Clan C)
          Table category: DBCLANS Creates the given clan in the database.
 void DBCreateClass(java.lang.String classID, java.lang.String data)
          Table category: DBCHARCLASS Creates a new entry in the generic charclasses (CMCCAC) table with the given unique ID and xml definition data.
 DatabaseEngine.PlayerData DBCreatePlayerData(java.lang.String player, java.lang.String section, java.lang.String key, java.lang.String data)
          Table category: DBPLAYERDATA Creates a single player data entry.
 void DBCreatePoll(java.lang.String name, java.lang.String player, java.lang.String subject, java.lang.String description, java.lang.String optionXML, int flag, java.lang.String qualZapper, java.lang.String results, long expiration)
          Table category: DBPOLLS Creates a new poll in the DBPOLLS table.
 void DBCreateRace(java.lang.String raceID, java.lang.String data)
          Table category: DBRACE Creates a new entry in the generic races (CMGRAC) table with the given unique ID and xml definition data.
 void DBCreateRoom(Room room)
          Table category: DBMAP Creates the basic room object entry in the data.
 boolean DBCreateStat(long startTime, long endTime, java.lang.String data)
          Table category: DBSTATS Creates a days worth of stats in the CMSTAT table in the database.
 void DBCreateThisItem(java.lang.String roomID, Item thisItem)
          Table category: DBMAP Inserts the given item into the given room id in the database, regardless of its worthiness to be there.
 void DBCreateThisMOB(java.lang.String roomID, MOB thisMOB)
          Table category: DBMAP Inserts the given mob into the given room id in the database, regardless of its worthiness to be there.
 void DBCreateVFSFile(java.lang.String filename, int bits, java.lang.String creator, long updateTime, java.lang.Object data)
          Table category: DBVFS Creates a new file in the DBFS filesystem stored in the CBVFS table.
 void DBDeleteAbility(java.lang.String classID)
          Removes a generic ability from the CMGAAC table.
 void DBDeleteAccount(PlayerAccount account)
          Table category: DBPLAYERS Removes only the given account from the database.
 void DBDeleteAllPlayerData(java.lang.String name)
          Table category: DBPLAYERDATA Deletes all player data belonging to the player, of all types and sections, all over.
 void DBDeleteArea(Area A)
          Table category: DBMAP Removes the given area record from the database.
 void DBDeleteAreaAndRooms(Area A)
          Table category: DBMAP Removes the given area record from the database.
 void DBDeleteClan(Clan C)
          Table category: DBCLANS Removes the given clan, all of its items and records, membership, and everything about it from the database.
 void DBDeleteClass(java.lang.String classID)
          Table category: DBCHARCLASS Removes a generic charclass from the CMCCAC table.
 void DBDeleteItem(java.lang.String roomID, Item item)
          Table category: DBMAP Removes the given item, and only the given item, from the database records for the given room id.
 void DBDeleteJournal(java.lang.String journalID, java.lang.String msgKeyOrNull)
          Table category: DBJOURNALS Deletes enter a specific message, or all messages, from the given journal.
 void DBDeleteMOB(java.lang.String roomID, MOB mob)
          Table category: DBMAP Removes the given mob, and only the given mob, from the database records for the given room id.
 void DBDeletePlayerData(java.lang.String playerID, java.lang.String section)
          Table category: DBPLAYERDATA Deletes all of the data for the given player of the given section/type.
 void DBDeletePlayerData(java.lang.String playerID, java.lang.String section, java.lang.String key)
          Table category: DBPLAYERDATA Deletes what is probably a single player data entry, but could be more.
 void DBDeletePlayerOnly(java.lang.String mobName)
          Table category: DBPLAYERS Removes the character and clan affiliation records from the database and nothing else.
 void DBDeletePlayerPrivateJournalEntries(java.lang.String name)
          Table category: DBJOURNALS This message deletes all private messages with the given user id as a recipient.
 void DBDeletePlayerSectionData(java.lang.String section)
          Table category: DBPLAYERDATA Deletes all player data of the given section/type.
 void DBDeletePoll(java.lang.String name)
          Table category: DBPOLLS Deletes a poll, and all its options and results, forever.
 void DBDeleteRace(java.lang.String raceID)
          Table category: DBRACE Removes a generic race from the CMGRAC table.
 void DBDeleteRoom(Room room)
          Table category: DBMAP Deletes the room and all of its exits and contents from the database entirely.
 void DBDeleteStat(long startTime)
          Table category: DBSTATS Deletes a days worth of stats from the CMSTAT table in the database.
 void DBDeleteVFSFile(java.lang.String filename)
          Table category: DBVFS Deletes a file from the DBFS in the DBVFS table.
 java.util.List<java.lang.String> DBExpiredCharNameSearch(java.util.Set<java.lang.String> skipNames)
          Table category: DBPLAYERS If this system uses the character expiration system, then this method will scan all the players for expired characters, and return the list of names, or an empty list if there are none.
 Pair<java.lang.String,java.lang.Boolean> DBFetchEmailData(java.lang.String name)
          Table category: DBPLAYERS Returns the email address and autoforward flag for the player with the given name.
 Clan.MemberRecord DBGetClanMember(java.lang.String clan, java.lang.String name)
          Table category: DBCLANS Reads information about a single clan member of the given exact name from the clan of the given exact name.
 java.lang.String DBGetRealJournalName(java.lang.String possibleName)
          Table category: DBJOURNALS A silly function that queries the database for a journal of the given exact name, and if it is found, it returns it, otherwise it returns null.
 java.lang.String DBIsAreaName(java.lang.String name)
          Table category: DBMAP Checks for the database for an area with approximately the given name, returning the correct name if found, false otherwise.
 long[] DBJournalLatestDateNewerThan(java.lang.String journalID, java.lang.String to, long olderTime)
          Table category: DBJOURNALS This method returns a two dimensional array, where the first long is the update timestamp of the latest message in the journal, optionally to the given recipient, and the second long is the number of messages found that are newer than the given timestamp.
 java.util.List<PlayerAccount> DBListAccounts(java.lang.String mask)
          Table category: DBPLAYERS Populates and returns a list of player account objects that match the given lowercase substring.
 java.lang.String DBPlayerEmailSearch(java.lang.String email)
          Table category: DBPLAYERS Returns the name of the player with the given email address.
 void DBPlayerNameChange(java.lang.String oldName, java.lang.String newName)
          Table category: DBPLAYERS Renames all player records belonging to the old name to the new name.
 void DBPruneOldRaces()
          Table category: DBRACE Deletes entries in the generic race (CMGRAC) table that are older than RACEEXPIRATIONDAYS old (see ini file).
 int DBRawExecute(java.lang.String sql)
          Executes an arbitrary SQL statement against your main database and returns the response number/code.
 java.util.List<java.lang.String[]> DBRawQuery(java.lang.String sql)
          Executes an arbitrary SQL query against your main database and returns the results as a list of string arrays, where each array is a row, and each column is a column from the query.
 java.util.List<DatabaseEngine.AckRecord> DBReadAbilities()
          Table category: DBABILITY Reads all records from the CMGAAC table and returns the AckRecord for all of them in a list, to do with as you please.
 PlayerAccount DBReadAccount(java.lang.String Login)
          Table category: DBPLAYERS Loads an account with the given name from the database, populates a playeraccount object, and returns it.
 java.util.List<Clan> DBReadAllClans()
          Table category: DBCLANS Reads the entire list of clans, not including their stored items.
 java.util.List<DatabaseEngine.PlayerData> DBReadAllPlayerData(java.lang.String playerID)
          Table category: DBPLAYERDATA Just as it says, this method reads all player data, which is the only way to get all bank data at the same time, for example.
 void DBReadAllRooms(RoomnumberSet roomsToRead)
          Table category: DBMAP This method does a conventional boot load of all rooms and areas in the given set, including exits and content.
 void DBReadAreaData(Area A)
          Table category: DBMAP Reloads the basic data of the given area, with a prefilled Name.
 boolean DBReadAreaFull(java.lang.String areaName)
          Table category: DBMAP Reloads the given area by exact Name.
 Area DBReadAreaObject(java.lang.String areaName)
          Table category: DBMAP Reloads the basic data of the given area by exact Name.
 RoomnumberSet DBReadAreaRoomList(java.lang.String areaName, boolean reportStatus)
          Table category: DBMAP Reads all the room numbers for the area with the given name from the database and returns a compressed roomnumberset object.
 void DBReadArtifacts()
          Table category: DBPLAYERDATA Initializes the artifact ability tickers by reading them from the CMPDAT table, creating a Prop_Artifact ability, and setting it to start ticking.
 void DBReadCatalogs()
          Table category: DBMAP Loads both the mob and item catalogs into the catalog library.
 void DBReadClanItems(java.util.Map<java.lang.String,Clan> clans)
          Table category: DBCLANS Reads the entire list of clan items, and uses the map to get the clan object, and then adds the given item to both the clan object and to the World.
 java.util.List<Clan.MemberRecord> DBReadClanMembers(java.lang.String clan)
          Table category: DBCLANS Given an exact clan name, this method returns the entire membership as MemberRecords.
 java.util.List<DatabaseEngine.AckRecord> DBReadClasses()
          Table category: DBCHARCLASS Reads all records from the CMCCAC table and returns the AckRecord for all of them in a list, to do with as you please.
 void DBReadContent(java.lang.String roomID, Room thisRoom, boolean makeLive)
          Table category: DBMAP This method is used to load the content (items and mobs) of the given room id into the given room object, and optionally activate the contents to live use.
 void DBReadFollowers(MOB mob, boolean bringToLife)
          Table category: DBPLAYERS Loads the followers of the given mob and optionally brings them to life.
 JournalEntry DBReadJournalEntry(java.lang.String journalID, java.lang.String messageKey)
          Table category: DBJOURNALS Reads an individual message from the given journal by its message key.
 void DBReadJournalMetaData(java.lang.String journalID, JournalsLibrary.JournalMetaData metaData)
          Table category: DBJOURNALS Takes an empty JournalMetaData object, and the journal NAME and fills in the rest by querying the database.
 java.util.List<JournalEntry> DBReadJournalMsgsByCreateDate(java.lang.String journalID, boolean ascending)
          Table category: DBJOURNALS Returns all the messages in the given journal, optionally sorted by create date, ascending.
 java.util.List<JournalEntry> DBReadJournalMsgsByCreateDate(java.lang.String journalID, boolean ascending, int limit)
          Table category: DBJOURNALS Returns a limited number of messages from the given journal, optional sorted by create date, ascending.
 java.util.List<JournalEntry> DBReadJournalMsgsByCreateDate(java.lang.String journalID, boolean ascending, int limit, java.lang.String[] tos)
          Table category: DBJOURNALS Returns a limited number of messages from the given journal, optionally sorted by create date, ascending, but only those marked as TO the given string array.
 java.util.List<JournalEntry> DBReadJournalMsgsByUpdateDate(java.lang.String journalID, boolean ascending)
          Table category: DBJOURNALS Returns all the messages in the given journal, optionally sorted by update date, ascending.
 java.util.List<JournalEntry> DBReadJournalMsgsByUpdateDate(java.lang.String journalID, boolean ascending, int limit)
          Table category: DBJOURNALS Returns a limited number of messages from the given journal, optional sorted by update date, ascending.
 java.util.List<JournalEntry> DBReadJournalMsgsByUpdateDate(java.lang.String journalID, boolean ascending, int limit, java.lang.String[] tos)
          Table category: DBJOURNALS Returns a limited number of messages from the given journal, optionally sorted by update date, ascending, but only those marked as TO the given string array.
 java.util.List<JournalEntry> DBReadJournalMsgsNewerThan(java.lang.String journalID, java.lang.String to, long olderDate)
          Table category: DBJOURNALS Returns all the messages optionally sent to the given user (or ALL) that are newer than the given date.
 java.util.List<JournalEntry> DBReadJournalMsgsOlderThan(java.lang.String journalID, java.lang.String to, long newestDate)
          Table category: DBJOURNALS Returns all the messages optionally sent to the given user (or ALL) that are older than the given date.
 java.util.List<JournalEntry> DBReadJournalPageMsgs(java.lang.String journalID, java.lang.String parent, java.lang.String searchStr, long newerDate, int limit)
          Table category: DBJOURNALS Returns a window of messages from the given journal, either primary messages or replies to messages, sorted by date, that matches a search, and can be limited, and older (or newer) than a given timestamp.
 java.util.List<java.lang.String> DBReadJournals()
          Table category: DBJOURNALS Returns the list of every journalID in the database that has at least one message, or an intro.
 MOB DBReadPlayer(java.lang.String name)
          Table category: DBPLAYERS Reads and populates a player MOB object from the database.
 java.util.List<DatabaseEngine.PlayerData> DBReadPlayerData(java.lang.String player, java.util.List<java.lang.String> sections)
          Table category: DBPLAYERDATA Reads in all data for the given player which also belongs to any one of the given sections/data types.
 java.util.List<DatabaseEngine.PlayerData> DBReadPlayerData(java.lang.String playerID, java.lang.String section)
          Table category: DBPLAYERDATA Read a specific set of data for the given player, belonging to the given section
 java.util.List<DatabaseEngine.PlayerData> DBReadPlayerData(java.lang.String playerID, java.lang.String section, java.lang.String key)
          Table category: DBPLAYERDATA Reads what is probably a single player data entry, but could be more.
 java.util.List<java.lang.String> DBReadPlayerDataAuthorsBySection(java.lang.String section)
          Table category: DBPLAYERDATA Returns the list of unique authors for a given section
 java.util.List<DatabaseEngine.PlayerData> DBReadPlayerDataByKeyMask(java.lang.String section, java.lang.String keyMask)
          Table category: DBPLAYERDATA Reads a list of data entries in a given section and selecting keys by a regular expression.
 java.util.List<DatabaseEngine.PlayerData> DBReadPlayerDataEntry(java.lang.String key)
          Table category: DBPLAYERDATA Reads what is probably a single player data entry, but could be more?
 java.util.List<java.lang.String> DBReadPlayerDataPlayersBySection(java.lang.String section)
          Table category: DBPLAYERDATA Reads in all unique player names for all players for the given data type/section.
 java.util.List<DatabaseEngine.PlayerData> DBReadPlayerSectionData(java.lang.String section)
          Table category: DBPLAYERDATA Reads in all player data for all players for the given data type/section.
 DatabaseEngine.PollData DBReadPoll(java.lang.String name)
          Table category: DBPOLLS Reads the raw data for a specific poll of a given name.
 java.util.List<DatabaseEngine.PollData> DBReadPollList()
          Table category: DBPOLLS Reads the raw data for all the polls from DBPOLLs table.
 java.util.List<Quest> DBReadQuests()
          Table category: DBQUEST Reads all the Quest objects from the database and returns them as a list.
 java.util.List<DatabaseEngine.AckRecord> DBReadRaces()
          Table category: DBRACE Reads all records from the CMGRAC table and returns the AckRecord for all of them in a list, to do with as you please.
 Room DBReadRoom(java.lang.String roomID, boolean reportStatus)
          Table category: DBMAP Permanently Loads and returns a single Room object, without populating its contents yet.
 java.lang.String DBReadRoomDesc(java.lang.String roomID)
          Table category: DBMAP Reads the room description of the given room id and returns it.
 void DBReadRoomExits(java.lang.String roomID, Room room, boolean reportStatus)
          Table category: DBMAP Reads the exits of the room with the given room id and populates them into the given room object.
 java.lang.String DBReadRoomMOBMiscText(java.lang.String roomID, java.lang.String mobID)
          Table category: DBMAP Given a specific room id, and a specific mob id for that room (this is a unique coded string found only in the db, and loaded as the database id), this method returns the misctext for the mob.
 Room DBReadRoomObject(java.lang.String roomIDtoLoad, boolean reportStatus)
          Table category: DBMAP Read the Room object of the given roomID and returns the object.
 Room[] DBReadRoomObjects(java.lang.String areaName, boolean reportStatus)
          Table category: DBMAP Reads all the Room objects in the given area name and returns them as an array of rooms.
 void DBReadSpace()
          Table category: DBMAP Logs all the items in outer space into the space map
 CoffeeTableRow DBReadStat(long startTime)
          Table category: DBSTATS Reads a days worth of stats from the CMSTAT table in the database.
 java.util.List<CoffeeTableRow> DBReadStats(long startTime, long endTime)
          Table category: DBSTATS Read all or a group of statistic rows within a time range.
 CMFile.CMVFSDir DBReadVFSDirectory()
          Table category: DBVFS Reads the root of the VFS (DBFS) database filesystem.
 CMFile.CMVFSFile DBReadVFSFile(java.lang.String filename)
          Table category: DBVFS Reads the complete DBFS file record for the given filepath.
 void DBReCreate(Room room, java.lang.String oldID)
          Table category: DBMAP Changes the room ID of the given room in the database by updating all of the records with the old room id to instead use the new room id of the room given.
 DatabaseEngine.PlayerData DBReCreatePlayerData(java.lang.String name, java.lang.String section, java.lang.String key, java.lang.String xml)
          Table category: DBPLAYERDATA Creates or Updates a single player data entry.
 boolean DBReReadRoomData(Room room)
          Table category: DBMAP Reloads the title, description, affects, and other internal fields of the given room.
 java.util.List<MOB> DBScanFollowers(java.lang.String mobName)
          Table category: DBPLAYERS Queries and creates mob objects for all the followers of the player with the given name and returns the list.
 java.util.List<Pair<java.lang.String,java.lang.Integer>>[][] DBScanPrideAccountWinners(int topThisMany, short scanCPUPercent)
          Table category: DBPLAYERS Re-builds the entire top-10 account tables from the database.
 java.util.List<Pair<java.lang.String,java.lang.Integer>>[][] DBScanPridePlayerWinners(int topThisMany, short scanCPUPercent)
          Table category: DBPLAYERS Re-builds the entire top-10 player tables from the database.
 java.util.List<JournalEntry> DBSearchAllJournalEntries(java.lang.String journalID, java.lang.String searchStr)
          Table category: DBJOURNALS Searches all the messages in the journal for the search string as a (typically) case-insensitive substring of either the subject or the message text.
 void DBTouchJournalMessage(java.lang.String messageKey)
          Table category: DBJOURNALS Updates the given journal message with an update time of the current date/timestamp.
 void DBTouchJournalMessage(java.lang.String messageKey, long newDate)
          Table category: DBJOURNALS Updates the given journal message with a specific update time of the given date/timestamp
 void DBUpdateAccount(PlayerAccount account)
          Table category: DBPLAYERS Updates an existing account record in the database by altering its key fields in the existing record.
 void DBUpdateArea(java.lang.String areaID, Area A)
          Table category: DBMAP Updates the area record in the database with the given areaID with the data from the given area object.
 void DBUpdateClan(Clan C)
          Table category: DBCLANS Updates the given clan objects record in the database.
 void DBUpdateClanDonates(java.lang.String clan, java.lang.String name, double adjGold, int adjXP)
          Table category: DBCLANS Updates the clan-donation counts for the clan member of the given exact name for the given exact clan
 void DBUpdateClanItems(Clan C)
          Table category: DBCLANS Updates the external clan items in the database for the given clan by deleting all the records and re-inserting them.
 void DBUpdateClanKills(java.lang.String clan, java.lang.String name, int adjMobKills, int adjPlayerKills)
          Table category: DBCLANS Updates the clan-kill counts for the clan member of the given exact name for the given exact clan
 void DBUpdateClanMembership(java.lang.String name, java.lang.String clan, int role)
          Table category: DBCLANS Updates the Role of the clan member of the given exact name for the given exact clan.
 void DBUpdateEmail(MOB mob)
          Table category: DBPLAYERS Updates the email address of the given player in the database.
 void DBUpdateExits(Room room)
          Table category: DBMAP Resaves the given rooms exit objects, and linkages to other rooms.
 void DBUpdateFollowers(MOB mob)
          Table category: DBPLAYERS This method deletes and re-saves the non-player npc followers of the given player mob.
 void DBUpdateItem(java.lang.String roomID, Item item)
          Table category: DBMAP Assuming the given item is savable, this method will update the database record for the given item in the given room by deleting the item from the room's database record and re-creating it in it.
 void DBUpdateItems(Room room)
          Table category: DBMAP Updates all of the savable items in the given room by removing all item records from the database and re-inserting all of the current item records back in.
 void DBUpdateJournal(java.lang.String journalID, JournalEntry entry)
          Table category: DBJOURNALS Updates the entire database record for the given journal entry, which must have already been created.
 void DBUpdateJournal(java.lang.String messageKey, java.lang.String subject, java.lang.String msg, long newAttributes)
          Table category: DBJOURNALS Updates the existing journal message record in the database.
 void DBUpdateJournalMessageViews(java.lang.String messageKey, int views)
          Table category: DBJOURNALS Sets the number of views for the given specific journal message.
 void DBUpdateJournalMetaData(java.lang.String journalID, JournalsLibrary.JournalMetaData metaData)
          Table category: DBJOURNALS Primarily for forum journals, this method updates all of the given meta data, such as the intro, and so forth by deleting the old record and re-inserting it into the database.
 void DBUpdateMessageReplies(java.lang.String messageKey, int numReplies)
          Table category: DBJOURNALS For forum journals, updates the number of replies registered with the parent message represented by the given message Key.
 void DBUpdateMOB(java.lang.String roomID, MOB mob)
          Table category: DBMAP Assuming the given mob is savable, this method will update the database record for the given mob in the given room by deleting the mob from the room's database record and re-creating him in it.
 void DBUpdateMOBs(Room room)
          Table category: DBMAP Deletes all mobs from the given room from the database and then adds all mobs currently in the room which are savable back to the database.
 void DBUpdatePassword(java.lang.String name, java.lang.String password)
          Table category: DBPLAYERS Updates the password of the given player in the database.
 void DBUpdatePlayer(MOB mob)
          Table category: DBPLAYERS Does a complete update of the given player mob, including their items, abilities, and account.
 void DBUpdatePlayerAbilities(MOB mob)
          Table category: DBPLAYERS Updates only the ability records in the database for the given player.
 void DBUpdatePlayerData(java.lang.String key, java.lang.String xml)
          Table category: DBPLAYERDATA Updates what is probably a single player data entry, but could be more, by setting the xml data itself for a given key.
 void DBUpdatePlayerItems(MOB mob)
          Table category: DBPLAYERS Updates only the item/inventory/equipment records in the database for the given player.
 void DBUpdatePlayerMOBOnly(MOB mob)
          Table category: DBPLAYERS Updates only the base mob data in the database for the given player.
 void DBUpdatePlayerPlayerStats(MOB mob)
          Table category: DBPLAYERS Updates only the player stats record for the given player.
 void DBUpdatePoll(java.lang.String OldName, java.lang.String name, java.lang.String player, java.lang.String subject, java.lang.String description, java.lang.String optionXML, int flag, java.lang.String qualZapper, java.lang.String results, long expiration)
          Table category: DBPOLLS Updates and/or renames a poll in the DBPOLLS table.
 void DBUpdatePollResults(java.lang.String name, java.lang.String results)
          Table category: DBPOLLS Updates the results xml array for an existing poll.
 void DBUpdateQuest(Quest Q)
          Table category: DBQUEST Updates the given quest in the database by deleting the old one and re-inserting this one.
 void DBUpdateQuests(java.util.List<Quest> quests)
          Table category: DBQUEST Updates the entire complete quest list by deleting all quests from the database and re-inserting the given list of quests.
 void DBUpdateRoom(Room room)
          Table category: DBMAP Updates only the room object for the given room, not the items or content -- just the title, description, behaviors and properties, that sort of thing.
 boolean DBUpdateStat(long startTime, java.lang.String data)
          Table category: DBSTATS Updates a single days worth of stats in the CMSTAT table in the database.
 void DBUpdateTheseItems(Room room, java.util.List<Item> item)
          Table category: DBMAP Deletes all items from the given room from the database and then adds the given items to the database.
 void DBUpdateTheseMOBs(Room room, java.util.List<MOB> mobs)
          Table category: DBMAP Deletes all mobs from the given room from the database and then adds the given mobs to the database.
 void DBUpSertVFSFile(java.lang.String filename, int bits, java.lang.String creator, long updateTime, java.lang.Object data)
          Table category: DBVFS Creates or updates a file in the DBFS filesystem stored in the CBVFS table.
 PlayerLibrary.ThinnerPlayer DBUserSearch(java.lang.String Login)
          Table category: DBPLAYERS Attempts to return an extremely thin player record by searching the database for a character with the exact given name.
 void DBWriteJournal(java.lang.String journalID, JournalEntry entry)
          Table category: DBJOURNALS Creates a new entry in the journal.
 void DBWriteJournal(java.lang.String journalID, java.lang.String from, java.lang.String to, java.lang.String subject, java.lang.String message)
          Table category: DBJOURNALS Creates a new entry in this journal.
 void DBWriteJournalChild(java.lang.String journalID, java.lang.String journalSource, java.lang.String from, java.lang.String to, java.lang.String parentKey, java.lang.String subject, java.lang.String message)
          Table category: DBJOURNALS Writes a new journal message/entry to the database.
 void DBWriteJournalEmail(java.lang.String mailBoxID, java.lang.String journalSource, java.lang.String from, java.lang.String to, java.lang.String subject, java.lang.String message)
          Table category: DBJOURNALS Writes a new journal entry formatted for the email system and generates a new message key.
 JournalEntry DBWriteJournalReply(java.lang.String journalID, java.lang.String messageKey, java.lang.String from, java.lang.String to, java.lang.String subject, java.lang.String message)
          Table category: DBJOURNALS Adds to an existing journal entry by taking on a fake/stupid reply as a text appendage to the main message.
 java.lang.String errorStatus()
          Returns the database status, formatted for html.
 java.util.List<Pair<java.lang.String,java.lang.Long>> getBackLogEntries(java.lang.String channelName, int newestToSkip, int numToReturn)
          Table category: DBBACKLOG Returns a list of channel messages for the given channel and criteria.
 DBConnector getConnector()
          Returns the connector object to the database, allowing SQL statements to be run.
 java.util.List<PlayerLibrary.ThinPlayer> getExtendedUserList()
          Table category: DBPLAYERS Returns the list of all characters as thinplayer objects.
 PlayerLibrary.ThinPlayer getThinUser(java.lang.String name)
          Table category: DBPLAYERS Returns a ThinPlayer object with information about the character with the given name.
 java.util.List<java.lang.String> getUserList()
          Table category: DBPLAYERS Returns a list of all the characters in the database.
 boolean isConnected()
          Returns whether the database is connected.
 int pingAllConnections()
          "Pings" all connections to the database by issueing a "SELECT 1 FROM CMCHAR".
 int pingAllConnections(long overrideTimeoutIntervalMillis)
          "Pings" all connections to the database by issueing a "SELECT 1 FROM CMCHAR", if the connection has not seen any action in the given number of milliseconds.
 void resetConnections()
          Forces all existing database connections to be closed, and then re-open.
 void trimBackLogEntries(java.lang.String[] channels, int maxMessages, long oldestTime)
          Table category: DBBACKLOG This is a periodic maintenance method which will go through the list of unique channel names, and trim them according to the maximum number of messages to retain (absolute), and the oldest message to return (absolute timestamp -- no 0 nonsense).
 java.util.List<PlayerLibrary.ThinPlayer> vassals(java.lang.String liegeID)
          Table category: DBPLAYERS Attempts to return a list of all characters who are listed as vassals of the character with the given exact name.
 java.util.List<PlayerLibrary.ThinPlayer> worshippers(java.lang.String deityID)
          Table category: DBPLAYERS Attempts to return a list of all characters who are listed as worshippers of the deity with the given exact name.
 
Methods inherited from interface com.planet_ink.coffee_mud.Libraries.interfaces.CMLibrary
activate, getServiceClient, L, propertiesLoaded, shutdown
 
Methods inherited from interface com.planet_ink.coffee_mud.core.interfaces.CMObject
copyOf, ID, initializeClass, name, newInstance
 
Methods inherited from interface java.lang.Comparable
compareTo
 

Method Detail

errorStatus

java.lang.String errorStatus()
Returns the database status, formatted for html.

Returns:
the database status, formatted for html.

resetConnections

void resetConnections()
Forces all existing database connections to be closed, and then re-open.


getConnector

DBConnector getConnector()
Returns the connector object to the database, allowing SQL statements to be run.

Returns:
the connector object to the database

pingAllConnections

int pingAllConnections()
"Pings" all connections to the database by issueing a "SELECT 1 FROM CMCHAR".

Returns:
the number of connections pinged

pingAllConnections

int pingAllConnections(long overrideTimeoutIntervalMillis)
"Pings" all connections to the database by issueing a "SELECT 1 FROM CMCHAR", if the connection has not seen any action in the given number of milliseconds.

Parameters:
overrideTimeoutIntervalMillis - the connection timeout
Returns:
the number of connections pinged

isConnected

boolean isConnected()
Returns whether the database is connected.

Returns:
whether the database is connected.

DBRawExecute

int DBRawExecute(java.lang.String sql)
                 throws CMException
Executes an arbitrary SQL statement against your main database and returns the response number/code.

Parameters:
sql - the SQL statement
Returns:
the exec response number (usually num rows)
Throws:
CMException - any errors that occur

DBRawQuery

java.util.List<java.lang.String[]> DBRawQuery(java.lang.String sql)
                                              throws CMException
Executes an arbitrary SQL query against your main database and returns the results as a list of string arrays, where each array is a row, and each column is a column from the query.

Parameters:
sql - the SQL query
Returns:
the results of the query
Throws:
CMException - any errors that occur

DBReadCatalogs

void DBReadCatalogs()
Table category: DBMAP Loads both the mob and item catalogs into the catalog library.


DBReadSpace

void DBReadSpace()
Table category: DBMAP Logs all the items in outer space into the space map


DBReadContent

void DBReadContent(java.lang.String roomID,
                   Room thisRoom,
                   boolean makeLive)
Table category: DBMAP This method is used to load the content (items and mobs) of the given room id into the given room object, and optionally activate the contents to live use. startItemRejuv() is not called, however.

Parameters:
roomID - the id of the room to load
thisRoom - the room object to load the content into (required!)
makeLive - true to bring the mobs to life, false to leave them dead.

DBReadAreaData

void DBReadAreaData(Area A)
Table category: DBMAP Reloads the basic data of the given area, with a prefilled Name. It does not load or alter rooms or anything like that, only the internal variables of the area.

Parameters:
A - the area to reload
See Also:
DBIsAreaName(String), DBReadAreaRoomList(String, boolean), DBReadAreaObject(String), DBReadAreaFull(String)

DBReadAreaObject

Area DBReadAreaObject(java.lang.String areaName)
Table category: DBMAP Reloads the basic data of the given area by exact Name. It does not load or alter rooms or anything like that, only the internal variables of the area. Does not add the area to the map.

Parameters:
areaName - the name of the area to load
See Also:
DBIsAreaName(String), DBReadAreaRoomList(String, boolean), DBReadAreaData(Area), DBReadAreaFull(String)

DBReadAreaFull

boolean DBReadAreaFull(java.lang.String areaName)
Table category: DBMAP Reloads the given area by exact Name. This includes the rooms, and the mobs, and the items, and it adds it to the map. It's complete and total and working.

Parameters:
areaName - the name of the area to load
See Also:
DBIsAreaName(String), DBReadAreaRoomList(String, boolean), DBReadAreaData(Area), DBReadAreaObject(String)

DBIsAreaName

java.lang.String DBIsAreaName(java.lang.String name)
Table category: DBMAP Checks for the database for an area with approximately the given name, returning the correct name if found, false otherwise.

Parameters:
name - the name to search for (hopefully case insensitive)
Returns:
the real name, case-correct, or NULL if not found
See Also:
DBReadAreaData(Area), DBReadAreaRoomList(String, boolean), DBReadAreaObject(String), DBReadAreaFull(String)

DBReadRoom

Room DBReadRoom(java.lang.String roomID,
                boolean reportStatus)
Table category: DBMAP Permanently Loads and returns a single Room object, without populating its contents yet. This is often done in preparation to read the content, the exits, or both. It sets the area and room ID, as if the room will have a permanent home in the game.

Parameters:
roomID - the room id of the room object to load
reportStatus - true to populate global status, false otherwise
Returns:
the room loaded, or null if it could not be
See Also:
DBReadContent(String, Room, boolean), DBReReadRoomData(Room), DBReadRoomObject(String, boolean)

DBReReadRoomData

boolean DBReReadRoomData(Room room)
Table category: DBMAP Reloads the title, description, affects, and other internal fields of the given room.

Parameters:
room - the room to re-read dat afor
Returns:
true, unless something went wrong

DBReadRoomObject

Room DBReadRoomObject(java.lang.String roomIDtoLoad,
                      boolean reportStatus)
Table category: DBMAP Read the Room object of the given roomID and returns the object. It does not load the contents. The difference between this and dbreadroom is beyond me. I don't think this method actually adds the room to an area or to the map.

Parameters:
roomIDtoLoad - the id of the room to load
reportStatus - true to populate global status, false otherwise
Returns:
the room loaded, or null if it could not be
See Also:
DBReadRoom(String, boolean)

DBReadRoomObjects

Room[] DBReadRoomObjects(java.lang.String areaName,
                         boolean reportStatus)
Table category: DBMAP Reads all the Room objects in the given area name and returns them as an array of rooms. It does not load the item or mob contents. The rooms are not actually added to the Area or the map.

Parameters:
areaName - the area name of rooms to load
reportStatus - true to populate global status, false otherwise
Returns:
the rooms loaded

DBReadRoomDesc

java.lang.String DBReadRoomDesc(java.lang.String roomID)
Table category: DBMAP Reads the room description of the given room id and returns it.

Parameters:
roomID - the room id of the description to read
Returns:
the description, or null

DBCountRoomMobsItems

int[] DBCountRoomMobsItems(java.lang.String roomID)
Table category: DBMAP Counts the number of mobs and items in the room according to the database, and returns the counts as a numeric array where the first element is the number of mobs and the second the number of items.

Parameters:
roomID - the room id to return counts for
Returns:
the counts as a 2 entry array

DBReadRoomExits

void DBReadRoomExits(java.lang.String roomID,
                     Room room,
                     boolean reportStatus)
Table category: DBMAP Reads the exits of the room with the given room id and populates them into the given room object. It also connects each exit to the room if it can get to it through the given rooms area object.

Parameters:
roomID - the room id
room - the room object to populate
reportStatus - true to populate global status, false otherwise

DBUpdateExits

void DBUpdateExits(Room room)
Table category: DBMAP Resaves the given rooms exit objects, and linkages to other rooms.

Parameters:
room - the room whose exits to save

DBCreateThisItem

void DBCreateThisItem(java.lang.String roomID,
                      Item thisItem)
Table category: DBMAP Inserts the given item into the given room id in the database, regardless of its worthiness to be there.

Parameters:
roomID - the room id to save the item at
thisItem - the item to save

DBCreateThisMOB

void DBCreateThisMOB(java.lang.String roomID,
                     MOB thisMOB)
Table category: DBMAP Inserts the given mob into the given room id in the database, regardless of its worthiness to be there.

Parameters:
roomID - the room id to save the mob at
thisMOB - the mob to save

DBReadRoomMOBMiscText

java.lang.String DBReadRoomMOBMiscText(java.lang.String roomID,
                                       java.lang.String mobID)
Table category: DBMAP Given a specific room id, and a specific mob id for that room (this is a unique coded string found only in the db, and loaded as the database id), this method returns the misctext for the mob.

Parameters:
roomID - the room id
mobID - the unique mob string for that room
Returns:
the misc text of the mob
See Also:
Environmental.text(), DBIdentifiable.databaseID()

DBReadAllRooms

void DBReadAllRooms(RoomnumberSet roomsToRead)
Table category: DBMAP This method does a conventional boot load of all rooms and areas in the given set, including exits and content. Thin areas are not loaded, as normal. Logging and status are as boot. Rooms and Areas are added to the map.

Parameters:
roomsToRead - null to read all, or the set of rooms to read

DBUpdateTheseMOBs

void DBUpdateTheseMOBs(Room room,
                       java.util.List<MOB> mobs)
Table category: DBMAP Deletes all mobs from the given room from the database and then adds the given mobs to the database.

Parameters:
room - the savable room
mobs - the mobs in the room that need saving
See Also:
DBUpdateMOBs(Room)

DBUpdateTheseItems

void DBUpdateTheseItems(Room room,
                        java.util.List<Item> item)
Table category: DBMAP Deletes all items from the given room from the database and then adds the given items to the database.

Parameters:
room - the savable room
item - the items in the room that need saving

DBUpdateMOBs

void DBUpdateMOBs(Room room)
Table category: DBMAP Deletes all mobs from the given room from the database and then adds all mobs currently in the room which are savable back to the database.

Parameters:
room - the savable room
See Also:
DBUpdateTheseMOBs(Room, List)

DBCreateRoom

void DBCreateRoom(Room room)
Table category: DBMAP Creates the basic room object entry in the data. Does not save content or exits, just the room object stuff.

Parameters:
room - the room to save

DBUpdateRoom

void DBUpdateRoom(Room room)
Table category: DBMAP Updates only the room object for the given room, not the items or content -- just the title, description, behaviors and properties, that sort of thing. No exits either. Just the room.

Parameters:
room - the room that needs resaving.

DBReadAreaRoomList

RoomnumberSet DBReadAreaRoomList(java.lang.String areaName,
                                 boolean reportStatus)
Table category: DBMAP Reads all the room numbers for the area with the given name from the database and returns a compressed roomnumberset object.

Parameters:
areaName - the name of the area to load numbers from
reportStatus - true to update the global status, false otherwise
Returns:
the rooms in this area, as a compressed set
See Also:
RoomnumberSet

DBUpdateMOB

void DBUpdateMOB(java.lang.String roomID,
                 MOB mob)
Table category: DBMAP Assuming the given mob is savable, this method will update the database record for the given mob in the given room by deleting the mob from the room's database record and re-creating him in it.

Parameters:
roomID - the id of the room that the mob was in
mob - the mob to save

DBUpdateItem

void DBUpdateItem(java.lang.String roomID,
                  Item item)
Table category: DBMAP Assuming the given item is savable, this method will update the database record for the given item in the given room by deleting the item from the room's database record and re-creating it in it.

Parameters:
roomID - the id of the room that the item was in
item - the item to save

DBDeleteMOB

void DBDeleteMOB(java.lang.String roomID,
                 MOB mob)
Table category: DBMAP Removes the given mob, and only the given mob, from the database records for the given room id.

Parameters:
roomID - the id of the room that the mob was in
mob - the mob to remove

DBDeleteItem

void DBDeleteItem(java.lang.String roomID,
                  Item item)
Table category: DBMAP Removes the given item, and only the given item, from the database records for the given room id.

Parameters:
roomID - the id of the room that the item was in
item - the item to remove

DBUpdateItems

void DBUpdateItems(Room room)
Table category: DBMAP Updates all of the savable items in the given room by removing all item records from the database and re-inserting all of the current item records back in.

Parameters:
room - the room to update

DBReCreate

void DBReCreate(Room room,
                java.lang.String oldID)
Table category: DBMAP Changes the room ID of the given room in the database by updating all of the records with the old room id to instead use the new room id of the room given.

Parameters:
room - the room with the new id
oldID - the old room id

DBDeleteRoom

void DBDeleteRoom(Room room)
Table category: DBMAP Deletes the room and all of its exits and contents from the database entirely.

Parameters:
room - the room to blow away

DBCreateArea

void DBCreateArea(Area A)
Table category: DBMAP Creates a new area record in the database. Only does the area record, not the rooms.

Parameters:
A - the area to create.

DBDeleteArea

void DBDeleteArea(Area A)
Table category: DBMAP Removes the given area record from the database. Only does the area record, not the rooms.

Parameters:
A - the area to destroy.

DBDeleteAreaAndRooms

void DBDeleteAreaAndRooms(Area A)
Table category: DBMAP Removes the given area record from the database. Also removes all the proper rooms from the DB, along with exits, items, and characters in those rooms.

Parameters:
A - the area to destroy.

DBUpdateArea

void DBUpdateArea(java.lang.String areaID,
                  Area A)
Table category: DBMAP Updates the area record in the database with the given areaID with the data from the given area object. The areaID and the name of the area can be different for area renamings.

Parameters:
areaID - the current db area name
A - the area data to save

DBUpdateAccount

void DBUpdateAccount(PlayerAccount account)
Table category: DBPLAYERS Updates an existing account record in the database by altering its key fields in the existing record.

Parameters:
account - the account to update

DBCreateAccount

void DBCreateAccount(PlayerAccount account)
Table category: DBPLAYERS Inserts a new row into the account record in the database. Only works the first time for a given account name

Parameters:
account - the account to insert

DBDeleteAccount

void DBDeleteAccount(PlayerAccount account)
Table category: DBPLAYERS Removes only the given account from the database. Does not delete players or any player data.

Parameters:
account - the account to delete

DBReadAccount

PlayerAccount DBReadAccount(java.lang.String Login)
Table category: DBPLAYERS Loads an account with the given name from the database, populates a playeraccount object, and returns it. Does not load players, only the account record.

Parameters:
Login - the name of the account to load
Returns:
the player account object

DBListAccounts

java.util.List<PlayerAccount> DBListAccounts(java.lang.String mask)
Table category: DBPLAYERS Populates and returns a list of player account objects that match the given lowercase substring. Does this by doing a full scan. :/

Parameters:
mask - lowercase substring to search for or null
Returns:
the list of playeraccount objects

DBScanPridePlayerWinners

java.util.List<Pair<java.lang.String,java.lang.Integer>>[][] DBScanPridePlayerWinners(int topThisMany,
                                                                                      short scanCPUPercent)
Table category: DBPLAYERS Re-builds the entire top-10 player tables from the database. It returns a two dimensional array of lists of players and their scores, in reverse sorted order by score. The first dimension of the array is the time period ordinal (month, year, whatever), and the second is the pridestat ordinal. The cpu percent is the percent (0-100) of each second of work to spend actually working. The balance is spent sleeping.

Parameters:
topThisMany - the number of items in each list
scanCPUPercent - the percent (0-100) to spend working
Returns:
the arrays of lists of top winner players
See Also:
TimeClock.TimePeriod, AccountStats.PrideStat

DBScanPrideAccountWinners

java.util.List<Pair<java.lang.String,java.lang.Integer>>[][] DBScanPrideAccountWinners(int topThisMany,
                                                                                       short scanCPUPercent)
Table category: DBPLAYERS Re-builds the entire top-10 account tables from the database. It returns a two dimensional array of lists of accounts and their scores, in reverse sorted order by score. The first dimension of the array is the time period ordinal (month, year, whatever), and the second is the pridestat ordinal. The cpu percent is the percent (0-100) of each second of work to spend actually working. The balance is spent sleeping.

Parameters:
topThisMany - the number of items in each list
scanCPUPercent - the percent (0-100) to spend working
Returns:
the arrays of lists of top winner accounts
See Also:
TimeClock.TimePeriod, AccountStats.PrideStat

DBUpdatePlayer

void DBUpdatePlayer(MOB mob)
Table category: DBPLAYERS Does a complete update of the given player mob, including their items, abilities, and account. Followers are not included.

Parameters:
mob - the player mob to update

DBExpiredCharNameSearch

java.util.List<java.lang.String> DBExpiredCharNameSearch(java.util.Set<java.lang.String> skipNames)
Table category: DBPLAYERS If this system uses the character expiration system, then this method will scan all the players for expired characters, and return the list of names, or an empty list if there are none. The skipNames is a list of protected names that are never expired.

Parameters:
skipNames - the names to never expire, or null
Returns:
the list of expired names, or an empty list

DBUpdatePlayerPlayerStats

void DBUpdatePlayerPlayerStats(MOB mob)
Table category: DBPLAYERS Updates only the player stats record for the given player. These are player-unique variables, such as the prompt.

Parameters:
mob - the player to update

DBUpdatePlayerMOBOnly

void DBUpdatePlayerMOBOnly(MOB mob)
Table category: DBPLAYERS Updates only the base mob data in the database for the given player. This includes playerstat data and clan affiliation records, but not items, or abilities, or other such stuff.

Parameters:
mob - the player mob to update

DBUpdatePlayerAbilities

void DBUpdatePlayerAbilities(MOB mob)
Table category: DBPLAYERS Updates only the ability records in the database for the given player. This also includes effects, behaviors, and scripts on players, but nothing else.

Parameters:
mob - the player to update

DBUpdatePlayerItems

void DBUpdatePlayerItems(MOB mob)
Table category: DBPLAYERS Updates only the item/inventory/equipment records in the database for the given player. Nothing else.

Parameters:
mob - the player to update

DBUpdateFollowers

void DBUpdateFollowers(MOB mob)
Table category: DBPLAYERS This method deletes and re-saves the non-player npc followers of the given player mob.

Parameters:
mob - the mob whose followers to save

DBReadPlayer

MOB DBReadPlayer(java.lang.String name)
Table category: DBPLAYERS Reads and populates a player MOB object from the database. Does not include followers, but does items and abilities.

Parameters:
name - the name of the player
Returns:
the player mob object, or null

DBPlayerNameChange

void DBPlayerNameChange(java.lang.String oldName,
                        java.lang.String newName)
Table category: DBPLAYERS Renames all player records belonging to the old name to the new name. Does nothing to existing cached objects, and the new name better not already exist!

Parameters:
oldName - the previous existing name in the db
newName - the new name to change them to

DBUpdateEmail

void DBUpdateEmail(MOB mob)
Table category: DBPLAYERS Updates the email address of the given player in the database. Does not update the account system.

Parameters:
mob - the mob containing the email addy to change

DBUpdatePassword

void DBUpdatePassword(java.lang.String name,
                      java.lang.String password)
Table category: DBPLAYERS Updates the password of the given player in the database. Does not update the account system.

Parameters:
name - the mob name containing the pw to change
password - the new password string

DBFetchEmailData

Pair<java.lang.String,java.lang.Boolean> DBFetchEmailData(java.lang.String name)
Table category: DBPLAYERS Returns the email address and autoforward flag for the player with the given name. Does not check accounts. Does, however, check the cache, so its not necessarily a db check.

Parameters:
name - the name of the player to get info for
Returns:
the email address and autoforward flag

DBPlayerEmailSearch

java.lang.String DBPlayerEmailSearch(java.lang.String email)
Table category: DBPLAYERS Returns the name of the player with the given email address.

Parameters:
email - the email address to look for
Returns:
the name of the player, or null if not found

getExtendedUserList

java.util.List<PlayerLibrary.ThinPlayer> getExtendedUserList()
Table category: DBPLAYERS Returns the list of all characters as thinplayer objects. This is the whole bloody list.

Returns:
the list of all players
See Also:
PlayerLibrary.ThinPlayer

getThinUser

PlayerLibrary.ThinPlayer getThinUser(java.lang.String name)
Table category: DBPLAYERS Returns a ThinPlayer object with information about the character with the given name.

Parameters:
name - the name of the character to return.
Returns:
the thin player of this user, or null if not found
See Also:
PlayerLibrary.ThinPlayer

getUserList

java.util.List<java.lang.String> getUserList()
Table category: DBPLAYERS Returns a list of all the characters in the database. Each and every one.

Returns:
the list of all character names

DBScanFollowers

java.util.List<MOB> DBScanFollowers(java.lang.String mobName)
Table category: DBPLAYERS Queries and creates mob objects for all the followers of the player with the given name and returns the list. It does not bring them to life, add to to any mob, or start them ticking. It just makes and returns the mob objects.

Parameters:
mobName - the name of the mob to return
Returns:
the list of follower mob objects
See Also:
DBReadFollowers(MOB, boolean)

DBReadFollowers

void DBReadFollowers(MOB mob,
                     boolean bringToLife)
Table category: DBPLAYERS Loads the followers of the given mob and optionally brings them to life. This will query and create the follower mob objects, add them to the given mob at the very least.

Parameters:
mob - the mob whose players to load
bringToLife - true to bring them to life, false not
See Also:
DBScanFollowers(String)

DBDeletePlayerOnly

void DBDeletePlayerOnly(java.lang.String mobName)
Table category: DBPLAYERS Removes the character and clan affiliation records from the database and nothing else. Not abilities, or items, or followers, or anything else... there are other methods for that. This just does in the char record and clan affiliation.

Parameters:
mobName - the mob to delete

DBCreateCharacter

void DBCreateCharacter(MOB mob)
Table category: DBPLAYERS Creates the character record for the given mob in the CMCHAR table in the database, and updates the account record if any. Does not handle items, followers, abilities, or anything else -- just the base character record.

Parameters:
mob - the character to create

DBUserSearch

PlayerLibrary.ThinnerPlayer DBUserSearch(java.lang.String Login)
Table category: DBPLAYERS Attempts to return an extremely thin player record by searching the database for a character with the exact given name.

Parameters:
Login - the name to look for
Returns:
null if not found, or a thinner player record

vassals

java.util.List<PlayerLibrary.ThinPlayer> vassals(java.lang.String liegeID)
Table category: DBPLAYERS Attempts to return a list of all characters who are listed as vassals of the character with the given exact name. Vassals are characters that are SERVEing another player.

Parameters:
liegeID - the character name who would be the liege
Returns:
a list containing as many thin vassal records

worshippers

java.util.List<PlayerLibrary.ThinPlayer> worshippers(java.lang.String deityID)
Table category: DBPLAYERS Attempts to return a list of all characters who are listed as worshippers of the deity with the given exact name.

Parameters:
deityID - the exact name of the deity to look for
Returns:
a list containing as many thin worshipper records

DBUpdateQuests

void DBUpdateQuests(java.util.List<Quest> quests)
Table category: DBQUEST Updates the entire complete quest list by deleting all quests from the database and re-inserting the given list of quests.

Parameters:
quests - the list of quests to end up with
See Also:
Quest, DBUpdateQuest(Quest), DBReadQuests()

DBUpdateQuest

void DBUpdateQuest(Quest Q)
Table category: DBQUEST Updates the given quest in the database by deleting the old one and re-inserting this one.

Parameters:
Q - the quest to update
See Also:
DBUpdateQuests(List), DBReadQuests(), Quest

DBReadQuests

java.util.List<Quest> DBReadQuests()
Table category: DBQUEST Reads all the Quest objects from the database and returns them as a list. The Quests are pre-parsed and ready to go.

Returns:
the list of quests
See Also:
DBUpdateQuests(List), DBUpdateQuest(Quest), Quest

DBReadClanMembers

java.util.List<Clan.MemberRecord> DBReadClanMembers(java.lang.String clan)
Table category: DBCLANS Given an exact clan name, this method returns the entire membership as MemberRecords.

Parameters:
clan - the name of the clan to read members for
Returns:
the list of all the clans members
See Also:
Clan.MemberRecord, DBGetClanMember(String, String), DBUpdateClanMembership(String, String, int), DBUpdateClanKills(String, String, int, int)

DBGetClanMember

Clan.MemberRecord DBGetClanMember(java.lang.String clan,
                                  java.lang.String name)
Table category: DBCLANS Reads information about a single clan member of the given exact name from the clan of the given exact name.

Parameters:
clan - the name of the clan to read a member for
name - the name of the member to read in
Returns:
the member record, or null
See Also:
Clan.MemberRecord, DBReadClanMembers(String), DBUpdateClanMembership(String, String, int), DBUpdateClanKills(String, String, int, int)

DBUpdateClanMembership

void DBUpdateClanMembership(java.lang.String name,
                            java.lang.String clan,
                            int role)
Table category: DBCLANS Updates the Role of the clan member of the given exact name for the given exact clan.

Parameters:
name - the name of the member to update
clan - the name of the clan to update a member for
role - the new role constant
See Also:
DBReadClanMembers(String), DBGetClanMember(String, String), DBUpdateClanKills(String, String, int, int)

DBUpdateClanKills

void DBUpdateClanKills(java.lang.String clan,
                       java.lang.String name,
                       int adjMobKills,
                       int adjPlayerKills)
Table category: DBCLANS Updates the clan-kill counts for the clan member of the given exact name for the given exact clan

Parameters:
clan - the name of the clan to update a member for
name - the name of the member to update
adjMobKills - the number of ADDITIONAL (plus or minus) clan mob kills
adjPlayerKills - the number of ADDITIONAL (plus or minus) clan pvp kills

DBUpdateClanDonates

void DBUpdateClanDonates(java.lang.String clan,
                         java.lang.String name,
                         double adjGold,
                         int adjXP)
Table category: DBCLANS Updates the clan-donation counts for the clan member of the given exact name for the given exact clan

Parameters:
clan - the name of the clan to update a member for
name - the name of the member to update
adjGold - the number of ADDITIONAL (plus or minus) clan gold donations
adjXP - the number of ADDITIONAL (plus or minus) clan xp adjustments

DBReadAllClans

java.util.List<Clan> DBReadAllClans()
Table category: DBCLANS Reads the entire list of clans, not including their stored items. The list of clans is then returned for adding to the official list, or whatever.

Returns:
the official list of clan objects
See Also:
Clan, DBReadClanItems(Map), DBUpdateClan(Clan), DBUpdateClanItems(Clan), DBDeleteClan(Clan), DBReadClanItems(Map), DBCreateClan(Clan)

DBReadClanItems

void DBReadClanItems(java.util.Map<java.lang.String,Clan> clans)
Table category: DBCLANS Reads the entire list of clan items, and uses the map to get the clan object, and then adds the given item to both the clan object and to the World.

Parameters:
clans - the map of clanids to clan objects
See Also:
Clan, DBReadAllClans(), DBUpdateClan(Clan), DBUpdateClanItems(Clan), DBDeleteClan(Clan), DBReadClanItems(Map), DBCreateClan(Clan)

DBUpdateClan

void DBUpdateClan(Clan C)
Table category: DBCLANS Updates the given clan objects record in the database. Does not update the clan items, however.

Parameters:
C - the clan to update
See Also:
Clan, DBReadAllClans(), DBReadClanItems(Map), DBUpdateClanItems(Clan), DBDeleteClan(Clan), DBReadClanItems(Map), DBCreateClan(Clan)

DBUpdateClanItems

void DBUpdateClanItems(Clan C)
Table category: DBCLANS Updates the external clan items in the database for the given clan by deleting all the records and re-inserting them.

Parameters:
C - the clan whose items to update
See Also:
Clan, DBReadAllClans(), DBReadClanItems(Map), DBUpdateClan(Clan), DBDeleteClan(Clan), DBReadClanItems(Map), DBCreateClan(Clan)

DBDeleteClan

void DBDeleteClan(Clan C)
Table category: DBCLANS Removes the given clan, all of its items and records, membership, and everything about it from the database.

Parameters:
C - the clan to delete
See Also:
Clan, DBReadAllClans(), DBReadClanItems(Map), DBUpdateClan(Clan), DBUpdateClanItems(Clan), DBReadClanItems(Map), DBCreateClan(Clan)

DBCreateClan

void DBCreateClan(Clan C)
Table category: DBCLANS Creates the given clan in the database.

Parameters:
C - the clan to create
See Also:
Clan, DBReadAllClans(), DBReadClanItems(Map), DBUpdateClan(Clan), DBUpdateClanItems(Clan), DBReadClanItems(Map), DBDeleteClan(Clan)

DBReadJournals

java.util.List<java.lang.String> DBReadJournals()
Table category: DBJOURNALS Returns the list of every journalID in the database that has at least one message, or an intro.

Returns:
the list of every journal ID
See Also:
DBUpdateJournal(String, JournalEntry), DBReadJournalEntry(String, String), DBWriteJournal(String, JournalEntry), DBWriteJournal(String, String, String, String, String), DBDeleteJournal(String, String), DBUpdateJournal(String, String, String, long)

DBUpdateJournal

void DBUpdateJournal(java.lang.String journalID,
                     JournalEntry entry)
Table category: DBJOURNALS Updates the entire database record for the given journal entry, which must have already been created.

Parameters:
journalID - the name/id of the journal
entry - the complete entry record
See Also:
JournalEntry, DBReadJournals(), DBReadJournalEntry(String, String), DBWriteJournal(String, JournalEntry), DBWriteJournal(String, String, String, String, String), DBDeleteJournal(String, String), DBUpdateJournal(String, String, String, long)

DBReadJournalEntry

JournalEntry DBReadJournalEntry(java.lang.String journalID,
                                java.lang.String messageKey)
Table category: DBJOURNALS Reads an individual message from the given journal by its message key.

Parameters:
journalID - the name/id of the journal
messageKey - the message key
Returns:
the complete journal entry, or null if it wasn't found
See Also:
JournalEntry, DBReadJournals(), DBUpdateJournal(String, JournalEntry), DBWriteJournal(String, JournalEntry), DBWriteJournal(String, String, String, String, String), DBDeleteJournal(String, String), DBUpdateJournal(String, String, String, long)

DBWriteJournal

void DBWriteJournal(java.lang.String journalID,
                    JournalEntry entry)
Table category: DBJOURNALS Creates a new entry in the journal. If the entries key already exists, this will make an error. If the entries key is null, however, it will generate a new one.

Parameters:
journalID - the name/id of the journal
entry - the enttry to create
See Also:
JournalEntry, DBReadJournals(), DBReadJournalEntry(String, String), DBUpdateJournal(String, JournalEntry), DBWriteJournal(String, String, String, String, String), DBDeleteJournal(String, String), DBUpdateJournal(String, String, String, long)

DBWriteJournal

void DBWriteJournal(java.lang.String journalID,
                    java.lang.String from,
                    java.lang.String to,
                    java.lang.String subject,
                    java.lang.String message)
Table category: DBJOURNALS Creates a new entry in this journal. Will generate a new key.

Parameters:
journalID - the name/id of the journal
from - the author of the message
to - who the message is to, such as ALL
subject - the subject of the message
message - the message to write
See Also:
DBReadJournals(), DBReadJournalEntry(String, String), DBUpdateJournal(String, JournalEntry), DBWriteJournal(String, JournalEntry), DBDeleteJournal(String, String), DBUpdateJournal(String, String, String, long)

DBDeleteJournal

void DBDeleteJournal(java.lang.String journalID,
                     java.lang.String msgKeyOrNull)
Table category: DBJOURNALS Deletes enter a specific message, or all messages, from the given journal. Deleting all messages deletes the journal. Take care, because of the null thing, this method is dangerous. :)

Parameters:
journalID - the name/id of the journal
msgKeyOrNull - the message key, or null to delete ALL messages
See Also:
DBReadJournals(), DBReadJournalEntry(String, String), DBUpdateJournal(String, JournalEntry), DBWriteJournal(String, JournalEntry), DBWriteJournal(String, String, String, String, String), DBUpdateJournal(String, String, String, long)

DBUpdateJournal

void DBUpdateJournal(java.lang.String messageKey,
                     java.lang.String subject,
                     java.lang.String msg,
                     long newAttributes)
Table category: DBJOURNALS Updates the existing journal message record in the database. Nothing is optional, it updates all of the given fields.

Parameters:
messageKey - the unique message key
subject - the new message subject
msg - the new message text
newAttributes - the new message attributes bitmap
See Also:
DBReadJournals(), DBReadJournalEntry(String, String), DBUpdateJournal(String, JournalEntry), DBWriteJournal(String, JournalEntry), DBWriteJournal(String, String, String, String, String), DBDeleteJournal(String, String)

DBWriteJournalEmail

void DBWriteJournalEmail(java.lang.String mailBoxID,
                         java.lang.String journalSource,
                         java.lang.String from,
                         java.lang.String to,
                         java.lang.String subject,
                         java.lang.String message)
Table category: DBJOURNALS Writes a new journal entry formatted for the email system and generates a new message key.

Parameters:
mailBoxID - the journal name/id of the email system MAILBOX
journalSource - the name/id of the journal that originated the message
from - who the author of the email
to - the recipient
subject - the subject of the message
message - the email message
See Also:
CMProps.Str.MAILBOX

DBWriteJournalReply

JournalEntry DBWriteJournalReply(java.lang.String journalID,
                                 java.lang.String messageKey,
                                 java.lang.String from,
                                 java.lang.String to,
                                 java.lang.String subject,
                                 java.lang.String message)
Table category: DBJOURNALS Adds to an existing journal entry by taking on a fake/stupid reply as a text appendage to the main message. I should do something better some day, and I did to forums right, but, well, that's how these still are, just like Zelch 64 1.0.

Parameters:
journalID - the name/id of the journal
messageKey - the key of the message to append to
from - who the Reply is from
to - who the recipient of the reply is
subject - the subject of the reply
message - the reply text
Returns:
the updated journal entry

DBSearchAllJournalEntries

java.util.List<JournalEntry> DBSearchAllJournalEntries(java.lang.String journalID,
                                                       java.lang.String searchStr)
Table category: DBJOURNALS Searches all the messages in the journal for the search string as a (typically) case-insensitive substring of either the subject or the message text. Returns up to 100 journal entries that form a match.

Parameters:
journalID - the name/id of the journal to search
searchStr - the search substring
Returns:
the list of journal entries that match

DBUpdateMessageReplies

void DBUpdateMessageReplies(java.lang.String messageKey,
                            int numReplies)
Table category: DBJOURNALS For forum journals, updates the number of replies registered with the parent message represented by the given message Key.

Parameters:
messageKey - the key of the parent op message
numReplies - the new number of replies to register
See Also:
DBReadJournalMetaData(String, com.planet_ink.coffee_mud.Libraries.interfaces.JournalsLibrary.JournalMetaData), DBUpdateJournalMetaData(String, com.planet_ink.coffee_mud.Libraries.interfaces.JournalsLibrary.JournalMetaData)

DBReadJournalMetaData

void DBReadJournalMetaData(java.lang.String journalID,
                           JournalsLibrary.JournalMetaData metaData)
Table category: DBJOURNALS Takes an empty JournalMetaData object, and the journal NAME and fills in the rest by querying the database.

Parameters:
journalID - the name of the journals whose stats to update
metaData - the created metadata object to fill in
See Also:
DBUpdateMessageReplies(String, int), DBUpdateJournalMetaData(String, com.planet_ink.coffee_mud.Libraries.interfaces.JournalsLibrary.JournalMetaData)

DBUpdateJournalMetaData

void DBUpdateJournalMetaData(java.lang.String journalID,
                             JournalsLibrary.JournalMetaData metaData)
Table category: DBJOURNALS Primarily for forum journals, this method updates all of the given meta data, such as the intro, and so forth by deleting the old record and re-inserting it into the database.

Parameters:
journalID - the name of the journals whose stats to update
metaData - the metadata to resave into the database
See Also:
DBReadJournalMetaData(String, com.planet_ink.coffee_mud.Libraries.interfaces.JournalsLibrary.JournalMetaData), DBUpdateMessageReplies(String, int)

DBReadJournalPageMsgs

java.util.List<JournalEntry> DBReadJournalPageMsgs(java.lang.String journalID,
                                                   java.lang.String parent,
                                                   java.lang.String searchStr,
                                                   long newerDate,
                                                   int limit)
Table category: DBJOURNALS Returns a window of messages from the given journal, either primary messages or replies to messages, sorted by date, that matches a search, and can be limited, and older (or newer) than a given timestamp.

Parameters:
journalID - the name of the journal/forum to load from
parent - the parent message (for getting replies), or null
searchStr - the string to search for in the msg/subject, or null
newerDate - 0 for all real msgs, parent for newer than timestamp, otherwise before timestamp
limit - the maximum number of messages to return
Returns:
the journal entries/messages that match this query

DBReadJournalMsgsByUpdateDate

java.util.List<JournalEntry> DBReadJournalMsgsByUpdateDate(java.lang.String journalID,
                                                           boolean ascending)
Table category: DBJOURNALS Returns all the messages in the given journal, optionally sorted by update date, ascending. This is a legacy method, and should be used with care.

Parameters:
journalID - the journal to read all the messages from
ascending - true to order the read entries by date
Returns:
the list of all the messages in this journal, an empty list, or null on error
See Also:
DBReadJournalMsgsByUpdateDate(String, boolean, int), DBReadJournalMsgsByUpdateDate(String, boolean, int, String[])

DBReadJournalMsgsByUpdateDate

java.util.List<JournalEntry> DBReadJournalMsgsByUpdateDate(java.lang.String journalID,
                                                           boolean ascending,
                                                           int limit)
Table category: DBJOURNALS Returns a limited number of messages from the given journal, optional sorted by update date, ascending.

Parameters:
journalID - the journal to read all the messages from
ascending - true to order the read entries by date
limit - the number of messages to return, max
Returns:
the list of the messages in this journal, an empty list, or null on error
See Also:
DBReadJournalMsgsByUpdateDate(String, boolean), DBReadJournalMsgsByUpdateDate(String, boolean, int, String[])

DBReadJournalMsgsByUpdateDate

java.util.List<JournalEntry> DBReadJournalMsgsByUpdateDate(java.lang.String journalID,
                                                           boolean ascending,
                                                           int limit,
                                                           java.lang.String[] tos)
Table category: DBJOURNALS Returns a limited number of messages from the given journal, optionally sorted by update date, ascending, but only those marked as TO the given string array.

Parameters:
journalID - the journal to read all the messages from
ascending - true to order the read entries by date
limit - the number of messages to return, max
tos - return only messages marked TO one of the names in this array
Returns:
the list of the messages in this journal, an empty list, or null on error
See Also:
DBReadJournalMsgsByUpdateDate(String, boolean, int), DBReadJournalMsgsByUpdateDate(String, boolean)

DBReadJournalMsgsByCreateDate

java.util.List<JournalEntry> DBReadJournalMsgsByCreateDate(java.lang.String journalID,
                                                           boolean ascending)
Table category: DBJOURNALS Returns all the messages in the given journal, optionally sorted by create date, ascending. This is a legacy method, and should be used with care.

Parameters:
journalID - the journal to read all the messages from
ascending - true to order the read entries by date
Returns:
the list of all the messages in this journal, an empty list, or null on error
See Also:
DBReadJournalMsgsByCreateDate(String, boolean, int), DBReadJournalMsgsByCreateDate(String, boolean, int, String[])

DBReadJournalMsgsByCreateDate

java.util.List<JournalEntry> DBReadJournalMsgsByCreateDate(java.lang.String journalID,
                                                           boolean ascending,
                                                           int limit)
Table category: DBJOURNALS Returns a limited number of messages from the given journal, optional sorted by create date, ascending.

Parameters:
journalID - the journal to read all the messages from
ascending - true to order the read entries by date
limit - the number of messages to return, max
Returns:
the list of the messages in this journal, an empty list, or null on error
See Also:
DBReadJournalMsgsByCreateDate(String, boolean), DBReadJournalMsgsByUpdateDate(String, boolean, int, String[])

DBReadJournalMsgsByCreateDate

java.util.List<JournalEntry> DBReadJournalMsgsByCreateDate(java.lang.String journalID,
                                                           boolean ascending,
                                                           int limit,
                                                           java.lang.String[] tos)
Table category: DBJOURNALS Returns a limited number of messages from the given journal, optionally sorted by create date, ascending, but only those marked as TO the given string array.

Parameters:
journalID - the journal to read all the messages from
ascending - true to order the read entries by date
limit - the number of messages to return, max
tos - return only messages marked TO one of the names in this array
Returns:
the list of the messages in this journal, an empty list, or null on error
See Also:
DBReadJournalMsgsByCreateDate(String, boolean, int), DBReadJournalMsgsByCreateDate(String, boolean)

DBReadJournalMsgsNewerThan

java.util.List<JournalEntry> DBReadJournalMsgsNewerThan(java.lang.String journalID,
                                                        java.lang.String to,
                                                        long olderDate)
Table category: DBJOURNALS Returns all the messages optionally sent to the given user (or ALL) that are newer than the given date.

Parameters:
journalID - the name/ID of the journal/forum
to - NULL, ALL, or a user the messages were sent to
olderDate - the date beyond which to return messages for
Returns:
the list of messages that were found
See Also:
DBReadJournalMsgsOlderThan(String, String, long)

DBReadJournalMsgsOlderThan

java.util.List<JournalEntry> DBReadJournalMsgsOlderThan(java.lang.String journalID,
                                                        java.lang.String to,
                                                        long newestDate)
Table category: DBJOURNALS Returns all the messages optionally sent to the given user (or ALL) that are older than the given date.

Parameters:
journalID - the name/ID of the journal/forum
to - NULL, ALL, or a user the messages were sent to
newestDate - the date before which to return messages for
Returns:
the list of messages that were found
See Also:
DBReadJournalMsgsNewerThan(String, String, long)

DBCountJournal

int DBCountJournal(java.lang.String journalID,
                   java.lang.String from,
                   java.lang.String to)
Table category: DBJOURNALS Returns the number of messages found in the given journal optionally sent from the given user name, and/or optionally to the given user name.

Parameters:
journalID - the name/id of the journal
from - NULL, or the user id of a user the messages are from
to - NULL, or the user id of a user the messages are to
Returns:
the number of messages found

DBWriteJournalChild

void DBWriteJournalChild(java.lang.String journalID,
                         java.lang.String journalSource,
                         java.lang.String from,
                         java.lang.String to,
                         java.lang.String parentKey,
                         java.lang.String subject,
                         java.lang.String message)
Table category: DBJOURNALS Writes a new journal message/entry to the database. One which is probably a reply to a parent message, denoted by the parentKey, which is the message key of the parent. This method also updates the number of replies being tracked for the given parent message.

Parameters:
journalID - the name/id of the journal/forum
journalSource - the originating name/id of an originating journal?
from - who the message is written by, a user id
to - who the message is to, or ALL
parentKey - the message key of the parent message this is a reply to
subject - the subject of the reply message
message - the message text of the reply message

DBGetRealJournalName

java.lang.String DBGetRealJournalName(java.lang.String possibleName)
Table category: DBJOURNALS A silly function that queries the database for a journal of the given exact name, and if it is found, it returns it, otherwise it returns null.

Parameters:
possibleName - the possible name of a journal
Returns:
null, or the name returned

DBJournalLatestDateNewerThan

long[] DBJournalLatestDateNewerThan(java.lang.String journalID,
                                    java.lang.String to,
                                    long olderTime)
Table category: DBJOURNALS This method returns a two dimensional array, where the first long is the update timestamp of the latest message in the journal, optionally to the given recipient, and the second long is the number of messages found that are newer than the given timestamp.

Parameters:
journalID - the journal id/name to search
to - NULL, or ALL, or the recipient name
olderTime - the time After which to count messages
Returns:
the array with latest update timestamp, and the number of newer msgs

DBDeletePlayerPrivateJournalEntries

void DBDeletePlayerPrivateJournalEntries(java.lang.String name)
Table category: DBJOURNALS This message deletes all private messages with the given user id as a recipient. This is all the messages TO the given user, which might include other kinds of user documents, such as email, bank accounts, mail, and the like.

Parameters:
name - the name of the user to delete journal entries from

DBUpdateJournalMessageViews

void DBUpdateJournalMessageViews(java.lang.String messageKey,
                                 int views)
Table category: DBJOURNALS Sets the number of views for the given specific journal message.

Parameters:
messageKey - the message key of the message to update
views - the number of views to mark.

DBTouchJournalMessage

void DBTouchJournalMessage(java.lang.String messageKey)
Table category: DBJOURNALS Updates the given journal message with an update time of the current date/timestamp.

Parameters:
messageKey - the message to touch.

DBTouchJournalMessage

void DBTouchJournalMessage(java.lang.String messageKey,
                           long newDate)
Table category: DBJOURNALS Updates the given journal message with a specific update time of the given date/timestamp

Parameters:
messageKey - the key of the message to touch
newDate - the date/time to set the message update time to

DBReadAllPlayerData

java.util.List<DatabaseEngine.PlayerData> DBReadAllPlayerData(java.lang.String playerID)
Table category: DBPLAYERDATA Just as it says, this method reads all player data, which is the only way to get all bank data at the same time, for example.

Parameters:
playerID - the user id of the player to read all data for
Returns:
all of this players data.
See Also:
DatabaseEngine.PlayerData, DBDeleteAllPlayerData(String)

DBDeleteAllPlayerData

void DBDeleteAllPlayerData(java.lang.String name)
Table category: DBPLAYERDATA Deletes all player data belonging to the player, of all types and sections, all over. BOOM.

Parameters:
name - the user id/name of the player to delete all data of
See Also:
DBReadAllPlayerData(String)

DBReadPlayerData

java.util.List<DatabaseEngine.PlayerData> DBReadPlayerData(java.lang.String playerID,
                                                           java.lang.String section)
Table category: DBPLAYERDATA Read a specific set of data for the given player, belonging to the given section

Parameters:
playerID - the user id for the player to read data for
section - the section/type of data to read.
Returns:
the data for the player in the section
See Also:
DatabaseEngine.PlayerData, DBCountPlayerData(String, String), DBDeletePlayerData(String, String), DBReadPlayerData(String, List)

DBCountPlayerData

int DBCountPlayerData(java.lang.String playerID,
                      java.lang.String section)
Table category: DBPLAYERDATA Counts the number of rows of data/entries

Parameters:
playerID - the user id of the player to count the data of
section - the section/type of data to count
Returns:
the number of entries for the given player and section
See Also:
DBReadPlayerData(String, String), DBDeletePlayerData(String, String), DBReadPlayerData(String, List)

DBCountPlayerData

int DBCountPlayerData(java.lang.String section)
Table category: DBPLAYERDATA Counts the number of rows of data/entries per section.

Parameters:
section - the cross-player section of data
Returns:
the number of entries for the given section
See Also:
DBReadPlayerData(String, String), DBDeletePlayerData(String, String), DBReadPlayerData(String, List)

DBReadPlayerDataAuthorsBySection

java.util.List<java.lang.String> DBReadPlayerDataAuthorsBySection(java.lang.String section)
Table category: DBPLAYERDATA Returns the list of unique authors for a given section

Parameters:
section - the cross-player section of data
Returns:
the unique authors for a given section
See Also:
DBReadPlayerData(String, String), DBDeletePlayerData(String, String), DBReadPlayerData(String, List)

DBDeletePlayerData

void DBDeletePlayerData(java.lang.String playerID,
                        java.lang.String section)
Table category: DBPLAYERDATA Deletes all of the data for the given player of the given section/type.

Parameters:
playerID - the user id of the player to delete the data of
section - the section/type of data to delete
See Also:
DBReadPlayerData(String, String), DBCountPlayerData(String, String), DBReadPlayerData(String, List)

DBReadPlayerData

java.util.List<DatabaseEngine.PlayerData> DBReadPlayerData(java.lang.String player,
                                                           java.util.List<java.lang.String> sections)
Table category: DBPLAYERDATA Reads in all data for the given player which also belongs to any one of the given sections/data types.

Parameters:
player - the user id of the player to delete the data of
sections - the sections/types of data to return records for
Returns:
the player data records that match the player and sections
See Also:
DatabaseEngine.PlayerData, DBReadPlayerData(String, String), DBCountPlayerData(String, String), DBDeletePlayerData(String, String)

DBReadPlayerDataPlayersBySection

java.util.List<java.lang.String> DBReadPlayerDataPlayersBySection(java.lang.String section)
Table category: DBPLAYERDATA Reads in all unique player names for all players for the given data type/section.

Parameters:
section - the section to read player names for
Returns:
the list of all unique names in this section
See Also:
DBReadPlayerSectionData(String), DBDeletePlayerSectionData(String)

DBReadPlayerSectionData

java.util.List<DatabaseEngine.PlayerData> DBReadPlayerSectionData(java.lang.String section)
Table category: DBPLAYERDATA Reads in all player data for all players for the given data type/section. Use this sparingly!

Parameters:
section - the section, type of data to delete
Returns:
the player data in the given section for all players
See Also:
DatabaseEngine.PlayerData, DBReadPlayerDataPlayersBySection(String), DBDeletePlayerSectionData(String)

DBDeletePlayerSectionData

void DBDeletePlayerSectionData(java.lang.String section)
Table category: DBPLAYERDATA Deletes all player data of the given section/type.

Parameters:
section - the section, type of data to delete
See Also:
DBReadPlayerDataPlayersBySection(String), DBReadPlayerSectionData(String)

DBReadPlayerData

java.util.List<DatabaseEngine.PlayerData> DBReadPlayerData(java.lang.String playerID,
                                                           java.lang.String section,
                                                           java.lang.String key)
Table category: DBPLAYERDATA Reads what is probably a single player data entry, but could be more. All fields are required.

Parameters:
playerID - the name/userid of the player to read data for
section - the section/type of data to return
key - the key of the specific entry(s) to return
Returns:
the player data entry to return
See Also:
DatabaseEngine.PlayerData, DBReadPlayerDataByKeyMask(String, String), DBReadPlayerDataEntry(String)

DBReadPlayerDataByKeyMask

java.util.List<DatabaseEngine.PlayerData> DBReadPlayerDataByKeyMask(java.lang.String section,
                                                                    java.lang.String keyMask)
Table category: DBPLAYERDATA Reads a list of data entries in a given section and selecting keys by a regular expression. This is a scanning call by section.

Parameters:
section - the section/type of data to return
keyMask - the regular expression to match against keys
Returns:
the player data entries returned.
See Also:
DatabaseEngine.PlayerData, DBReadPlayerData(String, String, String), DBReadPlayerDataEntry(String)

DBReadPlayerDataEntry

java.util.List<DatabaseEngine.PlayerData> DBReadPlayerDataEntry(java.lang.String key)
Table category: DBPLAYERDATA Reads what is probably a single player data entry, but could be more?

Parameters:
key - the key of the specific entry(s) to return
Returns:
the player data entry to return
See Also:
DatabaseEngine.PlayerData, DBReadPlayerDataByKeyMask(String, String), DBReadPlayerData(String, String, String)

DBUpdatePlayerData

void DBUpdatePlayerData(java.lang.String key,
                        java.lang.String xml)
Table category: DBPLAYERDATA Updates what is probably a single player data entry, but could be more, by setting the xml data itself for a given key. All fields are required.

Parameters:
key - the key of the specific entry(s) to update
xml - the new data to save for this entry.
See Also:
DatabaseEngine.PlayerData, DBDeletePlayerData(String, String, String), DBReCreatePlayerData(String, String, String, String)

DBDeletePlayerData

void DBDeletePlayerData(java.lang.String playerID,
                        java.lang.String section,
                        java.lang.String key)
Table category: DBPLAYERDATA Deletes what is probably a single player data entry, but could be more. All fields are required.

Parameters:
playerID - the name/userid of the player to delete data for
section - the section/type of data to delete
key - the key of the specific entry(s) to delete
See Also:
DatabaseEngine.PlayerData, DBUpdatePlayerData(String, String), DBReCreatePlayerData(String, String, String, String)

DBReCreatePlayerData

DatabaseEngine.PlayerData DBReCreatePlayerData(java.lang.String name,
                                               java.lang.String section,
                                               java.lang.String key,
                                               java.lang.String xml)
Table category: DBPLAYERDATA Creates or Updates a single player data entry. This is the same as an upset where, if the key already exists, an update is done, otherwise an insert is done. All fields are required.

Parameters:
name - the userid/player id of the entry to create/update
section - the section/type of data to create/update
key - the key of the specific entry(s) to create/update
xml - the new data to save for this entry.
Returns:
the filled in PlayerData record, for both create and update
See Also:
DatabaseEngine.PlayerData, DBReCreatePlayerData(String, String, String, String), DBCreatePlayerData(String, String, String, String)

DBCreatePlayerData

DatabaseEngine.PlayerData DBCreatePlayerData(java.lang.String player,
                                             java.lang.String section,
                                             java.lang.String key,
                                             java.lang.String data)
Table category: DBPLAYERDATA Creates a single player data entry. All fields are required.

Parameters:
player - the userid/player id of the entry to create
section - the section/type of data to create
key - the key of the specific entry(s) to create
data - the new xml to save for this entry.
Returns:
the filled in PlayerData record
See Also:
DatabaseEngine.PlayerData, DBReCreatePlayerData(String, String, String, String), DBCreatePlayerData(String, String, String, String)

DBReadArtifacts

void DBReadArtifacts()
Table category: DBPLAYERDATA Initializes the artifact ability tickers by reading them from the CMPDAT table, creating a Prop_Artifact ability, and setting it to start ticking.


DBReadRaces

java.util.List<DatabaseEngine.AckRecord> DBReadRaces()
Table category: DBRACE Reads all records from the CMGRAC table and returns the AckRecord for all of them in a list, to do with as you please. These are the generic races.

Returns:
the generic race records
See Also:
DatabaseEngine.AckRecord, DBPruneOldRaces(), DBDeleteRace(String), DBCreateRace(String, String)

DBPruneOldRaces

void DBPruneOldRaces()
Table category: DBRACE Deletes entries in the generic race (CMGRAC) table that are older than RACEEXPIRATIONDAYS old (see ini file).

See Also:
DBReadRaces(), DBDeleteRace(String), DBCreateRace(String, String)

DBDeleteRace

void DBDeleteRace(java.lang.String raceID)
Table category: DBRACE Removes a generic race from the CMGRAC table.

Parameters:
raceID - the ID of the race to delete
See Also:
DBReadRaces(), DBPruneOldRaces(), DBCreateRace(String, String)

DBCreateRace

void DBCreateRace(java.lang.String raceID,
                  java.lang.String data)
Table category: DBRACE Creates a new entry in the generic races (CMGRAC) table with the given unique ID and xml definition data.

Parameters:
raceID - the unique RaceID
data - the xml data defining the generic race
See Also:
DBReadRaces(), DBPruneOldRaces(), DBDeleteRace(String)

DBReadClasses

java.util.List<DatabaseEngine.AckRecord> DBReadClasses()
Table category: DBCHARCLASS Reads all records from the CMCCAC table and returns the AckRecord for all of them in a list, to do with as you please. These are the generic charclasses.

Returns:
the generic charclass records
See Also:
DatabaseEngine.AckRecord, DBDeleteClass(String), DBCreateClass(String, String)

DBDeleteClass

void DBDeleteClass(java.lang.String classID)
Table category: DBCHARCLASS Removes a generic charclass from the CMCCAC table.

Parameters:
classID - the ID of the charclass to delete
See Also:
DBReadClasses(), DBCreateClass(String, String)

DBCreateClass

void DBCreateClass(java.lang.String classID,
                   java.lang.String data)
Table category: DBCHARCLASS Creates a new entry in the generic charclasses (CMCCAC) table with the given unique ID and xml definition data.

Parameters:
classID - the unique CharClassID
data - the xml data defining the generic charclass
See Also:
DBReadClasses(), DBDeleteClass(String)

DBReadAbilities

java.util.List<DatabaseEngine.AckRecord> DBReadAbilities()
Table category: DBABILITY Reads all records from the CMGAAC table and returns the AckRecord for all of them in a list, to do with as you please. These are the generic abilities.

Returns:
the generic ability records
See Also:
DatabaseEngine.AckRecord, DBDeleteAbility(String), DBCreateAbility(String, String, String)

DBDeleteAbility

void DBDeleteAbility(java.lang.String classID)
Removes a generic ability from the CMGAAC table.

Parameters:
classID - the ID of the ability to delete
See Also:
DBReadAbilities(), DBCreateAbility(String, String, String)

DBCreateAbility

void DBCreateAbility(java.lang.String classID,
                     java.lang.String typeClass,
                     java.lang.String data)
Table category: DBABILITY Creates a new entry in the generic ability (CMGAAC) table with the given unique ID and xml definition data.

Parameters:
classID - the unique AbilityID
typeClass - the Ability class ID to base off of (GenAbility, etc.)
data - the xml data defining the generic ability
See Also:
DBReadAbilities(), DBDeleteAbility(String)

DBReadStat

CoffeeTableRow DBReadStat(long startTime)
Table category: DBSTATS Reads a days worth of stats from the CMSTAT table in the database. Returning as a CofeeTableRow object populated with the days data. The start time has the correct date, and an hr/min/sec/ms of 0s.

Parameters:
startTime - the timestamp of the day start
Returns:
the row of data for that day.
See Also:
DBUpdateStat(long, String), DBDeleteStat(long), DBCreateStat(long, long, String), DBReadStats(long, long), CoffeeTableRow

DBDeleteStat

void DBDeleteStat(long startTime)
Table category: DBSTATS Deletes a days worth of stats from the CMSTAT table in the database. The start time has the correct date, and an hr/min/sec/ms of 0s.

Parameters:
startTime - the timestamp of the day to delete
See Also:
DBUpdateStat(long, String), DBCreateStat(long, long, String), DBReadStats(long, long), DBReadStat(long)

DBCreateStat

boolean DBCreateStat(long startTime,
                     long endTime,
                     java.lang.String data)
Table category: DBSTATS Creates a days worth of stats in the CMSTAT table in the database. The start time has the correct date, and an hr/min/sec/ms of 0s. The end time is whatever.

Parameters:
startTime - the timestamp of the day start
endTime - the timestamp of the day end
data - the xml data to insert.
Returns:
true if insert was successful, false otherwise
See Also:
DBUpdateStat(long, String), DBDeleteStat(long), DBReadStats(long, long), DBReadStat(long)

DBUpdateStat

boolean DBUpdateStat(long startTime,
                     java.lang.String data)
Table category: DBSTATS Updates a single days worth of stats in the CMSTAT table in the database. The start time has the correct date, and an hr/min/sec/ms of 0s.

Parameters:
startTime - the timestamp of the day start
data - the xml data to use.
Returns:
true if the update succeeded, false otherwise
See Also:
DBDeleteStat(long), DBCreateStat(long, long, String), DBReadStats(long, long), DBReadStat(long)

DBReadStats

java.util.List<CoffeeTableRow> DBReadStats(long startTime,
                                           long endTime)
Table category: DBSTATS Read all or a group of statistic rows within a time range. Each row represents a rl 'day' of data.

Parameters:
startTime - the timestamp of the first row
endTime - 0, or the end time of the last row.
Returns:
the group of statistics requested.
See Also:
DBUpdateStat(long, String), DBDeleteStat(long), DBCreateStat(long, long, String), DBReadStat(long), CoffeeTableRow

DBCreatePoll

void DBCreatePoll(java.lang.String name,
                  java.lang.String player,
                  java.lang.String subject,
                  java.lang.String description,
                  java.lang.String optionXML,
                  int flag,
                  java.lang.String qualZapper,
                  java.lang.String results,
                  long expiration)
Table category: DBPOLLS Creates a new poll in the DBPOLLS table. Most of the arguments are self explanatory.

Parameters:
name - the unique name of the poll
player - the user/character id of the creator
subject - the title/subject of the poll
description - the long descriptions
optionXML - choices format <OPTIONS><OPTION>option text...
flag - flag bitmap, see Poll.FLAG_ABSTAIN
qualZapper - the zapper mask for who can answer the poll
results - <RESULTS><RESULT><USER><IP><ANS>
expiration - the rl date/timestamp of when the poll auto-closes
See Also:
Poll, Poll.FLAG_ABSTAIN, DBUpdatePoll(String, String, String, String, String, String, int, String, String, long), DBUpdatePollResults(String, String), DBDeletePoll(String), DBReadPollList(), DBReadPoll(String)

DBUpdatePoll

void DBUpdatePoll(java.lang.String OldName,
                  java.lang.String name,
                  java.lang.String player,
                  java.lang.String subject,
                  java.lang.String description,
                  java.lang.String optionXML,
                  int flag,
                  java.lang.String qualZapper,
                  java.lang.String results,
                  long expiration)
Table category: DBPOLLS Updates and/or renames a poll in the DBPOLLS table. Most of the arguments are self explanatory.

Parameters:
OldName - required, the unique old name of the poll, or current name
name - the unique new name of the poll, or the current one
player - the user/character id of the creator
subject - the title/subject of the poll
description - the long descriptions
optionXML - choices format <OPTIONS><OPTION>option text...
flag - flag bitmap, see Poll.FLAG_ABSTAIN
qualZapper - the zapper mask for who can answer the poll
results - xml doc: <RESULTS><RESULT><USER><IP><ANS>
expiration - the rl date/timestamp of when the poll auto-closes
See Also:
Poll, Poll.FLAG_ABSTAIN, DBCreatePoll(String, String, String, String, String, int, String, String, long), DBUpdatePollResults(String, String), DBDeletePoll(String), DBReadPollList(), DBReadPoll(String)

DBUpdatePollResults

void DBUpdatePollResults(java.lang.String name,
                         java.lang.String results)
Table category: DBPOLLS Updates the results xml array for an existing poll. Called when a new result is added, removed, or modified.

Parameters:
name - the unique name of the poll
results - xml doc: <RESULTS><RESULT><USER><IP><ANS>
See Also:
Poll, Poll.FLAG_ABSTAIN, DBCreatePoll(String, String, String, String, String, int, String, String, long), DBUpdatePoll(String, String, String, String, String, String, int, String, String, long), DBDeletePoll(String), DBReadPollList(), DBReadPoll(String)

DBDeletePoll

void DBDeletePoll(java.lang.String name)
Table category: DBPOLLS Deletes a poll, and all its options and results, forever.

Parameters:
name - the unique name of the poll to kill
See Also:
Poll, Poll.FLAG_ABSTAIN, DBCreatePoll(String, String, String, String, String, int, String, String, long), DBUpdatePoll(String, String, String, String, String, String, int, String, String, long), DBUpdatePollResults(String, String), DBReadPollList(), DBReadPoll(String)

DBReadPollList

java.util.List<DatabaseEngine.PollData> DBReadPollList()
Table category: DBPOLLS Reads the raw data for all the polls from DBPOLLs table.

Returns:
the list of PollData objects
See Also:
DatabaseEngine.PollData, Poll, Poll.FLAG_ABSTAIN, DBCreatePoll(String, String, String, String, String, int, String, String, long), DBUpdatePoll(String, String, String, String, String, String, int, String, String, long), DBUpdatePollResults(String, String), DBDeletePoll(String), DBReadPoll(String)

DBReadPoll

DatabaseEngine.PollData DBReadPoll(java.lang.String name)
Table category: DBPOLLS Reads the raw data for a specific poll of a given name.

Parameters:
name - the unique name of the poll to read
Returns:
the raw poll data for that poll, as a PollData object
See Also:
DatabaseEngine.PollData, Poll, Poll.FLAG_ABSTAIN, DBCreatePoll(String, String, String, String, String, int, String, String, long), DBUpdatePoll(String, String, String, String, String, String, int, String, String, long), DBUpdatePollResults(String, String), DBDeletePoll(String), DBReadPoll(String)

DBReadVFSDirectory

CMFile.CMVFSDir DBReadVFSDirectory()
Table category: DBVFS Reads the root of the VFS (DBFS) database filesystem. It returns the CMFile.CMVFSDir virtual object describing the database filesystem root and its contents.

Returns:
the dbfs root filesystem
See Also:
CMFile.CMVFSDir, DBReadVFSFile(String), DBCreateVFSFile(String, int, String, long, Object), DBUpSertVFSFile(String, int, String, long, Object), DBDeleteVFSFile(String)

DBReadVFSFile

CMFile.CMVFSFile DBReadVFSFile(java.lang.String filename)
Table category: DBVFS Reads the complete DBFS file record for the given filepath. The path does not begin with a /.

Parameters:
filename - the path of the file to read
Returns:
the complete file record, including data
See Also:
CMFile.CMVFSFile, DBReadVFSDirectory(), DBCreateVFSFile(String, int, String, long, Object), DBUpSertVFSFile(String, int, String, long, Object), DBDeleteVFSFile(String)

DBCreateVFSFile

void DBCreateVFSFile(java.lang.String filename,
                     int bits,
                     java.lang.String creator,
                     long updateTime,
                     java.lang.Object data)
Table category: DBVFS Creates a new file in the DBFS filesystem stored in the CBVFS table. The filename does not begin with a /. The data may be a String, StringBuffer, or byte array. The bits are found in CMFile.

Parameters:
filename - the full name/path
bits - toggle bits about the file
creator - the character id of the file creator/owner
updateTime - the timestamp of the files creation/update time
data - the file content, String, StringBuffer, or byte array
See Also:
CMFile.VFS_MASK_MASKSAVABLE, DBReadVFSDirectory(), DBReadVFSFile(String), DBUpSertVFSFile(String, int, String, long, Object), DBDeleteVFSFile(String)

DBUpSertVFSFile

void DBUpSertVFSFile(java.lang.String filename,
                     int bits,
                     java.lang.String creator,
                     long updateTime,
                     java.lang.Object data)
Table category: DBVFS Creates or updates a file in the DBFS filesystem stored in the CBVFS table. The filename does not begin with a /. The data may be a String, StringBuffer, or byte array. The bits are found in CMFile.

Parameters:
filename - the full name/path
bits - toggle bits about the file
creator - the character id of the file creator/owner
updateTime - the timestamp of the files creation/update time
data - the file content, String, StringBuffer, or byte array
See Also:
CMFile.VFS_MASK_MASKSAVABLE, DBReadVFSDirectory(), DBReadVFSFile(String), DBCreateVFSFile(String, int, String, long, Object), DBDeleteVFSFile(String)

DBDeleteVFSFile

void DBDeleteVFSFile(java.lang.String filename)
Table category: DBVFS Deletes a file from the DBFS in the DBVFS table. The path does not begin with a /.

Parameters:
filename - the full path filename of the file to kill
See Also:
DBReadVFSDirectory(), DBReadVFSFile(String), DBCreateVFSFile(String, int, String, long, Object), DBUpSertVFSFile(String, int, String, long, Object)

addBackLogEntry

void addBackLogEntry(java.lang.String channelName,
                     java.lang.String entry)
Table category: DBBACKLOG Adds a CHANNEL message to the backlog table

Parameters:
channelName - the unique name of the channel
entry - message
See Also:
getBackLogEntries(String, int, int), trimBackLogEntries(String[], int, long)

getBackLogEntries

java.util.List<Pair<java.lang.String,java.lang.Long>> getBackLogEntries(java.lang.String channelName,
                                                                        int newestToSkip,
                                                                        int numToReturn)
Table category: DBBACKLOG Returns a list of channel messages for the given channel and criteria. The list returned includes the message, and the timestamp of the message. The list is date-sorted, so list returns can ge "paged" by setting the number to skip and the number to return.

Parameters:
channelName - the unique name of the channel to return messages from
newestToSkip - the number of "newest" messages to skip
numToReturn - the number of total messages to return
Returns:
a list of applicable messages, coded as string,timestamp
See Also:
addBackLogEntry(String, String), trimBackLogEntries(String[], int, long)

trimBackLogEntries

void trimBackLogEntries(java.lang.String[] channels,
                        int maxMessages,
                        long oldestTime)
Table category: DBBACKLOG This is a periodic maintenance method which will go through the list of unique channel names, and trim them according to the maximum number of messages to retain (absolute), and the oldest message to return (absolute timestamp -- no 0 nonsense). Both criteria will be used in the trimming.

Parameters:
channels - the list of channels to go through.
maxMessages - the maximum number of messages to retain
oldestTime - the oldest message to retain
See Also:
getBackLogEntries(String, int, int), addBackLogEntry(String, String)