Class BuddyList

java.lang.Object
client.BuddyList
All Implemented Interfaces:
Serializable

public class BuddyList extends Object implements Serializable
角色好友清單的記憶體模型,負責管理好友集合與資料庫持久化。

以容量上限管理 BuddylistEntry 物件的 LinkedHashMap, 提供新增、移除、依 ID 或名稱查詢、待處理邀請(pending)佇列,以及 changed 旗標供存檔判斷。

主要協作關係:

列舉 BuddyOperation 表示好友清單操作類型(新增/刪除), BuddyAddResult 表示新增結果(清單已滿/已在清單/成功)。

See Also:
  • Constructor Details

    • BuddyList

      public BuddyList(byte capacity)
  • Method Details

    • contains

      public boolean contains(int characterId)
    • containsVisible

      public boolean containsVisible(int characterId)
    • getCapacity

      public byte getCapacity()
    • setCapacity

      public void setCapacity(byte capacity)
    • get

      public BuddylistEntry get(int characterId)
    • get

      public BuddylistEntry get(String characterName)
    • put

      public void put(BuddylistEntry entry)
    • remove

      public void remove(int characterId)
    • getBuddies

      public Collection<BuddylistEntry> getBuddies()
    • isFull

      public boolean isFull()
    • getBuddyIds

      public int[] getBuddyIds()
    • loadFromTransfer

      public void loadFromTransfer(Map<CharacterNameAndId, Boolean> data)
    • loadFromDb

      public void loadFromDb(int characterId) throws SQLException
      Throws:
      SQLException
    • addBuddyRequest

      public void addBuddyRequest(MapleClient c, int cidFrom, String nameFrom, int channelFrom, int levelFrom, int jobFrom)
    • setChanged

      public void setChanged(boolean v)
    • changed

      public boolean changed()