lib / com.kirkbushman.araw.models.base / Votable

Votable

interface Votable : Thing

Base interface for all the items that can be voted on, likes = True -> Upvote, likes = False -> Downvote, likes = null

Properties

fullname

Fullname of item, e.g. "t1_c3v7f8u"

abstract val fullname: String

id

This item identifier, e.g. "8xwlg"

abstract val id: String

likes

how the logged-in user has voted on the item, True = upvoted, False = downvoted, null = no vote NOTE: use the extensions to have a practical enum class.

abstract val likes: Boolean?

score

the net-score of the item.

abstract val score: Int

Extension Properties

vote

Useful extension to map to an enum.

val Votable.vote: Vote

Inheritors

Comment

This class can represent a comment on a Submission or a reply to another comment.

data class Comment : CommentData, Votable, Saveable, Created, Editable, Distinguishable, Gildable, Replyable, Parcelable

Message

This class represents the message a user can send or receive. Messages are grouped in the user inbox.

data class Message : Thing, Votable, Created, Distinguishable, Replyable, Parcelable

Submission

This class represents a user post in a specific Subreddit, this class can be replied to, in a form of a comment section.

data class Submission : Contribution, Votable, Saveable, Created, Editable, Distinguishable, Gildable, Replyable, Parcelable