net.n2oapp.framework.api.metadata.compile.SourceCompiler Maven / Gradle / Ivy
package net.n2oapp.framework.api.metadata.compile;
import net.n2oapp.framework.api.metadata.Compiled;
/**
* Сборщик метаданных
*
* @param Тип исходной метаданной
* @param Тип собранной метаданной
*/
@FunctionalInterface
public interface SourceCompiler> {
/**
* Собрать объект
*
* @param source Исходный объект
* @param context Контекст сборки
* @param p Процессор сборки
* @return Собранный объект
*/
D compile(S source, C context, CompileProcessor p);
}