package Ġnet . nem eros a . on track . model . support Ċ Ċ import Ġnet . nem eros a . on track . common . Document Ċ import Ġnet . nem eros a . on track . common . Document Info Ċ import Ġnet . nem eros a . on track . model . Ack Ċ Ċ /** Ċ Ġ* ĠThis Ġservice Ġis Ġused Ġto Ġstore , Ġretrieve Ġand Ġmanage Ġdocuments . Ċ Ġ* Ċ Ġ* ĠImplement ations Ġmay Ġvary . Ċ Ġ*/ Ċ interface ĠDocuments Repository Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠStores Ġor Ġupdates Ġa Ġdocument ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġstore ĠID Ġof Ġthe Ġstore ĊĠĠĠĠ Ġ* Ġ@ param Ġname ĠName Ġinside Ġthe Ġstore ĊĠĠĠĠ Ġ* Ġ@ param Ġdocument ĠDocument Ġto Ġstore ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġstore Document ( store : ĠString , Ġname : ĠString , Ġdocument : ĠDocument ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGets Ġthe Ġlist Ġof Ġstore Ġnames ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Document Stores (): ĠList < String > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠList Ġof Ġnames Ġinside Ġa Ġstore ĊĠĠĠĠ Ġ* Ġ@ param Ġstore ĠID Ġof Ġthe Ġstore ĊĠĠĠĠ Ġ* Ġ@ return ĠList Ġof Ġnames ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Document Names ( store : ĠString ): ĠList < String > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠTotal Ġsize Ġof Ġa Ġstore ĊĠĠĠĠ Ġ* Ġ@ param Ġstore ĠID Ġof Ġthe Ġstore ĊĠĠĠĠ Ġ* Ġ@ return ĠTotal Ġsize ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Size ( store : ĠString ): ĠLong ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠTotal Ġcount Ġof Ġdocuments ĊĠĠĠĠ Ġ* Ġ@ param Ġstore ĠID Ġof Ġthe Ġstore ĊĠĠĠĠ Ġ* Ġ@ return ĠCount Ġof Ġdocuments ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Count ( store : ĠString ): ĠLong ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRetrieves Ġa Ġdocument ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġstore ĠID Ġof Ġthe Ġstore ĊĠĠĠĠ Ġ* Ġ@ param Ġname ĠName Ġinside Ġthe Ġstore ĊĠĠĠĠ Ġ* Ġ@ return ĠStored Ġdocument Ġor Ġ` null ` Ġif Ġnot Ġfound ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġload Document ( store : ĠString , Ġname : ĠString ): ĠDocument ? ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDoes Ġa Ġdocument Ġexist ? ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġstore ĠID Ġof Ġthe Ġstore ĊĠĠĠĠ Ġ* Ġ@ param Ġname ĠName Ġinside Ġthe Ġstore ĊĠĠĠĠ Ġ* Ġ@ return Ġ` true ` Ġif Ġthe Ġdocument Ġexists ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdocument Exists ( store : ĠString , Ġname : ĠString ): ĠBoolean ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGets Ġinfo Ġabout Ġa Ġdocument ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġstore ĠID Ġof Ġthe Ġstore ĊĠĠĠĠ Ġ* Ġ@ param Ġname ĠName Ġinside Ġthe Ġstore ĊĠĠĠĠ Ġ* Ġ@ return ĠStored Ġdocument Ġinfo Ġor Ġ` null ` Ġif Ġnot Ġfound ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget Document Info ( store : ĠString , Ġname : ĠString ): ĠDocument Info ? ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDeletes Ġa Ġdocument ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġstore ĠID Ġof Ġthe Ġstore ĊĠĠĠĠ Ġ* Ġ@ param Ġname ĠName Ġinside Ġthe Ġstore ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ Ack . OK ] Ġif Ġthe Ġdocument Ġdid Ġexist , Ġ[ Ack . NO K ] Ġif Ġnot . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġdelete Document ( store : ĠString , Ġname : ĠString ): ĠAck Ċ Ċ }