package Ġcom . k ard ia . membership . domain . repositories Ċ Ċ import Ġcom . k ard ia . membership . core . exception . Failure Ċ import Ġcom . k ard ia . membership . core . functional . Either Ċ import Ġcom . k ard ia . membership . core . platform . Network Handler Ċ import Ġcom . k ard ia . membership . domain . entities . news . Feature News Entity Ċ import Ġcom . k ard ia . membership . domain . network . Base Network Ċ import Ġcom . k ard ia . membership . domain . services . News Service Ċ import Ġjavax . inject . Inject Ċ Ċ interface ĠNews Repository Ġ{ ĊĠĠĠ Ġfun Ġget Feature News (): ĠEither < Failure , ĠFeature News Entity > ĊĊĠĠĠ Ġclass ĠNetwork ĊĠĠĠ Ġ@ Inject Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġnetwork Handler : ĠNetwork Handler , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġservice : ĠNews Service ĊĠĠĠ Ġ) Ġ: ĠNews Repository , ĠBase Network () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Feature News (): ĠEither < Failure , ĠFeature News Entity > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( network Handler . isConnected ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue Ġ-> Ġrequest ( service . get Feature News (), Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĠFeature News Entity . empty ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse , Ġnull Ġ-> ĠEither . Left ( Failure . Network Connection ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }