/* Ċ Ġ* ĠCopyright Ġ 2 0 1 6 ĠRo ss ĠBind en Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . r pk it . chat . bukkit . chat group Ċ Ċ import Ġcom . r pk it . chat . bukkit . RP K Chat Bu kkit Ċ import Ġcom . r pk it . chat . bukkit . database . table . Last Used Chat Group Table Ċ import Ġcom . r pk it . chat . bukkit . database . table . RP K Chat Group Table Ċ import Ġcom . r pk it . chat . bukkit . event . chat group . RP K Bu kkit Chat Group Create Event Ċ import Ġcom . r pk it . chat . bukkit . event . chat group . RP K Bu kkit Chat Group Delete Event Ċ import Ġcom . r pk it . chat . bukkit . event . chat group . RP K Bu kkit Chat Group Update Event Ċ import Ġcom . r pk it . players . bukkit . player . RP K Player Ċ import Ġcom . r pk it . players . bukkit . profile . RP KM inecraft Profile Ċ import Ġcom . r pk it . players . bukkit . profile . RP KM inecraft Profile Provider Ċ Ċ /** Ċ Ġ* ĠChat Ġgroup Ġprovider Ġimplementation . Ċ Ġ*/ Ċ class ĠRP K Chat Group Provider Impl ( private Ġval Ġplugin : ĠRP K Chat Bu kkit ): ĠRP K Chat Group Provider Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Chat Group ( id : ĠInt ): ĠRP K Chat Group ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġplugin . core . database . getTable ( RP K Chat Group Table :: class )[ id ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Chat Group ( name : ĠString ): ĠRP K Chat Group ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġplugin . core . database . getTable ( RP K Chat Group Table :: class ). get ( name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġadd Chat Group ( chat Group : ĠRP K Chat Group ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġevent Ġ= ĠRP K Bu kkit Chat Group Create Event ( chat Group ) ĊĠĠĠĠĠĠĠ Ġplugin . server . plugin Manager . call Event ( event ) ĊĠĠĠĠĠĠĠ Ġif Ġ( event . is Cancelled ) Ġreturn ĊĠĠĠĠĠĠĠ Ġplugin . core . database . getTable ( RP K Chat Group Table :: class ). insert ( event . chat Group ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġremove Chat Group ( chat Group : ĠRP K Chat Group ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġevent Ġ= ĠRP K Bu kkit Chat Group Delete Event ( chat Group ) ĊĠĠĠĠĠĠĠ Ġplugin . server . plugin Manager . call Event ( event ) ĊĠĠĠĠĠĠĠ Ġif Ġ( event . is Cancelled ) Ġreturn ĊĠĠĠĠĠĠĠ Ġplugin . core . database . getTable ( RP K Chat Group Table :: class ). delete ( event . chat Group ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate Chat Group ( chat Group : ĠRP K Chat Group ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġevent Ġ= ĠRP K Bu kkit Chat Group Update Event ( chat Group ) ĊĠĠĠĠĠĠĠ Ġplugin . server . plugin Manager . call Event ( event ) ĊĠĠĠĠĠĠĠ Ġif Ġ( event . is Cancelled ) Ġreturn ĊĠĠĠĠĠĠĠ Ġplugin . core . database . getTable ( RP K Chat Group Table :: class ). update ( event . chat Group ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetLast Used Chat Group ( player : ĠRP K Player ): ĠRP K Chat Group ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbu kkit Player Ġ= Ġplayer . bukkit Player ĊĠĠĠĠĠĠĠ Ġif Ġ( bukkit Player Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġm inecraft Profile Provider Ġ= Ġplugin . core . service Manager . get ServiceProvider ( RP KM inecraft Profile Provider :: class ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġm inecraft Profile Ġ= Ġm inecraft Profile Provider . getM inecraft Profile ( bukkit Player ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( minecraft Profile Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠgetLast Used Chat Group ( minecraft Profile ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetLast Used Chat Group ( minecraft Profile : ĠRP KM inecraft Profile ): ĠRP K Chat Group ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġplugin . core . database . getTable ( Last Used Chat Group Table :: class ). get ( minecraft Profile )?. chat Group ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Last Used Chat Group ( minecraft Profile : ĠRP KM inecraft Profile , Ġchat Group : ĠRP K Chat Group ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlast Used Chat Group Table Ġ= Ġplugin . core . database . getTable ( Last Used Chat Group Table :: class ) ĊĠĠĠĠĠĠĠ Ġval Ġlast Used Chat Group Ġ= Ġlast Used Chat Group Table . get ( minecraft Profile ) ĊĠĠĠĠĠĠĠ Ġif Ġ( last Used Chat Group Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlast Used Chat Group . chat Group Ġ= Ġchat Group ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlast Used Chat Group Table . update ( last Used Chat Group ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlast Used Chat Group Table . insert ( Last Used Chat Group ( minecraft Profile Ġ= Ġm inecraft Profile , Ġchat Group Ġ= Ġchat Group )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Last Used Chat Group ( player : ĠRP K Player , Ġchat Group : ĠRP K Chat Group ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbu kkit Player Ġ= Ġplayer . bukkit Player ĊĠĠĠĠĠĠĠ Ġif Ġ( bukkit Player Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġm inecraft Profile Provider Ġ= Ġplugin . core . service Manager . get ServiceProvider ( RP KM inecraft Profile Provider :: class ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġm inecraft Profile Ġ= Ġm inecraft Profile Provider . getM inecraft Profile ( bukkit Player ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( minecraft Profile Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Last Used Chat Group ( minecraft Profile , Ġchat Group ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ