All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.graphglue.model.property.PropertyDelegate.kt Maven / Gradle / Ivy

Go to download

A library to develop annotation-based code-first GraphQL servers using GraphQL Kotlin, Spring Boot and Neo4j - excluding Spring GraphQL server dependencies

The newest version!
package io.github.graphglue.model.property

import io.github.graphglue.definition.FieldDefinition
import io.github.graphglue.model.Node
import kotlin.reflect.KProperty1

/**
 *  @param parent the node which hosts this property
 *  @param property the property on the class
 *  @param T query result data type
 */
abstract class PropertyDelegate(
    protected val parent: Node,
    protected val property: KProperty1<*, *>
) {

    /**
     * Called to register a database query result
     * Adds the result to the cache
     * Can be overridden to add custom behavior (super should be called in this case)
     *
     * @param queryResult the result of the query
     */
    abstract fun registerQueryResult(fieldDefinition: FieldDefinition,  queryResult: T)

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy