package Ġcom . dy ro soft . k vb parser . parser Ċ Ċ import Ġcom . dy ro soft . k vb parser . models . Station Ċ import Ġorg . js oup . J soup Ċ import Ġjava . util . regex . Pattern Ċ Ċ class ĠSt ations Parser F uc Ġ: ĠAbstract Rx Html Parser Func < List < Station >>() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġparse ( html : ĠString ): ĠList < Station > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġmutable ListOf < Station >() ĊĠĠĠĠĠĠĠ Ġval Ġdocument Ġ= ĠJ soup . parse ( html ) ĊĠĠĠĠĠĠĠ Ġval Ġelements Ġ= Ġdocument . getElementsBy Tag (" a ") ĊĠĠĠĠĠĠĠ Ġfor Ġ( element Ġin Ġelements ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhref Ġ= Ġelement . attr (" href ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( href . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontinue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpattern Ġ= ĠPattern . compile ("/ hal test ellen / overview /( \\ d +)/ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmatcher Ġ= Ġpattern . matcher ( href ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! matcher . matches ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontinue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġhref . replace (" hal test ellen / overview /", Ġ""). replace ("/", Ġ"") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ( Station ( id , Ġelement . text ())) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġlist . toList () ĊĠĠĠ Ġ} Ċ } Ċ