package Ġcom . github . o ow ek y ala . ij cc . settings Ċ Ċ import Ġcom . github . o ow ek y ala . ij cc . lang . psi . J cc Psi Element Ċ import Ġcom . intellij . openapi . components . Service Manager . getService Ċ import Ġcom . intellij . openapi . project . Project Ċ Ċ /** Ċ Ġ* ĠProject - level Ġsettings Ġof Ġthe Ġplugin . Ċ Ġ* ĠSee Ġ[ Project . jav acc Settings ] Ġto Ġget Ġan Ġinstance . Ċ Ġ* Ċ Ġ* ĠThe Ġimplementation Ġ([ J av acc Project Settings ServiceImpl ]) Ġis Ġregistered Ċ Ġ* Ġas Ġa Ġ` project Service ` Ġwithin Ġ` plugin . xml `. Ċ Ġ* Ċ Ġ* ĠThe Ġ[ J av acc Project Settings Configurable ] Ġregisters Ġthe Ġ[ Plugin Settings Page ] Ċ Ġ* Ġin Ġthe Ġsettings Ġmenu . ĠSee Ġalso Ġthe Ġattributes Ġset Ġon Ġthose Ġin Ġthe Ġplugin Ċ Ġ* Ġmanifest . Ċ Ġ* Ċ Ġ* Ġ@ author ĠCl Ã©ment ĠF o urn ier Ċ Ġ* Ġ@ since Ġ 1 . 0 Ċ Ġ*/ Ċ interface ĠJ av acc Project Settings Service Ġ{ ĊĊĠĠĠ Ġvar Ġmy State : ĠJ cc Settings State ĊĊĠĠĠ Ġval Ġinjection Support Level : ĠInjection Support Level ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġmy State . injection Support Level ĊĊĠĠĠ Ġ/** ĠImmutable Ġversion , Ġthe Ġone Ġused Ġwithin Ġthe Ġproject . Ġ*/ ĊĠĠĠ Ġdata Ġclass ĠJ cc Settings State ( ĊĠĠĠĠĠĠĠ Ġval Ġinjection Support Level : ĠInjection Support Level Ġ= Ġdefault Injection Support Level ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġto Mutable (): ĠPers ist able Settings State Ġ= ĠPers ist able Settings State ( injection Support Level ) ĊĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĠMutable Ġversion , Ġthat 's Ġthe Ġone Ġbeing Ġserialized Ġsince Ġthe Ġpersistence Ġframework Ġneeds Ġset ters .. Ġ*/ ĊĠĠĠ Ġdata Ġclass ĠPers ist able Settings State ( ĊĠĠĠĠĠĠĠ Ġvar Ġinjection Support Level : ĠInjection Support Level Ġ= Ġdefault Injection Support Level ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġto Immutable (): ĠJ cc Settings State Ġ= ĠJ cc Settings State ( injection Support Level ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdefault Injection Support Level : ĠInjection Support Level Ġ= ĠInjection Support Level . CON SERV ATIVE ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** ĠGets Ġthe Ġinstance Ġof Ġ[ J av acc Project Settings Service ] Ġfor Ġthis Ġproject . Ġ*/ Ċ val ĠProject . jav acc Settings : ĠJ av acc Project Settings Service ĊĠĠĠ Ġget () Ġ= Ġget Service ( this , ĠJ av acc Project Settings Service :: class . java ) ĊĠĠĠĠĠĠĠ Ġ?: Ġerror (" Failed Ġto Ġget ĠJ av acc Project Settings Service Ġfor Ġ$ this ") Ċ Ċ /** ĠGets Ġthe Ġproject - specific Ġsettings Ġof Ġthe Ġplugin . Ġ*/ Ċ val ĠJ cc Psi Element . plugin Settings : ĠJ av acc Project Settings Service ĊĠĠĠ Ġget () Ġ= Ġproject . jav acc Settings Ċ