Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- enum class CacheFlag {
- SAVE_TO_DB,
- SAVE_TO_FILE
- }
- interface CacheInteractor {
- fun cacheItem(item: Any, cacheFlag: CacheFlag, key: String)
- fun resetItem(key: String)
- fun getItem(key: String): Any
- }
- class CacheInterctorImpl(dbHelper: DbHelper, fileHelper: FileHelper, cacheHelper: CacheHelper) : CacheInteractor {
- override fun cacheItem(item: Any, cacheFlag: CacheFlag, key: String) {
- when(cacheFlag) {
- SAVE_TO_DB -> {dbHelper.saveItem(item, key)},
- SAVE_TO_FILE -> {fileHelper.saveItem(item, key)},
- }
- cacheHelper.log(item, cacheFlag, key)
- }
- override getItem(key: String): Any {
- when(cacheHelper.getItemPlace(key)) {
- SAVE_TO_DB -> {return dbHelper.getItem(key)},
- SAVE_TO_FILE -> {return fileHelper.getItem(key)}
- }
- }
- override resetItem(key: String) {
- when(cacheHelper.getItemPlace(key)) {
- SAVE_TO_DB -> {return dbHelper.resetItem(key)},
- SAVE_TO_FILE -> {return fileHelper.resetItem(key)}
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement