summaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo/search/query/profile/types
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2018-02-01 16:14:18 +0100
committerJon Bratseth <bratseth@oath.com>2018-02-01 16:14:18 +0100
commitae55c7fd245396dd0ee6ffbf62025389609b080a (patch)
treef74fa59f477d4b2fa5827aefedbe2d1ecf1ceb9a /container-search/src/main/java/com/yahoo/search/query/profile/types
parent53ba441f3939f747159a581c4844ce8382679e34 (diff)
Accept tensor types
Decide acceptance without creating objects. Accept tensors again.
Diffstat (limited to 'container-search/src/main/java/com/yahoo/search/query/profile/types')
-rw-r--r--container-search/src/main/java/com/yahoo/search/query/profile/types/FieldType.java25
1 files changed, 14 insertions, 11 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/query/profile/types/FieldType.java b/container-search/src/main/java/com/yahoo/search/query/profile/types/FieldType.java
index acefa26930a..69c07843681 100644
--- a/container-search/src/main/java/com/yahoo/search/query/profile/types/FieldType.java
+++ b/container-search/src/main/java/com/yahoo/search/query/profile/types/FieldType.java
@@ -5,6 +5,7 @@ import com.yahoo.search.query.profile.QueryProfile;
import com.yahoo.search.query.profile.QueryProfileRegistry;
import com.yahoo.search.query.profile.compiled.CompiledQueryProfileRegistry;
import com.yahoo.search.yql.YqlQuery;
+import com.yahoo.tensor.Tensor;
/**
* Superclass of query type field types.
@@ -73,17 +74,19 @@ public abstract class FieldType {
throw new IllegalArgumentException("Unknown type '" + typeString + "'");
}
- /** Returns the field type from a value class, or null if there is no type for it */
- public static FieldType fromClass(Class clazz) {
- if (clazz == String.class) return stringType;
- if (clazz == Integer.class) return integerType;
- if (clazz == Long.class) return longType;
- if (clazz == Float.class) return floatType;
- if (clazz == Double.class) return doubleType;
- if (clazz == Boolean.class) return booleanType;
- if (clazz == YqlQuery.class) return queryType;
- if (clazz == QueryProfile.class) return genericQueryProfileType;
- return null;
+ /** Returns true if the given object is a legal field value of some field value type */
+ public static boolean isLegalFieldValue(Object value) {
+ Class clazz = value.getClass();
+ if (clazz == String.class) return true;
+ if (clazz == Integer.class) return true;
+ if (clazz == Long.class) return true;
+ if (clazz == Float.class) return true;
+ if (clazz == Double.class) return true;
+ if (clazz == Boolean.class) return true;
+ if (clazz == YqlQuery.class) return true;
+ if (clazz == QueryProfile.class) return true;
+ if (clazz == Tensor.class) return true;
+ return false;
}
}