Search in sources :

Example 1 with SimpleNodeTreeVisitor

use of org.apache.cayenne.access.sqlbuilder.sqltree.SimpleNodeTreeVisitor in project cayenne by apache.

the class ResultNodeDescriptor method getDbAttribute.

public DbAttribute getDbAttribute() {
    if (this.dbAttribute != null) {
        return this.dbAttribute;
    }
    DbAttribute[] dbAttribute = { null };
    node.visit(new SimpleNodeTreeVisitor() {

        @Override
        public boolean onNodeStart(Node node) {
            if (node.getType() == NodeType.COLUMN) {
                dbAttribute[0] = ((ColumnNode) node).getAttribute();
                return false;
            }
            return true;
        }
    });
    return this.dbAttribute = dbAttribute[0];
}
Also used : ColumnNode(org.apache.cayenne.access.sqlbuilder.sqltree.ColumnNode) Node(org.apache.cayenne.access.sqlbuilder.sqltree.Node) DbAttribute(org.apache.cayenne.map.DbAttribute) ColumnNode(org.apache.cayenne.access.sqlbuilder.sqltree.ColumnNode) SimpleNodeTreeVisitor(org.apache.cayenne.access.sqlbuilder.sqltree.SimpleNodeTreeVisitor)

Aggregations

ColumnNode (org.apache.cayenne.access.sqlbuilder.sqltree.ColumnNode)1 Node (org.apache.cayenne.access.sqlbuilder.sqltree.Node)1 SimpleNodeTreeVisitor (org.apache.cayenne.access.sqlbuilder.sqltree.SimpleNodeTreeVisitor)1 DbAttribute (org.apache.cayenne.map.DbAttribute)1