package Ġorg . jetbrains . kotlin . doc Ċ Ċ import Ġkotlin .* Ċ import Ġkotlin . util .* Ċ import Ġjava . util .* Ċ import Ġorg . jetbrains . kotlin . doc . model . K Package Ċ Ċ /** Ċ Ġ* ĠThe Ġconfiguration Ġused Ġwith ĠK Doc Ċ Ġ*/ Ċ class ĠK Doc Config () Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthe Ġname Ġof Ġthe Ġdocumentation Ġset ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġvar Ġtitle : ĠString Ġ= Ġ" Documentation " ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthe Ġversion Ġname Ġof Ġthe Ġdocumentation Ġset ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġvar Ġversion : ĠString Ġ= Ġ" SNAPSHOT " ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġa Ġmap Ġof Ġthe Ġpackage Ġprefix Ġto Ġthe ĠURLs Ġto Ġuse Ġto Ġlink Ġto Ġit Ġin Ġthe Ġdocumentation ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġval Ġpackage Prefix To Urls : ĠMap < String , ĠString > Ġ= ĠTreeMap < String , ĠString >( Lon gest First String Comparator ()) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġa ĠSet Ġof Ġthe Ġpackage Ġname Ġprefixes Ġto Ġignore Ġfrom Ġthe ĠK Doc Ġreport ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġval Ġignore Packages : ĠSet < String > Ġ= ĠHashSet < String >() ĊĊĠĠĠ Ġ/** ĊĠĠĠ Ġ* ĠReturns Ġtrue Ġif Ġa Ġwarning Ġshould Ġbe Ġgenerated Ġif Ġthere Ġare Ġno Ġcomments ĊĠĠĠ Ġ* Ġon Ġdocumented Ġfunction Ġor Ġproperty ĊĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġvar Ġwarn No Comments : ĠBoolean Ġ= Ġtrue ĊĊĠĠĠ Ġ/** ĊĠĠĠ Ġ* ĠReturns Ġtrue Ġif Ġprotected Ġfunctions Ġand Ġproperties Ġshould Ġbe Ġdocumented ĊĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġvar Ġinclude Protected : ĠBoolean Ġ= Ġtrue ĊĊĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġadd Ġsome Ġcommon Ġdefaults ĊĠĠĠĠĠĠĠ Ġadd Package Link (" http :// docs . oracle . com / javase / 6 / docs / api /", Ġ" java ", Ġ" org . w 3 c . dom ", Ġ" org . xml . sax ", Ġ" org . omg ", Ġ" org . ietf . jg ss ") ĊĠĠĠĠĠĠĠ Ġadd Package Link (" http :// k ent be ck . github . com / junit / javadoc / latest /", Ġ" org . junit ", Ġ" junit ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġa Ġset Ġof Ġall Ġthe Ġpackage Ġwhich Ġhave Ġbeen Ġwarn ed Ġthat Ġwere Ġmissing Ġan Ġexternal ĠURL ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġval Ġmissing Package Urls : ĠSet < String > Ġ= ĠTree Set < String >() ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAdds Ġone Ġor Ġmore Ġpackage Ġprefixes Ġto Ġthe Ġgiven Ġjavadoc ĠURL ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġadd Package Link ( url : ĠString , Ġvar arg Ġpackage Prefixes : ĠString ): ĠUnit Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( p Ġin Ġpackage Prefixes ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpackage Prefix To Urls . put ( p , Ġurl ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRes olves Ġa Ġlink Ġto Ġthe Ġgiven Ġclass Ġname ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġresolve Link ( packageName : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠTODO Ġshould Ġbe Ġable Ġto Ġdo Ġsomething Ġlike ĊĠĠĠĠĠĠĠ Ġ// Ġfor Ġ( e Ġin Ġpackage Urls . filter NotNull ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġentry Set Ġ= Ġpackage Prefix To Urls . entrySet () ĊĠĠĠĠĠĠĠ Ġif Ġ( entrySet Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( e Ġin Ġentry Set ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġp Ġ= Ġe ?. getKey () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġe ?. getValue () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( p Ġ!= Ġnull Ġ&& Ġurl Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( packageName . startsWith ( p )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġurl ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( missing Package Urls . add ( packageName )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" Warning : Ġcould Ġnot Ġfind Ġexternal Ġlink Ġto Ġpackage : Ġ$ packageName ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġ"" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġtrue Ġif Ġthe Ġpackage Ġshould Ġbe Ġincluded Ġin Ġthe Ġreport ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġinclude Package ( pkg : ĠK Package ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ! ignore Packages . any { Ġpkg . name . startsWith ( it ) Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ protected Ġclass ĠL on gest First String Comparator () Ġ: ĠComparator < String > Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġcompare ( s 1 : ĠString , Ġs 2 : ĠString ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġanswer Ġ= Ġs 1 . length () Ġ- Ġs 2 . length () ĊĠĠĠĠĠĠĠ Ġif Ġ( answer Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġanswer Ġ= Ġs 1 . compareTo ( s 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġanswer ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( obj Ġ: ĠAny ?) Ġ: ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġobj Ġis ĠL on gest First String Comparator ĊĠĠĠ Ġ} Ċ }