現在 ChannelManager でメソッド提供している部分に相当するものを、APIとして提供する。
現在、コマンドの処理内でエラー処理を完結させてしまっているところを、APIのメソッドで
Throws を付加して、独自のExceptionを投げてエラー通知する形式への変更が必須。
また、各種処理時にカスタムイベントを発行できるようにする。
【追加するAPI(案)】
LunaChatAPIクラスのメソッド
・public Set getChannelNames() throws LunaChatException
・public Set getChannelNamesByPlayer(String playerName)
・public String getDefaultChannel(String playerName)
・public void setDefaultChannel(String playerName, String channelName)
・public void removeDefaultChannel(String playerName)
・public Channel getChannel(String channelName)
・public Channel createChannel(String channelName)
・public void removeChannel(String channelName)
Channelクラス
・各フィールドを、protected から public へ変更
・serialize と deserialize を実装(issue #18)
各種イベントクラス
・LunaChatChannelCreatedEvent
・LunaChatChannelRemovedEvent
・LunaChatChannelOptionChangedEvent
・LunaChatChannelMemberChangedEvent
・LunaChatChannelChatEvent
【備考】
●ColorTeaming でも同様にAPI提供を行い、相互にデータやり取りする仲介プラグインを
用意すれば連携できるようにする。