Advertisement
Guest User

Untitled

a guest
May 5th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 0.96 KB | None | 0 0
  1. enum class CacheFlag {
  2.   SAVE_TO_DB,
  3.   SAVE_TO_FILE
  4. }
  5.  
  6. interface CacheInteractor {
  7.   fun cacheItem(item: Any, cacheFlag: CacheFlag, key: String)
  8.   fun resetItem(key: String)
  9.   fun getItem(key: String): Any
  10. }
  11.  
  12. class CacheInterctorImpl(dbHelper: DbHelper, fileHelper: FileHelper, cacheHelper: CacheHelper) : CacheInteractor {
  13.   override fun cacheItem(item: Any, cacheFlag: CacheFlag, key: String) {
  14.     when(cacheFlag) {
  15.       SAVE_TO_DB -> {dbHelper.saveItem(item, key)},
  16.       SAVE_TO_FILE -> {fileHelper.saveItem(item, key)},
  17.     }
  18.     cacheHelper.log(item, cacheFlag, key)
  19.   }
  20.  
  21.   override getItem(key: String): Any {
  22.     when(cacheHelper.getItemPlace(key)) {
  23.       SAVE_TO_DB -> {return dbHelper.getItem(key)},
  24.       SAVE_TO_FILE -> {return fileHelper.getItem(key)}
  25.     }
  26.   }
  27.  
  28.   override resetItem(key: String) {
  29.     when(cacheHelper.getItemPlace(key)) {
  30.       SAVE_TO_DB -> {return dbHelper.resetItem(key)},
  31.       SAVE_TO_FILE -> {return fileHelper.resetItem(key)}
  32.     }
  33.   }
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement