Class AbstractSqmJsonPathExpression<T>
java.lang.Object
org.hibernate.query.sqm.tree.spi.AbstractSqmNode
org.hibernate.query.sqm.tree.spi.jpa.AbstractJpaTupleElement<T>
org.hibernate.query.sqm.tree.spi.jpa.AbstractJpaSelection<T>
org.hibernate.query.sqm.tree.spi.expression.AbstractSqmExpression<T>
org.hibernate.query.sqm.tree.spi.expression.SqmFunction<T>
org.hibernate.query.sqm.function.SelfRenderingSqmFunction<T>
org.hibernate.query.sqm.tree.spi.expression.AbstractSqmJsonPathExpression<T>
- All Implemented Interfaces:
Expression<T>, Selection<T>, TupleElement<T>, Serializable, JpaCriteriaNode, JpaExpression<T>, JpaFunction<T>, JpaSelection<T>, JpaTupleElement<T>, SemanticPathPart, SqmExpression<T>, SqmSelectableNode<T>, SqmCacheable, SqmExpressibleAccessor<T>, SqmNode, SqmTypedNode<T>, SqmVisitableNode
- Direct Known Subclasses:
SqmJsonExistsExpression, SqmJsonQueryExpression, SqmJsonValueExpression
@Incubating(since="6.2")
public abstract class AbstractSqmJsonPathExpression<T>
extends SelfRenderingSqmFunction<T>
Base class for expressions that contain a json path. Maintains a map of expressions for identifiers.
- Since:
- 7.0
- See Also:
-
Field Summary
-
Constructor Summary
ConstructorsModifierConstructorDescriptionAbstractSqmJsonPathExpression(SqmFunctionDescriptor descriptor, FunctionRenderer renderer, List<? extends SqmTypedNode<?>> arguments, ReturnableType<T> impliedResultType, ArgumentsValidator argumentsValidator, FunctionReturnTypeResolver returnTypeResolver, NodeBuilder nodeBuilder, String name) protectedAbstractSqmJsonPathExpression(SqmFunctionDescriptor descriptor, FunctionRenderer renderer, List<? extends SqmTypedNode<?>> arguments, ReturnableType<T> impliedResultType, ArgumentsValidator argumentsValidator, FunctionReturnTypeResolver returnTypeResolver, NodeBuilder nodeBuilder, String name, Map<String, SqmExpression<?>> passingExpressions) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddPassingExpression(String identifier, SqmExpression<?> expression) protected voidintprotected Map<String, SqmExpression<?>> copyPassingExpressions(SqmCopyContext context) protected JsonPathPassingClausebooleanMap<String, SqmExpression<?>> inthashCode()booleanisCompatible(Object other) Methods inherited from class SelfRenderingSqmFunction
convertToSqlAst, copy, determineResultType, getArgumentsValidator, getFunctionRenderer, getImpliedResultType, getMappingModelExpressible, getNodeType, getReturnTypeResolver, resolveResultType, resolveSqlAstArgumentsMethods inherited from class SqmFunction
accept, appendHqlString, getArguments, getFunctionDescriptor, getFunctionName, resolveIndexedAccess, resolvePathPartMethods inherited from class AbstractSqmExpression
applyInferableType, as, cast, coalesce, coalesce, count, countDistinct, equalTo, equalTo, getJavaTypeDescriptor, in, in, in, in, in, internalApplyInferableType, isMember, isNotMember, isNotNull, isNull, nodeBuilder, notEqualTo, notEqualTo, nullif, nullif, selectCase, selectCaseMethods inherited from class AbstractJpaSelection
alias, getSelectionItems, isCompoundSelectionMethods inherited from class AbstractJpaTupleElement
copyTo, getAlias, setAlias, setExpressibleTypeMethods inherited from class Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface JpaExpression
coalesce, coalesce, count, countDistinct, in, isMember, isNotMember, nullif, nullif, selectCase, selectCaseMethods inherited from interface JpaSelection
alias, getCompoundSelectionItems, getSelectionItemsMethods inherited from interface JpaTupleElement
getJavaType, getJavaTypeDescriptor, getJavaTypeIfKnown, getJavaTypeName, isEnumMethods inherited from interface Selection
isCompoundSelectionMethods inherited from interface SqmExpression
asBigDecimal, asBigInteger, asDouble, asFloat, asInteger, asLong, asString, castAs, visitSubSelectableNodesMethods inherited from interface SqmNode
asLoggableTextMethods inherited from interface SqmSelectableNode
getTupleLengthMethods inherited from interface SqmTypedNode
getExpressible, getNodeJavaTypeMethods inherited from interface SqmVisitableNode
toHqlStringMethods inherited from interface TupleElement
getAlias
-
Constructor Details
-
AbstractSqmJsonPathExpression
public AbstractSqmJsonPathExpression(@Nonnull SqmFunctionDescriptor descriptor, @Nonnull FunctionRenderer renderer, @Nonnull List<? extends SqmTypedNode<?>> arguments, @Nullable ReturnableType<T> impliedResultType, @Nullable ArgumentsValidator argumentsValidator, @Nonnull FunctionReturnTypeResolver returnTypeResolver, @Nonnull NodeBuilder nodeBuilder, @Nonnull String name) -
AbstractSqmJsonPathExpression
protected AbstractSqmJsonPathExpression(@Nonnull SqmFunctionDescriptor descriptor, @Nonnull FunctionRenderer renderer, @Nonnull List<? extends SqmTypedNode<?>> arguments, @Nullable ReturnableType<T> impliedResultType, @Nullable ArgumentsValidator argumentsValidator, @Nonnull FunctionReturnTypeResolver returnTypeResolver, @Nonnull NodeBuilder nodeBuilder, @Nonnull String name, @Nullable Map<String, SqmExpression<?>> passingExpressions)
-
-
Method Details
-
getPassingExpressions
-
addPassingExpression
protected void addPassingExpression(@Nonnull String identifier, @Nonnull SqmExpression<?> expression) -
copyPassingExpressions
@Nullable protected Map<String, SqmExpression<?>> copyPassingExpressions(@Nonnull SqmCopyContext context) -
createJsonPathPassingClause
@Nullable protected JsonPathPassingClause createJsonPathPassingClause(@Nonnull SqmToSqlAstConverter walker) -
appendPassingExpressionHqlString
protected void appendPassingExpressionHqlString(@Nonnull StringBuilder sb, @Nonnull SqmRenderContext context) -
equals
- Overrides:
equalsin classSqmFunction<T>
-
hashCode
public int hashCode()- Overrides:
hashCodein classSqmFunction<T>
-
isCompatible
- Specified by:
isCompatiblein interfaceSqmCacheable- Overrides:
isCompatiblein classSqmFunction<T>
-
cacheHashCode
public int cacheHashCode()- Specified by:
cacheHashCodein interfaceSqmCacheable- Overrides:
cacheHashCodein classSqmFunction<T>
-