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

org.faktorips.fl.FunctionResolver Maven / Gradle / Ivy

There is a newer version: 25.1.0.release
Show newest version
/*******************************************************************************
 * Copyright (c) Faktor Zehn GmbH - faktorzehn.org
 * 
 * This source code is available under the terms of the AGPL Affero General Public License version
 * 3.
 * 
 * Please see LICENSE.txt for full license terms, including the additional permissions and
 * restrictions as well as the possibility of alternative license terms.
 *******************************************************************************/

package org.faktorips.fl;

import org.faktorips.codegen.CodeFragment;

/**
 * Resolves function calls used in an expression, e.g. ROUND(2.34; 2). The resolver
 * receives as arguments the name of the called function along with the compilation results the
 * compiler has generated for the arguments. For the above function call, the resolver would receive
 * the name 'ROUND' and a {@link CompilationResult CompilationResult[2]} array. The first result
 * would contain the {@link CodeFragment source code} to create a decimal value of 2.34, the
 * result's data type would be {@code Decimal}. The second result would contain the
 * {@link CodeFragment source code} to create a integer value of 2 and the result's data type would
 * be {@code Integer}.
 * 
 * @param  a {@link CodeFragment} implementation for a specific target language
 */
public interface FunctionResolver {

    /**
     * Returns the functions that are supported by this resolver.
     */
    FlFunction[] getFunctions();

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy