/* Ċ Ġ* ĠMIT ĠLicense Ċ Ġ* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 2 0 ĠThe ĠSimple Cloud Ġauthors Ċ Ġ* Ċ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ġof Ġthis Ġsoftware Ġand Ġassociated Ċ Ġ* Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ċ Ġ* Ġthe Ġrights Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ġcopies Ġof Ġthe ĠSoftware , Ċ Ġ* Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* Ċ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ġall Ċ Ġ* Ġcopies Ġor Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR ĠIMPLIED , Ċ Ġ* ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , Ċ Ġ* ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNONINFRINGEMENT . Ċ Ġ* ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , Ċ Ġ* ĠDAMAGES ĠOR ĠOTHER ĠLIABILITY , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , Ċ Ġ* ĠARISING ĠFROM , ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER Ċ Ġ* ĠDEALINGS ĠIN ĠTHE ĠSOFTWARE . Ċ Ġ*/ Ċ Ċ package Ġeu . the simple cloud . base . manager . commands . provider Ċ Ċ import Ġeu . the simple cloud . api . Cloud API Ċ import Ġeu . the simple cloud . api . command . IC ommand Sender Ċ import Ġeu . the simple cloud . api . utils . getAll Fields From Class And Sub Classes Ċ import Ġeu . the simple cloud . launcher . console . command . provider . IC ommand Suggestion Provider Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠIntelliJ ĠIDEA . Ċ Ġ* ĠUser : ĠPhil ipp . E istr ach Ċ Ġ* ĠDate : Ġ 1 4 . 0 4 . 2 0 2 0 Ċ Ġ* ĠTime : Ġ 1 8 : 3 9 Ċ Ġ*/ Ċ class ĠEdit Group Parameter Command Suggestion Provider Ġ: ĠICommand Suggestion Provider Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Suggestions ( sender : ĠICommand Sender , Ġfull Command : ĠString , Ġlast Argument : ĠString ): ĠList < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfull Command Array Ġ= Ġfull Command . split (" Ġ") ĊĠĠĠĠĠĠĠ Ġval ĠgroupName Ġ= Ġfull Command Array [ full Command Array . last Index Ġ- Ġ 1 ] ĊĠĠĠĠĠĠĠ Ġval Ġgroup Ġ= ĠCloud API . instance . get Cloud Service Group Manager (). getService Group ByName ( groupName ) ĊĠĠĠĠĠĠĠ Ġgroup Ġ?: Ġreturn Ġempty List () ĊĠĠĠĠĠĠĠ Ġval Ġall Fields Ġ= Ġgroup :: class . java . getAll Fields From Class And Sub Classes (). filter Ġ{ Ġ! Collection :: class . java . isAssignableFrom ( it . type ) Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġall Fields . filter Not Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . name Ġ== Ġ" name " Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . name Ġ== Ġ" service Version " Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . name Ġ== Ġ" wrapper Name " ĊĠĠĠĠĠĠĠ Ġ}. map Ġ{ Ġit . name Ġ} ĊĠĠĠ Ġ} Ċ Ċ }