public class DefaultSimpleDBCastFunctionSymbol extends AbstractDBTypeConversionFunctionSymbolImpl
AbstractDBTypeConversionFunctionSymbolImpl.DBTypeConversionExceptionFunctionSymbol.FunctionalTermNullability| Modifier | Constructor and Description |
|---|---|
protected |
DefaultSimpleDBCastFunctionSymbol(DBTermType inputBaseType,
DBTermType targetType,
DBFunctionSymbolSerializer serializer) |
| Modifier and Type | Method and Description |
|---|---|
protected ImmutableTerm |
buildFromVariable(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<ImmutableTerm> newTerms,
TermFactory termFactory,
VariableNullability variableNullability)
Default implementation
|
protected ImmutableTerm |
buildTermFromFunctionalTerm(ImmutableFunctionalTerm subTerm,
TermFactory termFactory,
VariableNullability variableNullability)
Tries to simplify nested casts
|
boolean |
canBePostProcessed(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> arguments)
1.
|
protected DBConstant |
convertDBConstant(DBConstant constant,
TermFactory termFactory) |
protected IncrementalEvaluation |
evaluateStrictEqWithNonNullConstant(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
NonNullConstant otherTerm,
TermFactory termFactory,
VariableNullability variableNullability)
Gets rid of the cast and simplifies the strict equality
|
Optional<DBTermType> |
getInputType() |
String |
getNativeDBString(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
Function<ImmutableTerm,String> termConverter,
TermFactory termFactory)
Returns a String in the native query language.
|
boolean |
isAlwaysInjectiveInTheAbsenceOfNonInjectiveFunctionalTerms()
When the function symbol is, in the absence of non-injective functional sub-terms, sometimes but not always injective,
please override isInjective(...)
|
boolean |
isSimple()
Returns true if does not transform the string representation of the value
(i.e.
|
boolean |
isTemporary() |
protected IncrementalEvaluation |
perform2ndStepEvaluationStrictEqWithConstant(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms,
String otherLexicalValue,
TermFactory termFactory,
VariableNullability variableNullability)
After making the compatibility checks (2nd step)
Low-level.
|
buildTermAfterEvaluationgetTargetType, inferType, isPreferringToBePostProcessedOverBeingBlocked, mayReturnNullWithoutNullArguments, tolerateNullsanalyzeInjectivity, canBeSafelyDecomposedIntoConjunction, decomposeInjectiveTopFunctionalTerm, enableIfElseNullLifting, evaluateIsNotNull, evaluateNullability, evaluateStrictEq, evaluateStrictEqWithFunctionalTerm, getExpectedBaseType, getExpectedBaseTypes, isAggregation, isDeterministic, isInjective, isNullable, proposeProvenanceVariables, simplify, simplifyAsGuaranteedToBeNonNull, transformIntoRegularArguments, tryToLiftMagicNumbersequals, getArity, getName, hashCode, toStringclone, finalize, getClass, notify, notifyAll, wait, wait, waitgetTargetTypeisPreferringToBePostProcessedOverBeingBlockedanalyzeInjectivity, evaluateIsNotNull, evaluateNullability, evaluateStrictEq, getExpectedBaseType, inferType, isAggregation, isDeterministic, isNullable, proposeProvenanceVariables, simplify, simplifyAsGuaranteedToBeNonNullprotected DefaultSimpleDBCastFunctionSymbol(@Nonnull DBTermType inputBaseType, DBTermType targetType, DBFunctionSymbolSerializer serializer)
protected DBConstant convertDBConstant(DBConstant constant, TermFactory termFactory)
convertDBConstant in class AbstractDBTypeConversionFunctionSymbolImplprotected ImmutableTerm buildTermFromFunctionalTerm(ImmutableFunctionalTerm subTerm, TermFactory termFactory, VariableNullability variableNullability)
buildTermFromFunctionalTerm in class AbstractDBTypeConversionFunctionSymbolImplprotected ImmutableTerm buildFromVariable(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<ImmutableTerm> newTerms, TermFactory termFactory, VariableNullability variableNullability)
AbstractDBTypeConversionFunctionSymbolImplbuildFromVariable in class AbstractDBTypeConversionFunctionSymbolImplpublic Optional<DBTermType> getInputType()
public boolean isSimple()
DBTypeConversionFunctionSymbolpublic boolean isTemporary()
public boolean isAlwaysInjectiveInTheAbsenceOfNonInjectiveFunctionalTerms()
FunctionSymbolImplisAlwaysInjectiveInTheAbsenceOfNonInjectiveFunctionalTerms in class FunctionSymbolImplpublic boolean canBePostProcessed(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> arguments)
FunctionSymbolpublic String getNativeDBString(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms, Function<ImmutableTerm,String> termConverter, TermFactory termFactory)
DBFunctionSymbolSerializerprotected IncrementalEvaluation evaluateStrictEqWithNonNullConstant(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms, NonNullConstant otherTerm, TermFactory termFactory, VariableNullability variableNullability)
evaluateStrictEqWithNonNullConstant in class FunctionSymbolImplprotected IncrementalEvaluation perform2ndStepEvaluationStrictEqWithConstant(it.unibz.inf.ontop.com.google.common.collect.ImmutableList<? extends ImmutableTerm> terms, String otherLexicalValue, TermFactory termFactory, VariableNullability variableNullability)
Copyright © 2009–2020 Free University of Bozen-Bolzano. All rights reserved.