package Ġeu . ny er el . p anda . ij plugin . runner Ċ Ċ import Ġcom . intellij . ide . util . Properties Component Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġcom . intellij . ui . class Filter . Class Filter Ċ Ċ import Ġjava . util . ArrayList Ċ Ċ private Ġconst Ġval ĠPROPERTY _ P AND A _ MON IT O RED _ CLASSES Ġ= Ġ" p anda . mon itored . classes " Ċ private Ġconst Ġval ĠPROPERTY _ P AND A _ EXCL UDE D _ CLASSES Ġ= Ġ" p anda . excluded . classes " Ċ Ċ /** Ċ Ġ* Ġ@ author ĠR ast isl av ĠP app Ġ( r ast isl av . p app @ gmail . com ) Ċ Ġ*/ Ċ object ĠP anda Settings Ġ{ ĊĊĠĠĠ Ġvar Ġis Aggregate Call Tree Ġ= Ġtrue ĊĠĠĠ Ġvar Ġis Call Tree Structured Ġ= Ġtrue ĊĠĠĠ Ġvar Ġis Sort By Duration Ġ= Ġfalse ĊĠĠĠ Ġvar Ġis Show PackageName Ġ= Ġfalse ĊĠĠĠ Ġvar Ġhide Proxy Classes Ġ= Ġtrue ĊĊĠĠĠ Ġfun Ġget Mon itored Classes ( project : ĠProject ): ĠArray < Class Filter > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget Classes ( project , ĠPROPERTY _ P AND A _ MON IT O RED _ CLASSES ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Excluded Classes ( project : ĠProject ): ĠArray < Class Filter > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget Classes ( project , ĠPROPERTY _ P AND A _ EXCL UDE D _ CLASSES ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Classes ( project : ĠProject , ĠpropertyName : ĠString ): ĠArray < Class Filter > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġproperties Ġ= ĠProperties Component . getInstance ( project ) ĊĠĠĠĠĠĠĠ Ġval Ġclasses Property Ġ= Ġproperties . getValues ( propertyName ) ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( classes Property Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠconvertTo Mon itored Classes ( classes Property ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġempty Array () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Mon itored Classes AsString ( project : ĠProject ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmon itored Classes Ġ= Ġconvert ToString Array ( get Mon itored Classes ( project )) ĊĠĠĠĠĠĠĠ Ġreturn Ġconvert Array ToString ( mon itored Classes ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Excluded Classes AsString ( project : ĠProject ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmon itored Classes Ġ= Ġconvert ToString Array ( get Excluded Classes ( project )) ĊĠĠĠĠĠĠĠ Ġreturn Ġconvert Array ToString ( mon itored Classes ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġconvert Array ToString ( mon itored Classes : ĠArray < String >? ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsb Ġ= ĠStringBuilder () ĊĠĠĠĠĠĠĠ Ġif Ġ( mon itored Classes Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġmon itored Classes . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append ( mon itored Classes [ i ]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( i Ġ< Ġmon itored Classes . size Ġ- Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsb . append (",") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsb . toString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Mon itored Classes ( project : ĠProject , Ġmon itored Classes : ĠArray < Class Filter >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġproperties Ġ= ĠProperties Component . getInstance ( project ) ĊĠĠĠĠĠĠĠ Ġproperties . set Values ( PROPERTY _ P AND A _ MON IT O RED _ CLASSES , Ġconvert ToString Array ( mon itored Classes )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Excluded Classes ( project : ĠProject , Ġexcluded Classes : ĠArray < Class Filter >) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġproperties Ġ= ĠProperties Component . getInstance ( project ) ĊĠĠĠĠĠĠĠ Ġproperties . set Values ( PROPERTY _ P AND A _ EXCL UDE D _ CLASSES , Ġconvert ToString Array ( excluded Classes )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠconvertTo Mon itored Classes ( mon itored Class Patterns : ĠArray < String >): ĠArray < Class Filter > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġclass Filter List Ġ= ĠArrayList < Class Filter >() ĊĠĠĠĠĠĠĠ Ġfor Ġ( mon itored Class Pattern Ġin Ġmon itored Class Patterns ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġclass Filter Ġ= ĠClass Filter ( mon itored Class Pattern ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclass Filter . isEnabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclass Filter List . add ( class Filter ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġclass Filter List . to Typed Array () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġconvert ToString Array ( mon itored Classes : ĠArray < Class Filter >? ): ĠArray < String >? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( mon itored Classes Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Ġ= ĠArrayList < String >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( mon itored Class Ġin Ġmon itored Classes ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( mon itored Class . isEnabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ( mon itored Class . pattern ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . to Typed Array () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ