PolyBooks/sdp_polyBooks

View on GitHub
app/src/main/java/com/github/polybooks/core/Interests.kt

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
package com.github.polybooks.core

/**
 * An Interest is something that can make a Book interesting for a user.
 * Interests can be Courses, Fields or Semesters.
 * */
sealed class Interest

/**
 * A course that a student can follow (e.g. COM-101)
 * @property name The identifier name of that course
 * */
data class Course(val name : String) : Interest()

/**
 * A field of study.
 * @property name The identifier name of that field
 * */
data class Field(val name : String) : Interest()

/**
 * Represents the pair section-semester a student can be in (e.g. IC BA6)
 * @property section The identifier string of that section.
 * @property semester The identifier string of that semester.
 * */
data class Semester(val section : String, val semester : String) : Interest()