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

it.unibz.inf.ontop.model.term.impl.FunctionalTermNullabilityImpl Maven / Gradle / Ivy

package it.unibz.inf.ontop.model.term.impl;

import it.unibz.inf.ontop.model.term.Variable;
import it.unibz.inf.ontop.model.term.functionsymbol.FunctionSymbol;

import javax.annotation.Nullable;
import java.util.Optional;

public class FunctionalTermNullabilityImpl implements FunctionSymbol.FunctionalTermNullability {

    private final boolean isNullable;
    @Nullable
    private final Variable boundVariable;

    public FunctionalTermNullabilityImpl(boolean isNullable) {
        this.isNullable = isNullable;
        this.boundVariable = null;
    }

    public FunctionalTermNullabilityImpl(Variable boundVariable) {
        this.isNullable = true;
        this.boundVariable = boundVariable;
    }

    @Override
    public boolean isNullable() {
        return isNullable;
    }

    @Override
    public Optional getBoundVariable() {
        return Optional.ofNullable(boundVariable);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy