-
Notifications
You must be signed in to change notification settings - Fork 1
Project structure
The project is divided into 3 parts:
- coldstoragecache - This is an android module that contains the core components for the cache. This module also contains all helper and utility classes.
- coldstorageannotation - A kotlin library that contains all the annotations such as "@LoadImage", "@Refrigerate" etc.
- coldstoragecompiler - A kotlin library that contains the annotation processing logic for all annotations defined in coldstorageannotation module.
The core components for the cache is located in the pacakge "ColdStorage/coldstoragecache/src/main/java/com/arcane/coldstoragecache/cache/" and is divided in two files :
- Cache.kt: This class contains the initializing and view binding logic. This class can also be extended to create a custom cache layer.
- ColdStorage.kt : The map where all the key-value pairs are stored is present in this file along with logic for modifying the cache.
The model pacakge "ColdStorage/coldstoragecache/src/main/java/com/arcane/coldstoragecache/model" contains all the POJO classes.
The callback package "ColdStorage/coldstoragecache/src/main/java/com/arcane/coldstoragecache/callback" contains interfaces used to pass data from the cache to the UI thread.
The helper classes are stored in "ColdStorage/coldstoragecache/src/main/java/com/arcane/coldstoragecache/helper" pacakge.
All annotations all defined in this module. This is a top-level module and is not dependent on any other module in the project.