Class SqmXmlTableFunction<T>
java.lang.Object
org.hibernate.query.sqm.tree.AbstractSqmNode
org.hibernate.query.sqm.tree.expression.SqmSetReturningFunction<T>
org.hibernate.query.sqm.function.SelfRenderingSqmSetReturningFunction<T>
org.hibernate.query.sqm.tree.expression.SqmXmlTableFunction<T>
- All Implemented Interfaces:
Serializable
,JpaCriteriaNode
,JpaSetReturningFunction<T>
,JpaXmlTableFunction
,SqmNode
,SqmVisitableNode
public class SqmXmlTableFunction<T>
extends SelfRenderingSqmSetReturningFunction<T>
implements JpaXmlTableFunction
- Since:
- 7.0
- See Also:
-
Nested Class Summary
Nested Classes -
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionSqmXmlTableFunction
(SqmSetReturningFunctionDescriptor descriptor, SetReturningFunctionRenderer renderer, @Nullable ArgumentsValidator argumentsValidator, SetReturningFunctionTypeResolver setReturningTypeResolver, NodeBuilder nodeBuilder, SqmExpression<String> xpath, SqmExpression<?> document) -
Method Summary
Modifier and TypeMethodDescriptionvoid
copy
(SqmCopyContext context) ordinalityColumn
(String columnName) Defines a long column on the result type with the given name which is set to the ordinality i.e.queryColumn
(String columnName) LikeJpaXmlTableFunction.queryColumn(String, String)
, but uses the column name as XPath expression.queryColumn
(String columnName, @Nullable String xpath) Defines a string column on the result type with the given name for which the value can be obtained by evaluatingxmlquery
with the given XPath expression on the XML document.protected List<SqlAstNode>
resolveSqlAstArguments
(List<? extends SqmTypedNode<?>> sqmArguments, SqmToSqlAstConverter walker) <X> JpaXmlTableColumnNode<X>
valueColumn
(String columnName, Class<X> type) LikeJpaXmlTableFunction.valueColumn(String, Class, String)
but uses the column name as XPath expression.<X> JpaXmlTableColumnNode<X>
valueColumn
(String columnName, Class<X> type, String xpath) LikeJpaXmlTableFunction.valueColumn(String, JpaCastTarget, String)
, but converting theClass
toJpaCastTarget
viaHibernateCriteriaBuilder.castTarget(Class)
.<X> JpaXmlTableColumnNode<X>
valueColumn
(String columnName, JpaCastTarget<X> castTarget) LikeJpaXmlTableFunction.valueColumn(String, JpaCastTarget, String)
but uses the column name as XPath expression.<X> JpaXmlTableColumnNode<X>
valueColumn
(String columnName, JpaCastTarget<X> castTarget, @Nullable String xpath) Defines an column on the result type with the given name and type for which the value can be obtained by the given XPath path expression.Methods inherited from class org.hibernate.query.sqm.function.SelfRenderingSqmSetReturningFunction
convertToSqlAst, getArgumentsValidator, getFunctionRenderer, getSetReturningTypeResolver, getType, isTypeResolved
Methods inherited from class org.hibernate.query.sqm.tree.expression.SqmSetReturningFunction
accept, getArguments, getFunctionDescriptor, getFunctionName
Methods inherited from class org.hibernate.query.sqm.tree.AbstractSqmNode
nodeBuilder
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.hibernate.query.sqm.tree.SqmNode
asLoggableText, nodeBuilder
Methods inherited from interface org.hibernate.query.sqm.tree.SqmVisitableNode
toHqlString
-
Constructor Details
-
SqmXmlTableFunction
public SqmXmlTableFunction(SqmSetReturningFunctionDescriptor descriptor, SetReturningFunctionRenderer renderer, @Nullable ArgumentsValidator argumentsValidator, SetReturningFunctionTypeResolver setReturningTypeResolver, NodeBuilder nodeBuilder, SqmExpression<String> xpath, SqmExpression<?> document)
-
-
Method Details
-
copy
- Specified by:
copy
in interfaceSqmNode
- Overrides:
copy
in classSelfRenderingSqmSetReturningFunction<T>
-
resolveSqlAstArguments
protected List<SqlAstNode> resolveSqlAstArguments(List<? extends SqmTypedNode<?>> sqmArguments, SqmToSqlAstConverter walker) - Overrides:
resolveSqlAstArguments
in classSelfRenderingSqmSetReturningFunction<T>
-
queryColumn
Description copied from interface:JpaXmlTableFunction
LikeJpaXmlTableFunction.queryColumn(String, String)
, but uses the column name as XPath expression.- Specified by:
queryColumn
in interfaceJpaXmlTableFunction
- Returns:
- The
JpaXmlTableColumnNode
for the column
-
queryColumn
Description copied from interface:JpaXmlTableFunction
Defines a string column on the result type with the given name for which the value can be obtained by evaluatingxmlquery
with the given XPath expression on the XML document.- Specified by:
queryColumn
in interfaceJpaXmlTableFunction
- Returns:
- The
JpaXmlTableColumnNode
for the column
-
valueColumn
Description copied from interface:JpaXmlTableFunction
LikeJpaXmlTableFunction.valueColumn(String, Class, String)
but uses the column name as XPath expression.- Specified by:
valueColumn
in interfaceJpaXmlTableFunction
- Returns:
- The
JpaXmlTableColumnNode
for the column
-
valueColumn
Description copied from interface:JpaXmlTableFunction
LikeJpaXmlTableFunction.valueColumn(String, JpaCastTarget, String)
but uses the column name as XPath expression.- Specified by:
valueColumn
in interfaceJpaXmlTableFunction
- Returns:
- The
JpaXmlTableColumnNode
for the column
-
valueColumn
Description copied from interface:JpaXmlTableFunction
LikeJpaXmlTableFunction.valueColumn(String, JpaCastTarget, String)
, but converting theClass
toJpaCastTarget
viaHibernateCriteriaBuilder.castTarget(Class)
.- Specified by:
valueColumn
in interfaceJpaXmlTableFunction
- Returns:
- The
JpaXmlTableColumnNode
for the column
-
valueColumn
public <X> JpaXmlTableColumnNode<X> valueColumn(String columnName, JpaCastTarget<X> castTarget, @Nullable String xpath) Description copied from interface:JpaXmlTableFunction
Defines an column on the result type with the given name and type for which the value can be obtained by the given XPath path expression.- Specified by:
valueColumn
in interfaceJpaXmlTableFunction
- Returns:
- The
JpaXmlTableColumnNode
for the column
-
ordinalityColumn
Description copied from interface:JpaXmlTableFunction
Defines a long column on the result type with the given name which is set to the ordinality i.e. the 1-based position of the processed element. Ordinality starts again at 1 within nested paths.- Specified by:
ordinalityColumn
in interfaceJpaXmlTableFunction
- Returns:
this
for method chaining
-
appendHqlString
- Specified by:
appendHqlString
in interfaceSqmVisitableNode
- Overrides:
appendHqlString
in classSqmSetReturningFunction<T>
-