Types

Link copied to clipboard
annotation class AdditionalFilter(val beanName: String)

Annotation to define an additional filter property for a specific Node (and all subclasses) The filter is implemented by a bean with the defined name of type FilterEntryDefinition

Link copied to clipboard
annotation class AdditionalOrder(val beanName: String)

Annotation to define an additional order property for a specific Node (and all subclasses) The filter is implemented by a bean with the defined name of type OrderPart

Link copied to clipboard
annotation class AggregatedNodeRelationship(val name: String, val description: String, val property: String, val path: Array<AggregationEntry>)

Declares an aggregated relationship for a Node

Link copied to clipboard
annotation class AggregationEntry(val property: String, val subclass: KClass<out Node> = Node::class)
Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.CLASS])
annotation class Authorization(val name: String, val allow: Array<Rule> = [], val allowFromRelated: Array<String> = [], val disallow: Array<Rule> = [], val allowAll: Boolean = false)

Defines an authorization permission for a Node To get the authorization definition for a specific Node, the annotations on the class and all subclasses are merged.

Link copied to clipboard

Direction of a NodeRelationship

Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.CLASS])
@Node
annotation class DomainNode(val topLevelQueryName: String = "", val searchQueryName: String = "")

Annotation to mark a class with should be persisted in the Neo4j database

Link copied to clipboard
annotation class ExtensionField(val beanName: String)

Annotation to define an additional field for a specific Node (and all subclasses) The field is implemented by a bean with the defined name of type ExtensionFieldDefinition

Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.PROPERTY])
annotation class FilterProperty

Annotation to mark properties as filter property, meaning that the filter for the class containing the property gets a field added defined by the property. Supported for Node(Set)Property backed properties, and scalar properties. Other properties can be supported by providing a TypeFilterDefinitionEntry for the type of property.

Link copied to clipboard
@Configuration
class GraphglueModelConfiguration

Configuration of model related beans

Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.PROPERTY])
annotation class GraphQLNullable

Annotation to mark NodePropertyDelegates in GraphQL as nullable, even if the Kotlin Type is non-nullable. Necessary, as authorization may lead to a Node not always being provided if the user has no permission to read the node.

Link copied to clipboard
@AdditionalFilter(beanName = "idIdFilter")
abstract class Node

Base class for all Nodes This is always added to the schema All domain entities which can be retrieved via the api and should be persisted in the database should inherit from this class Two nodes are equal iff they have the same id, or, if no id is present yet on both, if they are the same object.

Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.PROPERTY])
annotation class NodeRelationship(val type: String, val direction: Direction)

Used to mark manually handled node relationships Must only be used on delegated properties with a delegate of type NodePropertyDelegate or NodeSetPropertyDelegate

Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.PROPERTY])
annotation class OrderProperty

Annotation to mark properties as order properties, meaning that nodes of the containing class can be ordered by this property. Necessary that the property is a scalar property and of an in Neo4j orderable type (e.g. String, Int, Double, ...)

Link copied to clipboard
annotation class Rule(val beanRef: String, val options: String)

Rule used in Authorization annotations Can be used to define which conditions allow or deny access to a Node

Link copied to clipboard
@Target(allowedTargets = [AnnotationTarget.PROPERTY])
annotation class SearchProperty

Marks a property to be included in the search index

Properties

Link copied to clipboard

Name of the bean used as id generator for Nodes