com.antwerkz.critter.CritterClass.kt Maven / Gradle / Ivy
package com.antwerkz.critter
import com.antwerkz.critter.Visibility.PUBLIC
import org.mongodb.morphia.annotations.Embedded
import java.io.File
abstract class CritterClass(var file: File?, var pkgName: String? = null, var name: String) : AnnotationHolder, Visible {
lateinit var context: CritterContext
val qualifiedName: String by lazy {
pkgName?.let { "${pkgName}.${name}" } ?: name
}
abstract val fields: List
val isEmbedded: Boolean by lazy {
hasAnnotation(Embedded::class.java)
}
override var visibility: Visibility = PUBLIC
abstract fun isAbstract(): Boolean
open fun isEnum() = false
abstract fun lastModified(): Long
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy