// ĠCopyright Ġ 2 0 0 0 - 2 0 1 9 ĠJetBrains Ġs . r . o . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ package Ġcom . intellij . internal . statistic . beans Ċ Ċ /** Ċ Ġ* ĠMark Ġthe Ġmethods Ġthat Ġcreate Ġor Ġmodify ĠFeature Usage Data . ĠAnnotation Ġis Ġused Ġto Ġfacilitate Ġanalysis . Ċ Ġ* Ġ@ param ĠdataIndex Ġ- ĠFeature Usage Data Ġindex Ġin Ġthe Ġsignature Ġof Ġfactory Ġmethod , Ġstarts Ġat Ġ 0 Ċ Ġ* Ġ@ param Ġevent Id Index Ġ- Ġevent Ġid Ġindex Ġin Ġthe Ġsignature Ġof Ġfactory Ġmethod , Ġstarts Ġat Ġ 0 Ċ Ġ* Ġ@ param Ġadditional Data Fields Ġ- Ġan Ġarray Ġof Ġevent Ġdata Ġfields , Ġthat Ġthe Ġfactory Ġmethod Ġadds Ġto ĠFeature Usage Data . Ċ Ġ* ĠYou Ġcan Ġdescribe Ġvalidation Ġrules Ġfor Ġeach Ġfield Ġas Ġ"& lt ; fieldName & gt ; :& lt ; validation Rule & gt ; ". ĠFor Ġexample , Ġ" count : regexp # integer " Ċ Ġ* ĠIf Ġyou Ġcan 't Ġdescribe Ġvalidation Ġrule , Ġyou Ġcan Ġpass Ġvalue Ġindex Ġin Ġthe Ġsignature Ġof Ġfactory Ġmethod , Ċ Ġ* Ġstarts Ġat Ġ 0 Ġ(" & lt ; fieldName & gt ; :: & lt ; value Index & gt ; "). ĠFor Ġexample , Ġ" count :: 4 " Ċ Ġ* Ċ Ġ* Ġ@ see Ġnew Boolean Metric Ċ Ġ* Ġ@ see Ġnew Metric Ċ Ġ*/ Ċ @ Retention ( Annotation Retention . RUNTIME ) Ċ @ Target ( Annotation Target . FUNCTION , ĠAnnotation Target . CON STRUCTOR ) Ċ annotation Ġclass ĠStatistics Event Provider ( val ĠdataIndex : ĠInt Ġ= Ġ- 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġevent Id Index : ĠInt Ġ= Ġ- 1 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġadditional Data Fields : ĠArray < String > Ġ= Ġ[]) Ċ