Class Builder<T,​P extends Builder>

    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.util.List<Builder> builders  
      protected java.util.Set<java.lang.String> functions
      Term tokens this builder is willing to accept
      protected P parent  
      protected java.util.List<io.inversion.rql.Term> terms  
    • Constructor Summary

      Constructors 
      Constructor Description
      Builder()  
      Builder​(P parent)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected boolean addTerm​(java.lang.String token, io.inversion.rql.Term term)
      OVERRIDE ME TO ADD CUSTOM FUNCTIONALITY TO YOUR FLUENT API
      T clearFunctions()  
      io.inversion.rql.Term find​(java.lang.String... tokens)  
      java.lang.Object find​(java.lang.String token, int childToken)  
      java.util.List<io.inversion.rql.Term> findAll​(java.lang.String... tokens)  
      java.util.List<io.inversion.rql.Term> findAll​(java.util.Collection<java.lang.String> tokens)  
      int findInt​(java.lang.String token, int childToken, int defaultValue)  
      io.inversion.rql.Term findTerm​(java.lang.String childToken, java.lang.String... parentFunctions)  
      java.util.List<Builder> getBuilders()  
      P getParent()  
      Builder getRoot()  
      java.util.List<io.inversion.rql.Term> getTerms()  
      boolean isFunction​(java.lang.String token)  
      protected java.util.List<io.inversion.rql.Term> parse​(java.lang.Object... rqlTerms)  
      protected T r()  
      T removeBuilder​(Builder builder)  
      java.lang.String toString()  
      protected java.lang.String toString​(java.util.List<io.inversion.rql.Term> terms)  
      T withBuilder​(Builder builder)  
      T withFunctions​(java.lang.String... tokens)  
      T withFunctions​(java.util.Collection<java.lang.String> tokens)  
      T withParent​(P parent)  
      T withTerm​(io.inversion.rql.Term term)
      OVERRIDE ME TO ADD CUSTOM FUNCTIONALITY TO YOUR FLUENT API
      T withTerm​(java.lang.String rql)  
      T withTerm​(java.lang.String token, java.lang.Object... terms)  
      T withTerms​(java.lang.Object... rqlTerms)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • terms

        protected final java.util.List<io.inversion.rql.Term> terms
      • functions

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

        protected P extends Builder parent
      • builders

        protected java.util.List<Builder> builders
    • Constructor Detail

      • Builder

        public Builder()
      • Builder

        public Builder​(P parent)
    • Method Detail

      • addTerm

        protected boolean addTerm​(java.lang.String token,
                                  io.inversion.rql.Term term)
        OVERRIDE ME TO ADD CUSTOM FUNCTIONALITY TO YOUR FLUENT API
        Parameters:
        token - the token of the term (will be lowercase)
        term - the term to add
        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 java.util.List<Builder> getBuilders()
      • withBuilder

        public T withBuilder​(Builder builder)
      • removeBuilder

        public T removeBuilder​(Builder builder)
      • withFunctions

        public T withFunctions​(java.util.Collection<java.lang.String> tokens)
      • withFunctions

        public T withFunctions​(java.lang.String... tokens)
      • isFunction

        public boolean isFunction​(java.lang.String token)
      • clearFunctions

        public T clearFunctions()
      • withTerm

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

        public T withTerm​(io.inversion.rql.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 java.util.List<io.inversion.rql.Term> getTerms()
      • withTerms

        public final T withTerms​(java.lang.Object... rqlTerms)
      • withTerm

        public final T withTerm​(java.lang.String rql)
      • parse

        protected java.util.List<io.inversion.rql.Term> parse​(java.lang.Object... rqlTerms)
      • findInt

        public int findInt​(java.lang.String token,
                           int childToken,
                           int defaultValue)
      • find

        public java.lang.Object find​(java.lang.String token,
                                     int childToken)
      • findAll

        public java.util.List<io.inversion.rql.Term> findAll​(java.util.Collection<java.lang.String> tokens)
      • findAll

        public java.util.List<io.inversion.rql.Term> findAll​(java.lang.String... tokens)
      • find

        public io.inversion.rql.Term find​(java.lang.String... tokens)
      • findTerm

        public io.inversion.rql.Term findTerm​(java.lang.String childToken,
                                              java.lang.String... parentFunctions)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • toString

        protected java.lang.String toString​(java.util.List<io.inversion.rql.Term> terms)