Skip to content

Project structure

crypticminds edited this page Feb 15, 2020 · 1 revision

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.

coldstoragecache

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.

coldstorageannotation

All annotations all defined in this module. This is a top-level module and is not dependent on any other module in the project.

Clone this wiki locally