Class Builder<T,P extends Builder>

java.lang.Object
io.inversion.rql.Builder<T,P>
Direct Known Subclasses:
From, Group, Order, Page, Query, Select, Where

public class Builder<T,P extends Builder> extends Object
  • Field Details

    • terms

      protected final List<Term> terms
    • functions

      protected final Set<String> functions
      Term tokens this builder is willing to accept
    • parent

      protected P extends Builder parent
    • builders

      protected List<Builder> builders
  • Constructor Details

    • Builder

      public Builder()
    • Builder

      public Builder(P parent)
  • Method Details

    • addTerm

      protected boolean addTerm(String token, Term term)
      OVERRIDE ME TO ADD CUSTOM FUNCTIONALITY TO YOUR FLUENT API
      Parameters:
      token - the term to add
      term - the token of the term
      Returns:
      true if the builder or one of its child builders accepted and added the term
    • r

      protected T r()
    • getRoot

      public Builder getRoot()
    • getParent

      public P getParent()
    • withParent

      public T withParent(P parent)
    • getBuilders

      public List<Builder> getBuilders()
    • withBuilder

      public T withBuilder(Builder builder)
    • removeBuilder

      public T removeBuilder(Builder builder)
    • withFunctions

      public T withFunctions(Collection<String> tokens)
    • withFunctions

      public T withFunctions(String... tokens)
    • isFunction

      public boolean isFunction(String token)
    • clearFunctions

      public T clearFunctions()
    • withTerm

      public T withTerm(String token, Object... terms)
    • withTerm

      public T withTerm(Term term)
      OVERRIDE ME TO ADD CUSTOM FUNCTIONALITY TO YOUR FLUENT API
      Parameters:
      term - the term to add to the builder
      Returns:
      this
    • getTerms

      public List<Term> getTerms()
    • withTerms

      public final T withTerms(Object... rqlTerms)
    • withTerm

      public final T withTerm(String rql)
    • parse

      protected List<Term> parse(Object... rqlTerms)
    • findInt

      public int findInt(String token, int childToken, int defaultValue)
    • find

      public Object find(String token, int childToken)
    • findAll

      public List<Term> findAll(String token)
    • find

      public Term find(String... tokens)
    • findTerm

      public Term findTerm(String childToken, String... parentFunctions)
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • toString

      protected String toString(List<Term> terms)