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

com.talanlabs.mybatis.rsql.configuration.IRsqlConfiguration Maven / Gradle / Ivy

The newest version!
package com.talanlabs.mybatis.rsql.configuration;

import com.talanlabs.component.IComponent;
import com.talanlabs.mybatis.rsql.engine.EngineContext;
import com.talanlabs.mybatis.rsql.engine.ILikePolicy;
import com.talanlabs.mybatis.rsql.engine.INlsColumnRsqlHandler;
import com.talanlabs.mybatis.rsql.engine.IStringPolicy;
import com.talanlabs.mybatis.rsql.engine.orderby.ComponentSortVisitor;
import com.talanlabs.mybatis.rsql.engine.where.ComponentRsqlVisitor;
import com.talanlabs.mybatis.rsql.sort.SortParser;
import com.talanlabs.mybatis.rsql.statement.IPageStatementFactory;
import com.talanlabs.rtext.Rtext;
import cz.jirutka.rsql.parser.RSQLParser;

public interface IRsqlConfiguration {

    /**
     * @return rtext instance
     */
    Rtext getRtext();

    /**
     * @return nls column rsql handler
     */
    INlsColumnRsqlHandler getNlsColumnRsqlHandler();

    /**
     * @param componentClass component class
     * @return Return a component visitor for component class
     */
     ComponentRsqlVisitor getComponentRsqlVisitor(Class componentClass);

    /**
     * @param componentClass component class
     * @return Return a component visitor for component class
     */
     ComponentSortVisitor getComponentSortVisitor(Class componentClass);

    /**
     * @return a RSQL Parser
     */
    RSQLParser getRsqlParser();

    /**
     * @return a Sort Parser
     */
    SortParser getSortParser();

    /**
     * @return create EngineContext
     */
    EngineContext newEngineContext();

    /**
     * @return a String compare policy
     */
    IStringPolicy getStringPolicy();

    /**
     * @return A like policy
     */
    ILikePolicy getLikePolicy();

    /**
     * @return A Page create page statement
     */
    IPageStatementFactory getPageStatementFactory();

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy