diff options
Diffstat (limited to 'container-search/src/main/java/com/yahoo/search/grouping/request/GroupingExpression.java')
-rw-r--r-- | container-search/src/main/java/com/yahoo/search/grouping/request/GroupingExpression.java | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/GroupingExpression.java b/container-search/src/main/java/com/yahoo/search/grouping/request/GroupingExpression.java index 2f7691156e5..ad97f5519ee 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/GroupingExpression.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/GroupingExpression.java @@ -15,10 +15,14 @@ public abstract class GroupingExpression extends GroupingNode { private Integer level = null; - protected GroupingExpression(String image) { - super(image); + protected GroupingExpression(String image, String label, Integer level) { + super(image, label); + this.level = level; } + /** Returns a deep copy of this */ + public abstract GroupingExpression copy(); + /** * Resolves the conceptual level of this expression. This level represents the type of data that is consumed by this * expression, where level 0 is a single hit, level 1 is a group, level 2 is a list of groups, and so forth. This @@ -39,8 +43,8 @@ public abstract class GroupingExpression extends GroupingNode { /** * Returns the conceptual level of this expression. * - * @return The level. - * @throws IllegalArgumentException Thrown if the level of this expression has not been resolved. + * @return the level. + * @throws IllegalArgumentException thrown if the level of this expression has not been resolved. * @see #resolveLevel(int) */ public int getLevel() { @@ -50,6 +54,8 @@ public abstract class GroupingExpression extends GroupingNode { return level; } + protected final Integer getLevelOrNull() { return level; } + /** * Recursively calls {@link ExpressionVisitor#visitExpression(GroupingExpression)} for this expression and all of * its argument expressions. |