Package org.jpox.query.node

Examples of org.jpox.query.node.Node


        else
        {
            return false;
        }

        stack.push(new Node(Node.LITERAL, litValue));
        return true;
    }
View Full Code Here


        String id = p.parseIdentifier();
        if (id == null)
        {
            return false;
        }
        Node expr = new Node(Node.IDENTIFIER, id);
        stack.push(expr);
        return true;
    }
View Full Code Here

    {
        if (having == null)
        {
            return null;
        }
        Node node = parser.compile(having);
        ExpressionCompiler comp = new ExpressionCompiler();
        comp.setSymbolTable(symtbl);
        Expression expr = comp.compileExpression(node);
        // expr.bind();
        return expr;
View Full Code Here

        }
        if (!found)
        {
            throw new QueryCompilerSyntaxException("Expected keyword SELECT", p.getIndex(), p.getInput(), new String[]{"SELECT"});
        }
        Node select = new Node(Node.OPERATOR, "select");

        boolean unique = p.parseString("UNIQUE");
        if (!unique)
        {
            unique = p.parseString("unique");
        }
        if (unique)
        {
            select.appendChildNode(new Node(Node.OPERATOR, "unique"));
        }

        Node[] result = compileTupple(p);
        if (result.length > 0)
        {
            select.appendChildNode(result);
        }
        boolean into = p.parseString("INTO");
        if (!into)
        {
            into = p.parseString("into");
        }
        if (into)
        {
            Node node = new Node(Node.OPERATOR, "into");
            select.appendChildNode(node);
            Node intoExpr = compileExpression();
            node.appendChildNode(intoExpr);
        }

        boolean from = p.parseString("FROM");
        if (!from)
        {
            from = p.parseString("from");
        }
        if (from)
        {
            Node fromExpr = compileExpression();
            Node node = new Node(Node.OPERATOR, "from");
            select.appendChildNode(node);
            node.appendChildNode(fromExpr);
        }

        boolean where = p.parseString("WHERE");
        if (!where)
        {
            where = p.parseString("where");
        }
        if (where)
        {
            Node whereExpr = compileExpression();
            Node node = new Node(Node.OPERATOR, "where");
            select.appendChildNode(node);
            node.appendChildNode(whereExpr);
        }

        boolean variables = p.parseString("VARIABLES");
        if (!variables)
        {
            variables = p.parseString("variables");
        }
        if (variables)
        {
            Node[][] variablesExpr = compileVariables(p);
            Node node = new Node(Node.OPERATOR, "variables");
            select.appendChildNode(node);
            node.appendChildNode(variablesExpr);
        }

        boolean parameters = p.parseString("PARAMETERS");
        if (!parameters)
        {
            parameters = p.parseString("parameters");
        }
        if (parameters)
        {
            Node[][] parametersExpr = compileParameters(p);
            Node node = new Node(Node.OPERATOR, "parameters");
            select.appendChildNode(node);
            node.appendChildNode(parametersExpr);
        }

        List imports = new ArrayList();
        while (p.parseString("import"))
        {
View Full Code Here

        }
        if (!compileIdentifier())
        {
            throw new QueryCompilerSyntaxException("expected identifier", p.getIndex(), p.getInput());
        }
        Node nodeVariable = (Node) stack.pop();
        Node nodeType = (Node) stack.pop();
        nodeType.appendChildNode(nodeVariable);
        return nodeType;
    }
View Full Code Here

        stack = new Stack();
        List nodes = new ArrayList();
        do
        {
            compileExpression();
            Node expr = (Node) stack.pop();
            nodes.add(expr);
        }
        while (p.parseString(","));
        return (Node[])nodes.toArray(new Node[nodes.size()]);
    }
View Full Code Here

            }
            if (!compileIdentifier())
            {
                throw new QueryCompilerSyntaxException("expected identifier", p.getIndex(), p.getInput());
            }
            Node nodeVariable = (Node) stack.pop();
            Node nodeType = (Node) stack.pop();
            nodes.add(new Node[]{nodeType, nodeVariable});
        }
        while (p.parseString(";"));
        return (Node[][]) nodes.toArray(new Node[nodes.size()][2]);
    }
View Full Code Here

            }
            if (!compileIdentifier())
            {
                throw new QueryCompilerSyntaxException("expected identifier", p.getIndex(), p.getInput());
            }
            Node nodeVariable = (Node) stack.pop();
            Node nodeType = (Node) stack.pop();
            nodes.add(new Node[]{nodeType, nodeVariable});
        }
        while (p.parseString(";"));
        return (Node[][]) nodes.toArray(new Node[nodes.size()][2]);
    }
View Full Code Here

            }
            if (!compileIdentifier())
            {
                throw new QueryCompilerSyntaxException("expected identifier", p.getIndex(), p.getInput());
            }
            Node nodeVariable = (Node) stack.pop();
            Node nodeType = (Node) stack.pop();
            nodes.add(new Node[]{nodeType, nodeVariable});
        }
        while (p.parseString(","));
        return (Node[][]) nodes.toArray(new Node[nodes.size()][2]);
    }
View Full Code Here

        do
        {
            compileExpression();
            if (p.parseString("asc") || p.parseString("ascending"))
            {
                Node expr = new Node(Node.OPERATOR, "ascending");
                stack.push(expr);
            }
            else if (p.parseString("desc") || p.parseString("descending"))
            {
                Node expr = new Node(Node.OPERATOR, "descending");
                stack.push(expr);
            }
            Node expr = new Node(Node.OPERATOR, "order");
            expr.insertChildNode((Node) stack.pop());
            if (!stack.empty())
            {
                expr.insertChildNode((Node) stack.pop());
            }
            nodes.add(expr);
        }
        while (p.parseString(","));
        return (Node[]) nodes.toArray(new Node[nodes.size()]);
View Full Code Here

TOP

Related Classes of org.jpox.query.node.Node

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.