package Ġcom . fw de kker . random ness . word Ċ Ċ import Ġcom . fw de kker . random ness . Box Ċ import Ġcom . fw de kker . random ness . Bundle Ċ import Ġcom . fw de kker . random ness . Capital ization Mode Ċ import Ġcom . fw de kker . random ness . Random ness Icons Ċ import Ġcom . fw de kker . random ness . Scheme Ċ import Ġcom . fw de kker . random ness . Scheme Decorator Ċ import Ġcom . fw de kker . random ness . Settings State Ċ import Ġcom . fw de kker . random ness . State Ċ import Ġcom . fw de kker . random ness . Type Icon Ċ import Ġcom . fw de kker . random ness . array . Array Decorator Ċ import Ġcom . intellij . util . xml b . annotations . Transient Ċ import Ġcom . intellij . util . xml b . annotations . X Collection Ċ import Ġjava . awt . Color ĊĊ Ċ /** Ċ Ġ* ĠContains Ġsettings Ġfor Ġgenerating Ġrandom Ġwords . Ċ Ġ* Ċ Ġ* Ġ@ property Ġmin Length ĠThe Ġminimum Ġlength Ġof Ġthe Ġgenerated Ġword , Ġinclusive . Ċ Ġ* Ġ@ property ĠmaxLength ĠThe Ġmaximum Ġlength Ġof Ġthe Ġgenerated Ġword , Ġinclusive . Ċ Ġ* Ġ@ property Ġquot ation ĠThe Ġstring Ġthat Ġen clo ses Ġthe Ġgenerated Ġword Ġon Ġboth Ġsides . Ċ Ġ* Ġ@ property Ġcustom Quot ation ĠThe Ġquot ation Ġdefined Ġin Ġthe Ġcustom Ġoption . Ċ Ġ* Ġ@ property Ġcapital ization ĠThe Ġway Ġin Ġwhich Ġthe Ġgenerated Ġword Ġshould Ġbe Ġcapital ized . Ċ Ġ* Ġ@ property Ġactive Di ctionaries ĠThe Ġlist Ġof Ġdictionaries Ġthat Ġare Ġcurrently Ġactive . Ċ Ġ* Ġ@ property Ġarray Decorator ĠSettings Ġthat Ġdetermine Ġwhether Ġthe Ġoutput Ġshould Ġbe Ġan Ġarray Ġof Ġvalues . Ċ Ġ*/ Ċ data Ġclass ĠWord Scheme ( ĊĠĠĠ Ġvar Ġmin Length : ĠInt Ġ= ĠDEFAULT _ MIN _ LENGTH , ĊĠĠĠ Ġvar ĠmaxLength : ĠInt Ġ= ĠDEFAULT _ MAX _ LENGTH , ĊĠĠĠ Ġvar Ġquot ation : ĠString Ġ= ĠDEFAULT _ QUOT ATION , ĊĠĠĠ Ġvar Ġcustom Quot ation : ĠString Ġ= ĠDEFAULT _ CUSTOM _ QUOT ATION , ĊĠĠĠ Ġvar Ġcapital ization : ĠCap ital ization Mode Ġ= ĠDEFAULT _ CAP ITAL IZATION , ĊĠĠĠ Ġ@ get : X Collection ( element Types Ġ= Ġ[ Bund led Dictionary :: class , ĠUser Dictionary :: class ]) ĊĠĠĠ Ġvar Ġactive Di ctionaries : ĠSet < Dictionary > Ġ= ĠDEFAULT _ ACTIVE _ DI CTION ARIES . to Mutable Set (), ĊĠĠĠ Ġvar Ġarray Decorator : ĠArray Decorator Ġ= ĠArray Decorator () Ċ ) Ġ: ĠScheme () Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠPersistent Ġstorage Ġof Ġavailable Ġdictionaries . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ get : Transient ĊĠĠĠ Ġvar Ġdictionary Settings : ĠBox < Dictionary Settings > Ġ= ĠBox ({ ĠDictionary Settings . default Ġ}) ĊĊĠĠĠ Ġ@ get : Transient ĊĠĠĠ Ġoverride Ġval Ġname Ġ= ĠBundle (" word . title ") ĊĠĠĠ Ġoverride Ġval Ġtype Icon Ġ= ĠBASE _ ICON ĊĊĠĠĠ Ġoverride Ġval Ġdecorators : ĠList < Scheme Decorator > ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠlistOf ( array Decorator ) ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġformatted Ġrandom Ġwords Ġfrom Ġthe Ġdictionaries Ġin Ġ[ dictionary Settings ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcount Ġthe Ġnumber Ġof Ġwords Ġto Ġgenerate ĊĠĠĠĠ Ġ* Ġ@ return Ġformatted Ġrandom Ġwords Ġfrom Ġthe Ġdictionaries Ġin Ġ[ dictionary Settings ] ĊĠĠĠĠ Ġ* Ġ@ throws ĠInvalid Dictionary Exception Ġif Ġno Ġwords Ġcould Ġbe Ġfound Ġusing Ġthe Ġsettings Ġin Ġ[ dictionary Settings ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġgenerate Un decor ated Strings ( count : ĠInt ): ĠList < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġwords Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactive Di ctionaries ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ Ġit . words Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . length Ġin Ġmin Length .. maxLength Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. toSet () ĊĊĠĠĠĠĠĠĠ Ġreturn ĠList ( count ) Ġ{ Ġwords . random ( random ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġcapital ization . transform ( it , Ġrandom ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġin Quotes ( it ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠEn caps ulates Ġ[ string ] Ġin Ġthe Ġquotes Ġdefined Ġby Ġ[ quotation ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġstring Ġthe Ġstring Ġto Ġencaps ulate ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ string ] Ġencaps ulated Ġin Ġthe Ġquotes Ġdefined Ġby Ġ[ quotation ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġin Quotes ( string : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstart Quote Ġ= Ġquot ation . get OrNull ( 0 ) Ġ?: Ġ"" ĊĠĠĠĠĠĠĠ Ġval Ġend Quote Ġ= Ġquot ation . get OrNull ( 1 ) Ġ?: Ġstart Quote ĊĊĠĠĠĠĠĠĠ Ġreturn Ġ"$ start Quote $ string $ end Quote " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Settings State ( settings State : ĠSettings State ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . set Settings State ( settings State ) ĊĠĠĠĠĠĠĠ Ġdictionary Settings Ġ+= Ġsettings State . dictionary Settings ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġdo Validate (): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġ(+ dictionary Settings ). do Validate ()?. also Ġ{ Ġreturn Ġit Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġwords Ġ= Ġactive Di ctionaries . flatMap Ġ{ Ġit . words Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġmin Word Length Ġ= Ġwords . map Ġ{ Ġit . length Ġ}. min OrNull () Ġ?: Ġ 1 ĊĠĠĠĠĠĠĠ Ġval Ġmax Word Length Ġ= Ġwords . map Ġ{ Ġit . length Ġ}. max OrNull () Ġ?: ĠInteger . MAX _ VALUE ĊĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmin Length Ġ< ĠMIN _ LENGTH Ġ-> ĠBundle (" word . error . min _ length _ too _ low ", ĠMIN _ LENGTH ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmin Length Ġ> ĠmaxLength Ġ-> ĠBundle (" word . error . min _ length _ above _ max ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactive Di ctionaries . isEmpty () Ġ-> ĠBundle (" word . error . no _ active _ dictionary ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmin Length Ġ> Ġmax Word Length Ġ-> ĠBundle (" word . error . min _ length _ above _ range ", Ġmax Word Length ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠmaxLength Ġ< Ġmin Word Length Ġ-> ĠBundle (" word . error . max _ length _ below _ range ", Ġmin Word Length ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcustom Quot ation . length Ġ> Ġ 2 Ġ-> ĠBundle (" word . error . quotation _ length ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġarray Decorator . do Validate () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcopy From ( other : ĠState ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrequire ( other Ġis ĠWord Scheme ) Ġ{ ĠBundle (" shared . error . cannot _ copy _ from _ different _ type ") Ġ} ĊĊĠĠĠĠĠĠĠ Ġ(+ dictionary Settings ). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . copyFrom (+ other . dictionary Settings ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . copyFrom ( other ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdictionary Settings Ġ+= Ġit ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdeep Copy ( retain Uuid : ĠBoolean ) Ġ= ĊĠĠĠĠĠĠĠ Ġcopy ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactive Di ctionaries Ġ= Ġactive Di ctionaries . map Ġ{ Ġit . deep Copy () Ġ}. toSet (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarray Decorator Ġ= Ġarray Decorator . deep Copy ( retain Uuid ) ĊĠĠĠĠĠĠĠ Ġ). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( retain Uuid ) Ġit . uuid Ġ= Ġthis . uuid ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . dictionary Settings Ġ+= Ġ(+ dictionary Settings ). deep Copy ( retain Uuid Ġ= Ġretain Uuid ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠHold s Ġconstants . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠThe Ġbase Ġicon Ġfor Ġwords . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġval ĠBASE _ ICON Ġ= ĠType Icon ( Random ness Icons . SCHEME , Ġ" cat ", ĠlistOf ( Color ( 2 4 2 , Ġ 1 0 1 , Ġ 3 4 , Ġ 1 5 4 ))) ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠThe Ġsmallest Ġvalid Ġvalue Ġof Ġthe Ġ[ min Length ] Ġfield . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠMIN _ LENGTH Ġ= Ġ 1 ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠThe Ġlargest Ġvalid Ġdifference Ġbetween Ġthe Ġ[ min Length ] Ġand Ġ[ maxLength ] Ġfields . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠMAX _ LENGTH _ DI FFER ENCE Ġ= ĠInt . MAX _ VALUE ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠThe Ġdefault Ġvalue Ġof Ġthe Ġ[ min Length ] Ġfield . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠDEFAULT _ MIN _ LENGTH Ġ= Ġ 3 ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠThe Ġdefault Ġvalue Ġof Ġthe Ġ[ maxLength ] Ġfield . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠDEFAULT _ MAX _ LENGTH Ġ= Ġ 8 ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠThe Ġdefault Ġvalue Ġof Ġthe Ġ[ quotation ] Ġfield . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠDEFAULT _ QUOT ATION Ġ= Ġ"\"" ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠThe Ġdefault Ġvalue Ġof Ġthe Ġ[ custom Quot ation ] Ġfield . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠDEFAULT _ CUSTOM _ QUOT ATION Ġ= Ġ"< >" ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠThe Ġdefault Ġvalue Ġof Ġthe Ġ[ capital ization ] Ġfield . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġval ĠDEFAULT _ CAP ITAL IZATION Ġ= ĠCap ital ization Mode . RE TAIN ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠThe Ġdefault Ġvalue Ġof Ġthe Ġ[ active Di ctionaries ] Ġfield . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġval ĠDEFAULT _ ACTIVE _ DI CTION ARIES : ĠSet < Dictionary > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= Ġset Of ( Bund led Dictionary ( Bund led Dictionary . SIMPLE _ DI CTIONARY )) ĊĠĠĠ Ġ} Ċ } Ċ