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

net.n2oapp.framework.api.metadata.compile.CompileContext Maven / Gradle / Ivy

There is a newer version: 7.28.2
Show newest version
package net.n2oapp.framework.api.metadata.compile;

import net.n2oapp.criteria.dataset.DataSet;
import net.n2oapp.framework.api.metadata.Compiled;
import net.n2oapp.framework.api.metadata.meta.ModelLink;

import java.io.Serializable;
import java.util.Map;

/**
 * Контекст сборки метаданных
 */
public interface CompileContext extends Serializable {
    /**
     * Получить идентификатор контекста
     *
     * @return Идентификатор контекста
     */
    String getCompiledId(BindProcessor p);

    /**
     * Получить идентификатор исходной метаданной
     *
     * @param p Процессор сборки
     * @return Идентификатор исходной метаданной
     */
    String getSourceId(BindProcessor p);

    /**
     * Маршрут c параметрами, по которому можно получить метаданную
     *
     * @param p Процессор сборки
     */
    String getRoute(BindProcessor p);

    /**
     * Получить шаблон url
     * @return Шаблон url
     */
    String getUrlPattern();

    /**
     * Получить список описаний, как можно разрешить query параметры маршрута
     *
     * @return  список описаний параметров
     */
    Map getQueryRouteMapping();

    /**
     * Получить список описаний, как можно разрешить path параметры маршрута
     *
     * @return  список описаний параметров
     */
    Map getPathRouteMapping();

    /**
     * Получить класс исходной метаданной
     *
     * @return Класс исходной метаданной
     */
    Class getSourceClass();

    /**
     * Получить класс собранной метаданной
     *
     * @return Класс собранной метаданной
     */
    Class getCompiledClass();


    /**
     * Получение данных из url, учитывая route в контексте и query параметры
     * @param url           реальный url со значениями
     * @param queryParams   query параметры
     * @return              данные из url
     */
    DataSet getParams(String url, Map queryParams);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy