@DomainNode
abstract class SubTemplate<T : Node, TemplatedNode, P : Template<*, *>, S : SubTemplate<T, P, S>>(name: String, description: String, templateFieldSpecifications: MutableMap<String, String>) : BaseTemplate<T, S>

BaseTemplate which is part of a Template. Defines templated fields with specific types (defined using JSON schema). Does not provide any composition features, as composition is handled by the Template it is part of.

Inheritors

Constructors

Link copied to clipboard
constructor(name: String, description: String, templateFieldSpecifications: MutableMap<String, String>)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
@FilterProperty
@SearchProperty
open override var description: String

The description of this entity.

Link copied to clipboard
internal var fieldCache: MutableMap<String, Any?>
Link copied to clipboard
val graphQLId: ID

The unique id of this node

Link copied to clipboard
@Id
@GeneratedValue(generatorRef = "nodeIdGenerator")
internal var id: String?
Link copied to clipboard
Link copied to clipboard
internal var isSaved: Boolean
Link copied to clipboard
@ConvertWith(converter = LazyLoadingContextConverter::class)
internal var lazyLoadingContext: LazyLoadingContext?
Link copied to clipboard
@FilterProperty
@OrderProperty
@SearchProperty
open override var name: String

The name of this entity.

Link copied to clipboard
@Version
private var nodeVersion: Long

Version used for optimistic locking

Link copied to clipboard
internal var orderFields: MutableMap<String, Any?>?
Link copied to clipboard
@NodeRelationship(type = "PART_OF", direction = Direction.OUTGOING)
val partOf: LazyLoadingDelegate<P, NodePropertyDelegate.NodeProperty>

The Template this SubTemplate is part of

Link copied to clipboard
internal val propertyLookup: MutableMap<String, PropertyDelegate<*>>
Link copied to clipboard
Link copied to clipboard
@NodeRelationship(type = "USED_IN", direction = Direction.OUTGOING)
val usedIn: LazyLoadingDelegate<T, NodeSetPropertyDelegate.NodeSetProperty>

Entities which use this template.

Functions

Link copied to clipboard
operator override fun equals(other: Any?): Boolean
Link copied to clipboard
internal suspend fun getFromGraphQL(@Autowired nodeQueryParser: NodeQueryParser, dataFetchingEnvironment: DataFetchingEnvironment): Any?
Link copied to clipboard
internal fun <T : PropertyDelegate<*>> getProperty(property: KProperty1<*, *>): T
Link copied to clipboard
override fun hashCode(): Int
Link copied to clipboard
internal suspend fun <T : Node?> loadNodesOfRelationship(property: KProperty1<*, *>, loader: LazyLoadingSubqueryGenerator<T>.() -> Unit?)
Link copied to clipboard
protected fun <T : Node?> NodeProperty(): PropertyDelegateProvider<Node, NodePropertyDelegate<T>>
Link copied to clipboard
protected fun <T : Node> NodeSetProperty(): PropertyDelegateProvider<Node, NodeSetPropertyDelegate<T>>
Link copied to clipboard
internal fun registerQueryResult(entry: NodeQueryEntry<*>, queryResult: Any?)
Link copied to clipboard
fun templateFieldSpecifications(name: String, @Autowired objectMapper: ObjectMapper): JsonNode

Schema of a template field by name of the template field. Error if the field does not exist.

fun templateFieldSpecifications(namePrefix: String? = null, @Autowired objectMapper: ObjectMapper): List<JSONField>

All template field specifications, if a `namePrefix` is provided, only those matching it

Link copied to clipboard
open override fun toString(): String