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

org.faktorips.fl.FlFunction 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;

/**
 * A function used in the formula language.
 * 
 * @param  a {@link CodeFragment} implementation for a specific target language
 */
public interface FlFunction extends FunctionSignature {

    /**
     * Generates the {@link CompilationResult source code} for the function given the
     * {@link CompilationResult compilation results} for the arguments.
     */
    CompilationResult compile(CompilationResult[] argResults);

    /**
     * Sets the compiler in which the function is used.
     */
    void setCompiler(ExprCompiler compiler);

    /**
     * Returns the compiler in which the function is used.
     */
    ExprCompiler getCompiler();

    /**
     * Returns the function's description.
     */
    String getDescription();

    /**
     * Sets the function's description.
     */
    void setDescription(String description);

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy