/* Ċ Ġ* ĠThis Ġfile Ġis Ġpart Ġof Ġthe Ġlibr arian Ġapplication . Ċ Ġ* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 6 ĠM ig uel ĠAn gel ĠG ab riel Ġ< mag ab riel @ gmail . com > Ċ Ġ* Ċ Ġ* ĠFor Ġthe Ġfull Ġcopyright Ġand Ġlicense Ġinformation , Ġplease Ġview Ġthe ĠLICENSE Ċ Ġ* Ġfile Ġthat Ġwas Ġdistributed Ġwith Ġthis Ġsource Ġcode . Ċ Ġ*/ Ċ Ċ package Ġcom . m ags . libr arian Ċ Ċ import Ġcom . rome tools . rome . feed . syn d . Syn d Content Impl Ċ import Ġcom . rome tools . rome . feed . syn d . Syn d Entry Ċ import Ġcom . rome tools . rome . feed . syn d . Syn d Entry Impl Ċ import Ġcom . rome tools . rome . feed . syn d . Syn d Feed Ċ import Ġcom . rome tools . rome . io . Feed Exception Ċ import Ġcom . rome tools . rome . io . Syn d Feed Output Ċ import Ġjava . io . FileWriter Ċ import Ġjava . io . IOException Ċ import Ġjava . util .* Ċ import Ġjavax . inject . Inject Ċ Ċ /** Ċ Ġ* ĠWrites Ġan ĠRSS Ġfeed . Ċ Ġ*/ Ċ class ĠFeed Writer Ċ @ Inject Ġconstructor ( rss Filename : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġlog Writer : ĠLog Writer , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġfeed : ĠSyn d Feed ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġentries : ĠMutable List < Syn d Entry > ĊĠĠĠ Ġprivate Ġvar Ġr ss Filename Ġ= Ġ"" ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . rss Filename Ġ= Ġr ss Filename ĊĊĠĠĠĠĠĠĠ Ġfeed . feed Type Ġ= Ġ" rss _ 2 . 0 " ĊĠĠĠĠĠĠĠ Ġfeed . title Ġ= Ġ" Li br arian Ġ- ĠPro cessed Ġfiles " ĊĠĠĠĠĠĠĠ Ġfeed . description Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġfeed . link Ġ= Ġ"" ĊĊĠĠĠĠĠĠĠ Ġentries Ġ= Ġmutable ListOf () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd Entry ( title : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription : ĠString ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġentry Ġ= ĠSyn d Entry Impl () ĊĠĠĠĠĠĠĠ Ġentry . link Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġentry . title Ġ= Ġtitle ĊĊĠĠĠĠĠĠĠ Ġentry . published Date Ġ= ĠDate () ĊĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= ĠSyn d Content Impl () ĊĠĠĠĠĠĠĠ Ġcontent . type Ġ= Ġ" text / plain " ĊĠĠĠĠĠĠĠ Ġcontent . value Ġ= Ġdescription ĊĊĠĠĠĠĠĠĠ Ġentry . description Ġ= Ġcontent ĊĊĠĠĠĠĠĠĠ Ġentries . add ( entry ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġhas Entries (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ! entries . isEmpty () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġwrite Feed () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif Ġ( rss Filename . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfeed . entries Ġ= Ġentries ĊĊĠĠĠĠĠĠĠ Ġval Ġoutput Ġ= ĠSyn d Feed Output () ĊĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġwriter Ġ= ĠFile Writer ( rss Filename ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoutput . output ( feed , Ġwriter ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog Writer . se vere ( e . message ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠFeed Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog Writer . se vere ( e . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ Ċ } Ċ