package Ġorg . ice 1 0 0 0 . gradle Ċ Ċ import Ġorg . gradle . api . tasks . Task Action Ċ Ċ abstract Ġclass ĠGen Enum Task < T >( className : ĠString ) Ġ: ĠGen Java Task ( className ), ĠRunnable Ġ{ Ċ ĉ abstract Ġval Ġlist : ĠList < T > ĊĊ ĉ @ Task Action Ċ ĉ override Ġfun Ġrun () Ġ{ Ċĉ ĉ build String Ġ{ Ċĉĉ ĉ append ( prefix Inter f aced Java ) Ċĉĉ ĉ list . forEach Indexed Ġ{ Ġindex , Ġelement Ġ-> Ċĉĉĉ ĉ append ('\ t ') Ċĉĉĉ ĉ gen Statement ( index , Ġelement ) Ċĉĉĉ ĉ append ln ("; ") Ċĉĉ ĉ } Ċĉĉ ĉ append ln (' }') Ċĉ ĉ }. let Ġ{ Ġtarget Java File . write Text ( it ) Ġ} Ċ ĉ } ĊĊ ĉ open Ġfun ĠStringBuilder . gen Statement ( index : ĠInt , Ġelement : ĠT ) Ġ{ Ċĉ ĉ append (" int Ġ") Ċĉ ĉ append ( element ) Ċĉ ĉ append (" Ġ= Ġ") Ċĉ ĉ append ( index ) Ċ ĉ } Ċ } Ċ Ċ open Ġclass ĠGen Style Vars Task Ġ: ĠGen Enum Task < Pair < String , ĠString >> (" J Im Style Vars ") Ġ{ Ċ ĉ override Ġval Ġlist Ġ= ĠlistOf (" Alpha " Ġto Ġ" Float ", Ċĉĉ ĉ " Window Padding " Ġto Ġ" Void ", Ġ" Window Round ing " Ġto Ġ" Float ", Ġ" Window Border Size " Ġto Ġ" Float ", Ċĉĉ ĉ " Window Min Size " Ġto Ġ" Void ", Ġ" Window Title Align " Ġto Ġ" Void ", Ġ" Child Round ing " Ġto Ġ" Float ", Ċĉĉ ĉ " Child Border Size " Ġto Ġ" Float ", Ġ" Popup Round ing " Ġto Ġ" Float ", Ġ" Popup Border Size " Ġto Ġ" Float ", Ċĉĉ ĉ " Frame Padding " Ġto Ġ" Void ", Ġ" Frame Round ing " Ġto Ġ" Float ", Ġ" Frame Border Size " Ġto Ġ" Float ", Ċĉĉ ĉ " Item Spacing " Ġto Ġ" Void ", Ġ" Item Inner Spacing " Ġto Ġ" Void ", Ġ" Indent Spacing " Ġto Ġ" Float ", Ċĉĉ ĉ " Scrollbar Size " Ġto Ġ" Float ", Ġ" Scrollbar Round ing " Ġto Ġ" Float ", Ġ" Grab Min Size " Ġto Ġ" Float ", Ċĉĉ ĉ " Grab Round ing " Ġto Ġ" Float ", Ġ" ButtonText Align " Ġto Ġ" Void ") ĊĊ ĉ override Ġfun ĠStringBuilder . gen Statement ( index : ĠInt , Ġelement : ĠPair < String , ĠString >) Ġ{ Ċĉ ĉ val Ġ( name , Ġtype Arg ) Ġ= Ġelement Ċĉ ĉ append ("@ NotNull ĠJ Im Style Var < @ NotNull Ġ") Ċĉ ĉ append ( type Arg ) Ċĉ ĉ append ("> Ġ") Ċĉ ĉ append ( name ) Ċĉ ĉ append (" Ġ= Ġnew ĠJ Im Style Var < >(" ) Ċĉ ĉ append ( index ) Ċĉ ĉ append (' )') Ċ ĉ } Ċ } Ċ Ċ open Ġclass ĠGen Style Colors Task Ġ: ĠGen Enum Task < String >(" J Im Style Colors ") Ġ{ Ċ ĉ override Ġval Ġlist Ġ= ĠlistOf ( Ċĉĉ ĉ " Text ", Ġ" Text Disabled ", Ġ" Window Bg ", Ġ" Child Bg ", Ġ" Popup Bg ", Ġ" Border ", Ġ" Border Shadow ", Ġ" Frame Bg ", Ġ" Frame Bg Hover ed ", Ċĉĉ ĉ " Frame Bg Active ", Ġ" Title Bg ", Ġ" Title Bg Active ", Ġ" Title Bg Collapsed ", Ġ" MenuBar Bg ", Ġ" Scrollbar Bg ", Ġ" Scrollbar Grab ", Ċĉĉ ĉ " Scrollbar Grab Hover ed ", Ġ" Scrollbar Grab Active ", Ġ" Check Mark ", Ġ" Slider Grab ", Ġ" Slider Grab Active ", Ġ" Button ", Ċĉĉ ĉ " Button Hover ed ", Ġ" Button Active ", Ġ" Header ", Ġ" Header Hover ed ", Ġ" Header Active ", Ġ" Separator ", Ġ" Separator Hover ed ", Ċĉĉ ĉ " Separator Active ", Ġ" Resize G rip ", Ġ" Resize G rip Hover ed ", Ġ" Resize G rip Active ", Ġ" Plot Lines ", Ġ" Plot Lines Hover ed ", Ċĉĉ ĉ " Plot Histogram ", Ġ" Plot Histogram Hover ed ", Ġ" Text Selected Bg ", Ġ" Drag Drop Target ", Ċĉĉ ĉ " Nav Highlight ", Ġ" Nav Window List Highlight ", Ġ" Nav Window List Dim Bg ", Ġ" Modal Window Dim Bg ") Ċ } Ċ Ċ open Ġclass ĠGen Default Keys Task Ġ: ĠGen Enum Task < String >(" J Im Default Keys ") Ġ{ Ċ ĉ override Ġval Ġlist Ġ= ĠlistOf ( Ċĉĉ ĉ " Tab ", Ġ" Left Arrow ", Ġ" Right Arrow ", Ġ" Up Arrow ", Ġ" Down Arrow ", Ġ" Page Up ", Ġ" Page Down ", Ċĉĉ ĉ " Home ", Ġ" End ", Ġ" Insert ", Ġ" Delete ", Ġ" Back space ", Ġ" Space ", Ġ" Enter ", Ġ" Escape ", Ċĉĉ ĉ " Left Shift ", Ġ" Right Shift ", Ġ" Left Ctrl ", Ġ" Right Ctrl ", Ġ" Ctrl ", Ġ" Left Alt ", Ġ" Right Alt ", Ċĉĉ ĉ "_ 0 ", Ġ"_ 1 ", Ġ"_ 2 ", Ġ"_ 3 ", Ġ"_ 4 ", Ġ"_ 5 ", Ġ"_ 6 ", Ġ"_ 7 ", Ġ"_ 8 ", Ġ"_ 9 ", Ċĉĉ ĉ " A ", Ġ" B ", Ġ" C ", Ġ" D ", Ġ" E ", Ġ" F ", Ġ" G ", Ġ" Q ", Ġ" R ", Ġ" S ", Ġ" V ", Ġ" W ", Ġ" X ", Ġ" Y ", Ġ" Z ") Ċ } Ċ