/* Ċ Ġ* ĠCopyright Ġ 2 0 0 0 - 2 0 1 6 ĠJetBrains Ġs . r . o . Ċ Ġ* Ċ Ġ* Ġ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 . intellij . profile . code Inspection Ċ Ċ import Ġcom . intellij . code Insight . daemon . impl . Severity Registrar Ċ import Ġcom . intellij . code Inspection . ex . Inspection Profile Impl Ċ import Ġcom . intellij . configuration Store . Lazy Scheme Processor Ċ import Ġcom . intellij . openapi . diagnostic . Logger Ċ import Ġcom . intellij . openapi . options . Scheme Manager Ċ import Ġcom . intellij . openapi . options . Scheme State Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġcom . intellij . util . messages . Message Bus Ċ Ċ @ Jvm Field Ċ internal Ġval ĠLOG Ġ= ĠLogger . getInstance ( Base Inspection Profile Manager :: class . java ) Ċ Ċ abstract Ġclass ĠBase Inspection Profile Manager ( message Bus : ĠMessage Bus ) Ġ: Ġ ĠIns pection Project Profile Manager () Ġ{ ĊĠ Ġprotected Ġabstract Ġval Ġscheme Manager : ĠScheme Manager < Inspection Profile Impl > ĊĊĠ Ġprivate Ġval Ġseverity Registrar Ġ= ĠSeverity Registrar ( message Bus ) ĊĊĠ Ġoverride Ġfinal Ġfun Ġget Severity Registrar () Ġ= Ġseverity Registrar ĊĊĠ Ġoverride Ġfinal Ġfun Ġget Own Severity Registrar () Ġ= Ġseverity Registrar ĊĊĠ Ġinternal Ġfun Ġcleanup Schemes ( project : ĠProject ) Ġ{ ĊĠĠĠ Ġfor Ġ( profile Ġin Ġscheme Manager . all Schemes ) Ġ{ ĊĠĠĠĠĠ Ġprofile . cleanup ( project ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġfun Ġadd Profile ( profile : ĠIns pection Profile Impl ) Ġ{ ĊĠĠĠ Ġscheme Manager . add Scheme ( profile ) ĊĠ Ġ} ĊĊĠ Ġfun Ġdelete Profile ( name : ĠString ) Ġ{ ĊĠĠĠ Ġscheme Manager . remove Scheme ( name )?. let Ġ{ ĊĠĠĠĠĠ Ġscheme Removed ( it ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġfun Ġdelete Profile ( profile : ĠIns pection Profile Impl ) Ġ{ ĊĠĠĠ Ġif Ġ( scheme Manager . remove Scheme ( profile )) Ġ{ ĊĠĠĠĠĠ Ġscheme Removed ( profile ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġopen Ġprotected Ġfun Ġscheme Removed ( scheme : ĠIns pection Profile Impl ) Ġ{ ĊĠ Ġ} ĊĊĠ Ġabstract Ġfun Ġfire Profile Changed ( profile : ĠIns pection Profile Impl ) Ċ } Ċ Ċ abstract Ġclass ĠIns pection Profile Processor Ġ: ĠLazy Scheme Processor < Inspection Profile Impl , ĠIns pection Profile Impl >() Ġ{ ĊĠ Ġoverride Ġfun ĠgetState ( scheme : ĠIns pection Profile Impl ): ĠScheme State Ġ{ ĊĠĠĠ Ġreturn Ġif Ġ( scheme . was Initialized ()) ĠScheme State . PO SS IB LY _ CHANGED Ġelse ĠScheme State . UN CHANGED ĊĠ Ġ} Ċ }