From 6825a64d564cb005f656f45b44b77051a67485a6 Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Tue, 28 Jan 2020 14:15:15 +0100 Subject: [PATCH] DATAJDBC-478 - Expose arguments of SimpleCondition and SimpleFunction. We now allow introspection by exposing the arguments as function arguments and the condition expression could be subject to mapping metadata mapping. --- .../data/relational/core/sql/SimpleCondition.java | 14 ++++++++++++++ .../data/relational/core/sql/SimpleFunction.java | 9 +++++++++ 2 files changed, 23 insertions(+) diff --git a/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/SimpleCondition.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/SimpleCondition.java index ecf8cb583..3c16a0dbc 100644 --- a/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/SimpleCondition.java +++ b/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/SimpleCondition.java @@ -50,10 +50,24 @@ public class SimpleCondition extends AbstractSegment implements Condition { return new SimpleCondition(new Column(column, null), comparator, predicate); } + /** + * @return the condition expression (left-hand-side) + * @since 2.0 + */ + public Expression getExpression() { + return expression; + } + + /** + * @return the comparator. + */ public String getComparator() { return comparator; } + /** + * @return the condition predicate (right-hand-side) + */ public String getPredicate() { return predicate; } diff --git a/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/SimpleFunction.java b/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/SimpleFunction.java index 95a9833d5..ba97eb2aa 100644 --- a/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/SimpleFunction.java +++ b/spring-data-relational/src/main/java/org/springframework/data/relational/core/sql/SimpleFunction.java @@ -15,6 +15,7 @@ */ package org.springframework.data.relational.core.sql; +import java.util.Collections; import java.util.List; import org.springframework.util.Assert; @@ -74,6 +75,14 @@ public class SimpleFunction extends AbstractSegment implements Expression { return functionName; } + /** + * @return the function arguments. + * @since 2.0 + */ + public List getExpressions() { + return Collections.unmodifiableList(expressions); + } + /* * (non-Javadoc) * @see java.lang.Object#toString()