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

org.coode.oppl.function.OPPLFunctionVisitor Maven / Gradle / Ivy

package org.coode.oppl.function;

import org.coode.oppl.function.inline.InlineSet;
import org.semanticweb.owlapi.model.OWLObject;

/** @author Luigi Iannone */
public interface OPPLFunctionVisitor extends StringManipulationOPPLFunctionVisitor {
    /** @param aggregation
     *            aggregation
     * @param 
     *            aggregation fuction type
     * @param 
     *            aggregation type */
     void visitAggregation(Aggregation aggregation);

    /** @param inlineSet
     *            inlineSet
     * @param 
     *            set type */
     void visitInlineSet(InlineSet inlineSet);

    /** @param constant
     *            constant
     * @param 
     *            constant type */
     void visitConstant(Constant constant);

    /** @param valuesVariableAtttribute
     *            valuesVariableAtttribute
     * @param 
     *            variable type */
     void visitValuesVariableAtttribute(
            ValuesVariableAtttribute valuesVariableAtttribute);

    /** @param renderingVariableAttribute
     *            renderingVariableAttribute */
    void visitRenderingVariableAttribute(
            RenderingVariableAttribute renderingVariableAttribute);

    /** @param groupVariableAttribute
     *            groupVariableAttribute
     * @param 
     *            variable type */
     void visitGroupVariableAttribute(
            GroupVariableAttribute groupVariableAttribute);

    /** @param expression
     *            expression
     * @param 
     *            expression type */
     void visitExpression(Expression expression);

    /** @param create
     *            create
     * @param 
     *            create return type
     * @param 
     *            create type */
    > void visitCreate(Create create);

    /** @param iriVariableAttribute
     *            iriVariableAttribute */
    void visitIRIVariableAttribute(IRIVariableAttribute iriVariableAttribute);

    /** @param opplFunction
     *            opplFunction
     * @param 
     *            function type */
     void visitGenericOPPLFunction(OPPLFunction opplFunction);
}