package Ġcom . social . com . domain . inter actor . tutorial Ċ Ċ import Ġcom . social . com . domain . executor . Post Execution Thread Ċ import Ġcom . social . com . domain . executor . Thread Executor Ċ import Ġcom . social . com . domain . inter actor . UseCase Ċ import Ġcom . social . com . domain . model . Post Ċ import Ġcom . social . com . domain . model . Tutorial Page Ċ import Ġcom . social . com . domain . repository . Posts Repository Ċ import Ġio . reactivex . Observable Ċ import Ġjavax . inject . Inject Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġig or Ġon Ġ 3 / 1 6 / 1 7 . Ċ Ġ*/ Ċ /** Ċ Ġ* ĠThis Ġclass Ġis Ġan Ġimplementation Ġof Ġ[ UseCase ] Ġthat Ġrepresents Ġa Ġuse Ġcase Ġfor Ċ Ġ* Ġretrieving Ġa Ġcollection Ġof Ġall Ġ[ Tutorial Page ]. Ċ Ġ*/ Ċ class ĠGetAll Posts Ġ@ Inject Ċ internal Ġconstructor ( val Ġposts Repository : ĠPosts Repository , Ġthread Executor : ĠThread Executor , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpost Execution Thread : ĠPost Execution Thread ) Ġ: ĠUse Case < List < Post >, ĠVoid >( thread Executor , Ġpost Execution Thread ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġbuild UseCase Observable ( params : ĠVoid ?): ĠObservable < List < Post >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . posts Repository . all Posts () ĊĠĠĠ Ġ} Ċ } Ċ