@DomainNode(topLevelQueryName = "relationTemplates", searchQueryName = "searchRelationTemplates")
class RelationTemplate(name: String, description: String, templateFieldSpecifications: MutableMap<String, String>, isDeprecated: Boolean, isAbstract: Boolean, var markerType: MarkerType) : Template<Relation, RelationTemplate>

Template for Relations. Defines templated fields with specific types (defined using JSON schema). Defines which Relations can use this Template. At least one RelationCondition has to match.

Constructors

Link copied to clipboard
constructor(name: String, description: String, templateFieldSpecifications: MutableMap<String, String>, isDeprecated: Boolean, isAbstract: Boolean, markerType: MarkerType)

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
@NodeRelationship(type = "EXTENDS", direction = Direction.INCOMING)
@FilterProperty
val extendedBy: LazyLoadingDelegate<RelationTemplate, NodeSetPropertyDelegate.NodeSetProperty>

Templates that extend this template.

Link copied to clipboard
@NodeRelationship(type = "EXTENDS", direction = Direction.OUTGOING)
@FilterProperty
val extends: LazyLoadingDelegate<RelationTemplate, NodeSetPropertyDelegate.NodeSetProperty>

Template this template extends.

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
@FilterProperty
var isAbstract: Boolean

If true, this template is abstract and cannot be used for new entities.

Link copied to clipboard
@FilterProperty
var isDeprecated: Boolean

If true, this template is deprecated and cannot be used for new entities any more.

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
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
internal val propertyLookup: MutableMap<String, PropertyDelegate<*>>
Link copied to clipboard
Link copied to clipboard
@NodeRelationship(type = "PART_OF", direction = Direction.INCOMING)
@FilterProperty
val relationConditions: LazyLoadingDelegate<RelationCondition, NodeSetPropertyDelegate.NodeSetProperty>

Defines which Relations can use this template, at least one RelationCondition has to match

Link copied to clipboard
@NodeRelationship(type = "STROKE_STYLE", direction = Direction.OUTGOING)
val stroke: LazyLoadingDelegate<StrokeStyle?, NodePropertyDelegate.NodeProperty>

Style of the stroke

Link copied to clipboard
@NodeRelationship(type = "USED_IN", direction = Direction.OUTGOING)
val usedIn: LazyLoadingDelegate<Relation, 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