Package 

Class OptimizedFilterHandler

  • All Implemented Interfaces:

    
    public final class OptimizedFilterHandler
    extends ProjectionBase
                        

    This is a specialized handler that uses an alternative approach for filtering. By using multiple MATCH clauses, this can facilitate the use of optimizations within the neo4j database, which can lead to significant performance improvements for large data sets.

    If this handler cannot generate an optimization for the passed filter, an OptimizedQueryException will be thrown, so the calling site can fall back to the non-optimized logic

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private final GraphQLFieldsContainer type
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      final GraphQLFieldsContainer getType()
      final StatementBuilder.OngoingReading generateFilterQuery(String variable, GraphQLFieldDefinition fieldDefinition, Map<String, Object> arguments, StatementBuilder.OngoingReadingWithoutWhere readingWithoutWhere, PropertyContainer rootNode, Map<String, Object> variables)
      • Methods inherited from class org.neo4j.graphql.handler.projection.ProjectionBase

        cypherDirective, filterFieldName, projectFields, skipLimitOrder, where
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • OptimizedFilterHandler

        OptimizedFilterHandler(GraphQLFieldsContainer type, SchemaConfig schemaConfig)
    • Method Detail

      • getType

         final GraphQLFieldsContainer getType()
      • generateFilterQuery

         final StatementBuilder.OngoingReading generateFilterQuery(String variable, GraphQLFieldDefinition fieldDefinition, Map<String, Object> arguments, StatementBuilder.OngoingReadingWithoutWhere readingWithoutWhere, PropertyContainer rootNode, Map<String, Object> variables)