package Ġcom . ek ino . oss . j cv . idea . plugin . definition Ċ Ċ import Ġcom . intellij . openapi . vfs . Virtual File Ċ import Ġjava . net . URI Ċ Ċ interface ĠJ cv Validator Definition Ġ{ ĊĠ Ġval Ġid : ĠString ĊĠ Ġval Ġparameters : ĠList < Parameter Definition > ĊĠ Ġval Ġorigin : ĠJ cv Validator Origin Ċ } Ċ Ċ interface ĠParameter Definition Ġ{ ĊĠ Ġval Ġdescription : ĠString ? ĊĠ Ġval Ġrequired : ĠBoolean ĊĠ Ġval Ġsuggested Values : ĠList < String > Ċ } Ċ Ċ interface ĠJ cv Validator Origin Ġ{ ĊĠ Ġval ĠdisplayName : ĠString Ċ } Ċ Ċ interface ĠDocumentation Uri Provider Ġ{ ĊĠ Ġval Ġdocumentation : ĠURI Ċ } Ċ Ċ class ĠLibrary Origin ( ĊĠ Ġoverride Ġval ĠdisplayName : ĠString , ĊĠ Ġval Ġartifact Id : ĠString ? Ġ= Ġnull , ĊĠ Ġval ĠgroupId : ĠString ? Ġ= Ġnull , ĊĠ Ġoverride Ġval Ġdocumentation : ĠURI Ċ ) Ġ: ĠJ cv Validator Origin , ĊĠ ĠDocumentation Uri Provider Ġ{ ĊĠ Ġfun Ġdependency Pattern (): ĠString ? Ġ= ĠlistOf NotNull ( groupId , Ġartifact Id ) ĊĠĠĠ Ġ. filter Ġ{ Ġit . isNotBlank () Ġ} ĊĠĠĠ Ġ. take If Ġ{ Ġit . isNotEmpty () Ġ} ĊĠĠĠ Ġ? . join ToString (": ") ĊĊĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠ Ġif Ġ( java Class Ġ!= Ġother ?. java Class ) Ġreturn Ġfalse ĊĊĠĠĠ Ġother Ġas ĠLibrary Origin ĊĊĠĠĠ Ġif Ġ( artifactId Ġ!= Ġother . artifactId ) Ġreturn Ġfalse ĊĠĠĠ Ġif Ġ( groupId Ġ!= Ġother . groupId ) Ġreturn Ġfalse ĊĊĠĠĠ Ġreturn Ġtrue ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠ Ġvar Ġresult Ġ= Ġartifact Id ?. hashCode () Ġ?: Ġ 0 ĊĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġ( groupId ?. hashCode () Ġ?: Ġ 0 ) ĊĠĠĠ Ġreturn Ġresult ĊĠ Ġ} Ċ } Ċ Ċ class ĠProject Origin ( val Ġfile : ĠVirtual File ) Ġ: ĠJ cv Validator Origin Ġ{ ĊĠ Ġoverride Ġval ĠdisplayName : ĠString Ġ= Ġ" Project " Ċ } Ċ