All Downloads are FREE. Search and download functionalities are using the official Maven repository.

rapture.repo.jdbc.SelectConverter Maven / Gradle / Ivy

/**
 * Copyright (C) 2011-2015 Incapture Technologies LLC
 *
 * This is an autogenerated license statement. When copyright notices appear below
 * this one that copyright supercedes this statement.
 *
 * Unless required by applicable law or agreed to in writing, software is distributed
 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied.
 *
 * Unless explicit permission obtained in writing this software cannot be distributed.
 */
package rapture.repo.jdbc;

import org.apache.log4j.Logger;

import net.sf.jsqlparser.schema.Table;
import net.sf.jsqlparser.statement.select.SubSelect;
import net.sf.jsqlparser.util.deparser.SelectDeParser;
import rapture.repo.jdbc.context.ConverterContext;
import rapture.repo.jdbc.context.StatementType;

/**
 * Created by yanwang on 5/1/15.
 */
public class SelectConverter extends SelectDeParser {
    private static Logger log = Logger.getLogger(SelectConverter.class);
    private ConverterContext context;

    public SelectConverter() {
        super();
        setBuffer(new StringBuilder());
        context = new ConverterContext(StatementType.SELECT);
    }

    public ConverterContext getContext() {
        return context;
    }

    public PreparedExpressionConverter getExpressionConverter() {
        return (PreparedExpressionConverter) getExpressionVisitor();
    }

    @Override
    public void visit(Table tableName) {
        super.visit(tableName);
        context.addTable(tableName);
    }

    @Override
    public void visit(SubSelect subSelect) {
        context.increaseContextLevel(StatementType.SELECT);
        super.visit(subSelect);
        context.decreaseContextLevel();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy