// ĠCopyright Ġ 2 0 0 0 - 2 0 2 0 Ġ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 . event Log . validator . storage Ċ Ċ import Ġcom . intellij . internal . statistic . event Log . validator . rules . impl . Enum Validation Rule Ċ import Ġcom . intellij . internal . statistic . event Log . validator . rules . impl . Regexp Validation Rule Ċ import Ġcom . intellij . internal . statistic . event Log . connection . metadata . Event Group Remote Descriptors Ċ import Ġjava . util .* Ċ Ċ class ĠGlobal Rules Holder ( private Ġval Ġmy Global Enums : ĠMap < String , ĠSet < String >> ?, Ġprivate Ġval Ġmy Global Regex ps : ĠMap < String , ĠString > ?) Ġ{ ĊĠ Ġconstructor ( global Rules : ĠEvent Group Remote Descriptors . Group Remote Rule ?) Ġ: Ġthis ( global Rules ?. enums , Ġglobal Rules ?. regex ps ) ĊĊĠ Ġprivate Ġval Ġmy Global Regex ps Cache : ĠMutable Map < String , ĠRegex p Validation Rule > Ġ= ĠHashMap () ĊĠ Ġprivate Ġval Ġmy Global Enums Cache : ĠMutable Map < String , ĠEnum Validation Rule > Ġ= ĠHashMap () ĊĊĠ Ġfun Ġget Enum Validation Rules ( enum Ref : ĠString ): ĠEnum Validation Rule ? Ġ{ ĊĠĠĠ Ġval Ġcached Value Ġ= Ġmy Global Enums Cache [ enum Ref ] ĊĠĠĠ Ġif Ġ( cached Value Ġ!= Ġnull ) Ġreturn Ġcached Value ĊĠĠĠ Ġval Ġglobal Enum Ġ= Ġmy Global Enums ?. get ( enum Ref ) ĊĠĠĠ Ġif Ġ( global Enum Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠ Ġval Ġrule Ġ= ĠEnum Validation Rule ( global Enum ) ĊĠĠĠĠĠ Ġmy Global Enums Cache [ enum Ref ] Ġ= Ġrule ĊĠĠĠĠĠ Ġreturn Ġrule ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġnull ĊĠ Ġ} ĊĊĠ Ġfun Ġget Regexp Validation Rules ( regexp Ref : ĠString ): ĠRegex p Validation Rule ? Ġ{ ĊĠĠĠ Ġval Ġcached Value Ġ= Ġmy Global Regex ps Cache [ regexp Ref ] ĊĠĠĠ Ġif Ġ( cached Value Ġ!= Ġnull ) Ġreturn Ġcached Value ĊĠĠĠ Ġval Ġglobal Regexp Ġ= Ġmy Global Regex ps ?. get ( regexp Ref ) ĊĠĠĠ Ġif Ġ( global Regexp Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠ Ġval Ġrule Ġ= ĠRegex p Validation Rule ( global Regexp ) ĊĠĠĠĠĠ Ġmy Global Regex ps Cache [ regexp Ref ] Ġ= Ġrule ĊĠĠĠĠĠ Ġreturn Ġrule ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġnull ĊĠ Ġ} Ċ }