Class WhereQuadHolder

    • Constructor Detail

      • WhereQuadHolder

        public WhereQuadHolder​(PrefixHandler prefixHandler)
        Constructor.
        Parameters:
        prefixHandler - the prefix handler to use.
    • Method Detail

      • isEmpty

        public boolean isEmpty()
        True if there are no elements in the where processor.
        Returns:
        true if there are no elements.
      • getQuads

        public ExtendedIterator<Quad> getQuads()
        Description copied from interface: QuadHolder
        Get an extended iterator over the quads this holder holds.
        Specified by:
        getQuads in interface QuadHolder
        Returns:
        the extended iterator.
      • addAll

        public void addAll​(WhereHandler whereHandler)
        Add all where attributes from the Where Handler argument.
        Parameters:
        whereHandler - The Where Handler to copy from.
      • getClause

        public ElementGroup getClause()
        Get the element group for the clause. if The element group is not set, create and set it. Public for ExprFactory use.
        Returns:
        The element group.
      • addWhere

        public void addWhere​(TriplePath t)
                      throws java.lang.IllegalArgumentException
        Add the triple path to the where clause
        Parameters:
        t - The triple path to add.
        Throws:
        java.lang.IllegalArgumentException - If the triple path is not a valid triple path for a where clause.
      • addOptional

        public void addOptional​(TriplePath t)
                         throws java.lang.IllegalArgumentException
        Add an optional triple to the where clause
        Parameters:
        t - The triple path to add.
        Throws:
        java.lang.IllegalArgumentException - If the triple is not a valid triple for a where clause.
      • addOptional

        public void addOptional​(WhereHandler whereHandler)
        Add the contents of a where handler as an optional statement.
        Parameters:
        whereHandler - The where handler to use as the optional statement.
      • addFilter

        public void addFilter​(java.lang.String expression)
                       throws ParseException
        Add an expression string as a filter.
        Parameters:
        expression - The expression string to add.
        Throws:
        ParseException - If the expression can not be parsed.
      • addFilter

        public void addFilter​(Expr expr)
        add an expression as a filter.
        Parameters:
        expr - The expression to add.
      • addSubQuery

        public void addSubQuery​(AbstractQueryBuilder<?> subQuery)
        Add a subquery to the where clause.
        Parameters:
        subQuery - The sub query to add.
      • addUnion

        public void addUnion​(AbstractQueryBuilder<?> subQuery)
        Add a union to the where clause.
        Parameters:
        subQuery - The subquery to add as the union.
      • addGraph

        public void addGraph​(Node graph,
                             WhereHandler subQuery)
        Add a graph to the where clause.
        Parameters:
        graph - The name of the graph.
        subQuery - The where handler that defines the graph.
      • addBind

        public void addBind​(Expr expr,
                            Var var)
        Add a binding to the where clause.
        Parameters:
        expr - The expression to bind.
        var - The variable to bind it to.
      • addBind

        public void addBind​(java.lang.String expression,
                            Var var)
                     throws ParseException
        Add a binding to the where clause.
        Parameters:
        expression - The expression to bind.
        var - The variable to bind it to.
        Throws:
        ParseException
      • setVars

        public WhereQuadHolder setVars​(java.util.Map<Var,​Node> values)
        replace the vars in the expressions with the nodes in the values map. Vars not listed in the values map are not changed. Will return null if the whereClause is null.
        Parameters:
        values - the value map to use
        Returns:
        A new Element instance with the values changed.
      • setValues

        public QuadHolder setValues​(java.util.Map<Var,​Node> values)
        Description copied from interface: QuadHolder
        Apply values to the variables in the quads held by this holder. May return this holder or a new holder instance.
        Specified by:
        setValues in interface QuadHolder
        Parameters:
        values - the values to set.
        Returns:
        a QuadHolder in which the variables have been replaced.
      • list

        public Node list​(java.lang.Object... objs)
        Create a list node from a list of objects as per RDF Collections. http://www.w3.org/TR/2013/REC-sparql11-query-20130321/#collections
        Parameters:
        objs - the list of objects for the list.
        Returns:
        the first blank node in the list.
      • addMinus

        public void addMinus​(AbstractQueryBuilder<?> qb)
        Add a minus operation to the where clause. The prefixes will be updated with the prefixes from the abstract query builder.
        Parameters:
        qb - the abstract builder that defines the data to subtract.
      • build

        public Element build()
        Returns:
        Build the whereClause and return the element.