/** * Copyright (C) 2009 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.engine.function; import org.threeten.bp.Instant; import com.opengamma.util.PoolExecutor; /** * Compilation service to convert a {@link FunctionRepository} to a {@link CompiledFunctionRepository}. */ public interface FunctionRepositoryCompiler { /** * Compile all functions in the repository for use with snapshots at the given time. * * @param repository the function repository * @param context the compilation context * @param executor executor service to use for parallel compilation * @param atInstant the snapshot time. * @return the repository of compiled functions. */ CompiledFunctionRepository compile(FunctionRepository repository, FunctionCompilationContext context, PoolExecutor executor, Instant atInstant); }