diff options
Diffstat (limited to 'container-search/src/main/java/com/yahoo/search/grouping/request/DocumentValue.java')
-rw-r--r-- | container-search/src/main/java/com/yahoo/search/grouping/request/DocumentValue.java | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/DocumentValue.java b/container-search/src/main/java/com/yahoo/search/grouping/request/DocumentValue.java new file mode 100644 index 00000000000..98d5a6fe21f --- /dev/null +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/DocumentValue.java @@ -0,0 +1,24 @@ +// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.search.grouping.request; + +/** + * This class represents a document value in a {@link GroupingExpression}. As such, the subclasses of this can only be + * used as document-level expressions (i.e. level 0, see {@link GroupingExpression#resolveLevel(int)}). + * + * @author <a href="mailto:simon@yahoo-inc.com">Simon Thoresen</a> + */ +public abstract class DocumentValue extends GroupingExpression { + + protected DocumentValue(String image) { + super(image); + } + + @Override + public void resolveLevel(int level) { + if (level != 0) { + throw new IllegalArgumentException("Expression '" + this + "' not applicable for " + + GroupingOperation.getLevelDesc(level) + "."); + } + super.resolveLevel(level); + } +} |