JvmType

data class JvmType constructor(val className: String) : DomainType

Typed backed by a JVM object It's good practice to annotate classes with @JsonClassDescription for better descriptions: otherwise, only the simple class name will be used. Use the @CreationPermitted annotation to indicate whether new instances of this type can be created. Default is true.

Constructors

Link copied to clipboard
constructor(clazz: Class<*>)
constructor(className: String)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
Link copied to clipboard
val clazz: Class<*>
Link copied to clipboard
open override val creationPermitted: Boolean

Is instance creation permitted? Or is this reference data?

Link copied to clipboard
Link copied to clipboard
open val labels: Set<String>

Get all labels for this type, including from parent types. For JvmType: simple class names of this type and all parent types. For DynamicType: capitalized value after last '.' in name, plus parent labels.

Link copied to clipboard
open val name: String
Link copied to clipboard
open override val ownLabel: String

Get the label for this type only (not including parent labels) This will avoid long FQNs which are not useful for labeling.

Link copied to clipboard

Properties defined on this type only (not inherited)

Link copied to clipboard
open override val parents: List<JvmType>

Supports inheritance

Link copied to clipboard

Get all properties, including inherited ones. Exposed even for JvmTypes, for consistency. Properties are deduplicated by name, with own properties taking precedence over inherited ones.

Link copied to clipboard

All relationship properties defined on this type and inherited ones

Link copied to clipboard

Value properties defined on this type and inherited ones

Functions

Link copied to clipboard
open override fun children(additionalBasePackages: Collection<String>): Collection<JvmType>

Get all descendant types from the classpath. For JvmType: scans the classpath for classes that extend or implement this type. For DynamicType: returns empty list as dynamic types don't have classpath descendants.

Link copied to clipboard
open fun infoString(verbose: Boolean?, indent: Int): String
Link copied to clipboard
open override fun isAssignableFrom(other: DomainType): Boolean
open override fun isAssignableFrom(other: Class<*>): Boolean
Link copied to clipboard
open override fun isAssignableTo(other: DomainType): Boolean
open override fun isAssignableTo(other: Class<*>): Boolean