diff options
author | Jon Bratseth <bratseth@oath.com> | 2018-02-01 16:14:18 +0100 |
---|---|---|
committer | Jon Bratseth <bratseth@oath.com> | 2018-02-01 16:14:18 +0100 |
commit | ae55c7fd245396dd0ee6ffbf62025389609b080a (patch) | |
tree | f74fa59f477d4b2fa5827aefedbe2d1ecf1ceb9a /container-search/src/main/java/com/yahoo/search/query/profile/types/FieldType.java | |
parent | 53ba441f3939f747159a581c4844ce8382679e34 (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/FieldType.java')
-rw-r--r-- | container-search/src/main/java/com/yahoo/search/query/profile/types/FieldType.java | 25 |
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; } } |