Types

Link copied to clipboard
class AggregatedRelationshipFieldDefinition(val graphQLName: String, val description: String, val properties: List<PropertyWithOwner>) : FieldDefinition
Link copied to clipboard
abstract class ExtensionFieldDefinition(val field: GraphQLFieldDefinition, val cost: Int = 0) : FieldDefinition

Definition of an extension field on a Node

Link copied to clipboard
abstract class FieldDefinition(val property: KProperty1<*, *>?)

Definition of a field on the node

Link copied to clipboard
Link copied to clipboard
class ManyRelationshipDefinition(property: KProperty1<*, *>, type: String, direction: Direction, parentKClass: KClass<out Node>, allowedAuthorizations: Set<String>) : RelationshipDefinition

Defines the many side of a many-to-many or many-to-one relationship between two Nodes

Link copied to clipboard

Field based on a ManyRelationshipDefinition, represented as the connection in GraphQL

Link copied to clipboard
private data class NodeAllowRule(val nodeDefinitions: Set<NodeDefinition>, val allowRule: Rule? = null)
Link copied to clipboard
class NodeDefinition(val nodeType: KClass<out Node>, val persistentEntity: Neo4jPersistentEntity<*>, extensionFieldDefinitions: Map<String, ExtensionFieldDefinition>)

Definition of a Node Used to find relationships, get the primary label, create a Cypher-DSL return expressions

Link copied to clipboard
class NodeDefinitionCollection(backingCollection: Map<KClass<out Node>, NodeDefinition>, val beanFactory: BeanFactory, val configurationProperties: GraphglueCoreConfigurationProperties) : Collection<NodeDefinition>

Stores a collection of NodeDefinitions Also handles generation and storage of authorization conditions

Link copied to clipboard

Thrown to indicate that a node relation was wrongly declared

Link copied to clipboard
class OneRelationshipDefinition(property: KProperty1<*, *>, type: String, direction: Direction, parentKClass: KClass<out Node>, allowedAuthorizations: Set<String>) : RelationshipDefinition

Defines the one side of a one-to-one or many-to-one relationship between two Nodes

Link copied to clipboard

Field based on a OneRelationshipDefinition, represented as the node in GraphQL

Link copied to clipboard
data class PropertyWithOwner(val property: KProperty1<*, *>, val owner: KClass<out Node>)

A property with its owning class

Link copied to clipboard
abstract class RelationshipDefinition(val property: KProperty1<*, *>, val nodeKClass: KClass<out Node>, val type: String, val direction: Direction, val parentKClass: KClass<out Node>, val allowedAuthorizations: Set<String>)

Defines a relationship between two Nodes There may or may not be an inverse relation on the foreign node

Link copied to clipboard
private typealias RemotePropertySetter = (remoteNode: Node, value: Node) -> Unit

Alias for the setter function for remote properties

Functions

Link copied to clipboard
fun generateNodeDefinition(nodeClass: KClass<out Node>, mappingContext: Neo4jMappingContext, extensionFieldDefinitions: Map<String, ExtensionFieldDefinition>): NodeDefinition

Generates a NodeDefinition for a specific class