public class DBBooleanCaseFunctionSymbolImpl extends DefaultDBCaseFunctionSymbol implements DBBooleanFunctionSymbol
FunctionSymbol.FunctionalTermNullabilitydoOrderingMatter| Modifier | Constructor and Description |
|---|---|
protected |
DBBooleanCaseFunctionSymbolImpl(int arity,
DBTermType dbBooleanType,
DBTermType rootDBTermType,
boolean doOrderingMatter) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
blocksNegation()
Returns TRUE if the NOT operator has to stay ABOVE the expression
(i.e.
|
protected ImmutableFunctionalTerm |
buildCase(Stream<Map.Entry<ImmutableExpression,? extends ImmutableTerm>> newWhenPairs,
ImmutableTerm defaultValue,
TermFactory termFactory)
Can be overridden
|
ImmutableExpression |
negate(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> subTerms,
TermFactory termFactory)
Usually NOT supported when the function symbol blocks negation.
|
ImmutableTerm |
simplify2VL(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
TermFactory termFactory,
VariableNullability variableNullability)
Can further simplify than the simplify(...) because here FALSE can be treated as equivalent to NULL (2-valued logic)
By default, reuses simplify(...).
|
protected ImmutableExpression |
simplifyValue(ImmutableTerm immutableTerm,
VariableNullability variableNullability,
TermFactory termFactory)
Can be overridden
|
extractDefaultValue, getNativeDBStringcanBePostProcessed, extractPossibleValues, extractSubFunctionalTerms, isAlwaysInjectiveInTheAbsenceOfNonInjectiveFunctionalTerms, isPreferringToBePostProcessedOverBeingBlocked, mayReturnNullWithoutNullArguments, pushDownExpression, pushDownFunctionalTerm, pushDownRegularFunctionalTerm, simplify, tolerateNulls, transformIntoRegularArgumentsinferTypeanalyzeInjectivity, buildTermAfterEvaluation, canBeSafelyDecomposedIntoConjunction, decomposeInjectiveTopFunctionalTerm, enableIfElseNullLifting, evaluateIsNotNull, evaluateNullability, evaluateStrictEq, evaluateStrictEqWithFunctionalTerm, evaluateStrictEqWithNonNullConstant, getExpectedBaseType, getExpectedBaseTypes, isAggregation, isDeterministic, isInjective, isNullable, proposeProvenanceVariables, simplifyAsGuaranteedToBeNonNull, tryToLiftMagicNumbersequals, getArity, getName, hashCode, toStringclone, finalize, getClass, notify, notifyAll, wait, wait, waitisPreferringToBePostProcessedOverBeingBlockedanalyzeInjectivity, canBePostProcessed, evaluateIsNotNull, evaluateNullability, evaluateStrictEq, getExpectedBaseType, inferType, isAggregation, isDeterministic, isNullable, proposeProvenanceVariables, simplify, simplifyAsGuaranteedToBeNonNullgetArity, getNamegetNativeDBStringprotected DBBooleanCaseFunctionSymbolImpl(int arity,
DBTermType dbBooleanType,
DBTermType rootDBTermType,
boolean doOrderingMatter)
public boolean blocksNegation()
BooleanFunctionSymbolblocksNegation in interface BooleanFunctionSymbolpublic ImmutableExpression negate(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> subTerms, TermFactory termFactory)
BooleanFunctionSymbolnegate in interface BooleanFunctionSymbolprotected ImmutableExpression simplifyValue(ImmutableTerm immutableTerm, VariableNullability variableNullability, TermFactory termFactory)
AbstractDBIfThenFunctionSymbolsimplifyValue in class AbstractDBIfThenFunctionSymbolprotected ImmutableFunctionalTerm buildCase(Stream<Map.Entry<ImmutableExpression,? extends ImmutableTerm>> newWhenPairs, ImmutableTerm defaultValue, TermFactory termFactory)
AbstractDBIfThenFunctionSymbolbuildCase in class AbstractDBIfThenFunctionSymbolpublic ImmutableTerm simplify2VL(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms, TermFactory termFactory, VariableNullability variableNullability)
BooleanFunctionSymbolsimplify2VL in interface BooleanFunctionSymbolCopyright © 2009–2021 Free University of Bozen-Bolzano. All rights reserved.