Talentica/AndroidWithKotlin

View on GitHub
app/src/main/java/com/talentica/androidkotlin/db/entity/CommentEntity.kt

Summary

Maintainability
A
55 mins
Test Coverage
/*
 * Copyright 2017, The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.talentica.androidkotlin.db.entity

import androidx.room.Entity
import androidx.room.ForeignKey
import androidx.room.Index
import androidx.room.PrimaryKey
import com.talentica.androidkotlin.model.Comment
import java.util.*

@Entity(
    tableName = "comments",
    foreignKeys = [ForeignKey(
        entity = ProductEntity::class,
        parentColumns = arrayOf("id"),
        childColumns = arrayOf("productId"),
        onDelete = ForeignKey.CASCADE
    )],
    indices = [Index(value = arrayOf("productId"))]
)
class CommentEntity : Comment {
    @PrimaryKey(autoGenerate = true)
    override var id = 0
    override var productId = 0
    override var text: String? = null
    override var postedAt: Date? = null

    constructor() {}
    constructor(comment: Comment) {
        id = comment.id
        productId = comment.productId
        text = comment.text
        postedAt = comment.postedAt
    }
}