How it works
Bulldog uses annotation processing to generate classes at compile time from object specifications. Also it leverages Kotlin delegated properties feature to read and write to Android SharedPreferences.
The following example:
@Bulldog(name = "UserSettings")
object UserModel {
const val id: Int = 20
const val email: String = "johnDoe@gmail.com"
const val likes: Long = 20L
const val isPremium: Boolean = false
const val minutesLeft: Float = 24.5F
}