Types

Link copied to clipboard

Definition for an and meta filter Joins several filters by AND

Link copied to clipboard

Defines a filter for a specific Node type Also handles parsing filters of that node type, including meta filters (filters joined by and, or, not)

Link copied to clipboard
Link copied to clipboard
class FilterDefinitionCollection(val backingCollection: Map<KClass<out Node>, FilterDefinition<out Node>>)

Set of FilterDefinition associated by Node type Can be used to get a FilterDefinition for a specific Node type

Link copied to clipboard
abstract class FilterEntryDefinition(val name: String, val description: String) : GraphQLInputTypeGenerator

Definition for a filter entry. Defines a function to parse entries

Link copied to clipboard

Defines a function to convert into a GraphQLInputType

Link copied to clipboard
abstract class MetaFilterDefinition(name: String, description: String, val filterDefinition: FilterDefinition<out Node>) : FilterEntryDefinition

Definition for a meta filter

Link copied to clipboard

Definition for a filter used to filter for NodeProperties

Link copied to clipboard

Definition for a set based filter used to filter for NodeSetProperties Can be used for filters where either all, any or none of the elements of the list have to match a filter

Link copied to clipboard
class NodeSubFilterDefinition(name: String, description: String, nodeType: KType, val subFilterGenerator: SubFilterGenerator, val relationshipDefinition: RelationshipDefinition) : FilterEntryDefinition

FilterEntryDefinition wrapper for a FilterDefinition. Automatically generates the FilterDefinition base on the provided nodeType. GraphQL type and parsing is handled by the generated FilterDefinition Used in for filter entries based on NodeRelationship based properties.

Link copied to clipboard

Definition for a not meta filter Negates a filter

Link copied to clipboard

Definition for an or meta filter Joins several filters by OR

Link copied to clipboard
class SimpleFilterEntryDefinition(name: String, description: String, val type: GraphQLInputType, val neo4jName: String, val conditionGenerator: (property: Property, value: Parameter<*>) -> Condition) : FilterEntryDefinition

Definition for a single filter entry which filters by a Neo4j property using a conditionGenerator to generate the condition.

Link copied to clipboard
abstract class SimpleObjectFilterDefinitionEntry<T : FilterEntryDefinition>(name: String, description: String, val typeDescription: String, val typeName: String, fields: List<T>) : FilterEntryDefinition

Base lass for FilterEntryDefinition which build a filter by joining a list of sub filters (fields) Creates a filter where any amount of fields (0 to all) can be present

Link copied to clipboard
class SubFilterGenerator(val filters: List<TypeFilterDefinitionEntry>, val filterDefinitionCache: FilterDefinitionCache, val nodeDefinitionCollection: NodeDefinitionCollection, val additionalFilterBeans: Map<String, FilterEntryDefinition>, val nodeFilterGenerators: List<NodeFilterGenerator>)

Used to generate filters for properties. Also provides access to the FilterDefinitionCache, NodeDefinitionCollection and a lookup of additional filters.

Link copied to clipboard
class SubtypeNodeFilterDefinition(val nodeDefinition: NodeDefinition, val nodeFilterDefinition: FilterDefinition<out Node>) : FilterEntryDefinition

Definition for a filter used to filter for a specific subtype (and potentially by attributes of that subtype) of a node

Functions

Link copied to clipboard
fun generateFilterDefinition(type: KClass<out Node>, subFilterGenerator: SubFilterGenerator): FilterDefinition<out Node>

Generates a FilterDefinition for a specific Node type Handles retrieving the definition from the cache