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

org.zodiac.script.expression.api.function.ModalFunction Maven / Gradle / Ivy

package org.zodiac.script.expression.api.function;

import org.zodiac.script.expression.api.ModalExpression.Modality;

public interface ModalFunction extends BoolExpressionFunction {

    Modality getModality();

    public static interface MustFunction extends ModalFunction {
        String FUNCTION_NAME = BOOL_PREIFX + Modality.MUST.getName();

        default Modality getModality() {
            return Modality.MUST;
        }
    }

    public static interface MustNotFunction extends ModalFunction {
        String FUNCTION_NAME = BOOL_PREIFX + Modality.MUST_NOT.getName();

        default Modality getModality() {
            return Modality.MUST_NOT;
        }
    }

    public static interface ShouldFunction extends ModalFunction {
        String FUNCTION_NAME = BOOL_PREIFX + Modality.SHOULD.getName();

        default Modality getModality() {
            return Modality.SHOULD;
        }
    }

    public static interface ShouldNotFunction extends ModalFunction {
        String FUNCTION_NAME = BOOL_PREIFX + Modality.SHOULD_NOT.getName();

        default Modality getModality() {
            return Modality.SHOULD_NOT;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy