public abstract class DataType extends com.yahoo.vespa.objects.Identifiable implements Serializable, Comparable<DataType>
Modifier and Type | Field and Description |
---|---|
static NumericDataType |
BYTE |
static int |
classId |
private static com.yahoo.concurrent.CopyOnWriteHashMap<com.yahoo.collections.Pair,Constructor> |
constructorCache |
private int |
dataTypeId
The id of this type
|
static DocumentType |
DOCUMENT |
static NumericDataType |
DOUBLE |
static NumericDataType |
FLOAT |
static NumericDataType |
INT |
static NumericDataType |
LONG |
private String |
name |
static NumericDataType |
NONE |
static PrimitiveDataType |
PREDICATE |
static PrimitiveDataType |
RAW |
private boolean |
registered
Set to true when this type is registered in a type manager.
|
static PrimitiveDataType |
STRING |
static WeightedSetDataType |
TAG |
static int |
tensorDataTypeCode |
static PrimitiveDataType |
URI |
Modifier | Constructor and Description |
---|---|
protected |
DataType(String name,
int dataTypeId)
Creates a datatype
|
Modifier and Type | Method and Description |
---|---|
FieldPath |
buildFieldPath(String fieldPathString)
Creates a field path from the given field path string.
|
DataType |
clone() |
int |
compareTo(DataType dataType) |
protected FieldValue |
createByReflection(Object arg)
Creates a field value by reflection
|
abstract FieldValue |
createFieldValue()
Creates a new, empty FieldValue of this type
|
FieldValue |
createFieldValue(Object arg)
Creates a new FieldValue of this type, with the given value.
|
boolean |
equals(Object other) |
static ArrayDataType |
getArray(DataType type)
Returns an array datatype, where the array elements are of the given type
|
int |
getCode() |
int |
getId() |
static MapDataType |
getMap(DataType key,
DataType value)
Returns a map datatype
|
String |
getName() |
PrimitiveDataType |
getPrimitiveType()
Returns the primitive datatype associated with this datatype, i.e.
|
static TensorDataType |
getTensor(com.yahoo.tensor.TensorType type)
Returns the given tensor type as a DataType
|
abstract Class |
getValueClass() |
static WeightedSetDataType |
getWeightedSet(DataType type)
Returns a weighted set datatype, where the elements are of the given type
|
static WeightedSetDataType |
getWeightedSet(DataType type,
boolean createIfNonExistent,
boolean removeIfZero)
Returns a weighted set datatype, where the elements are of the given type, and which supports the properties
createIfNonExistent and removeIfZero
|
int |
hashCode() |
boolean |
isAssignableFrom(DataType dataType) |
boolean |
isMultivalue()
Returns whether this is a multivalue type, i.e either a CollectionDataType or a MapDataType
|
boolean |
isRegistered() |
abstract boolean |
isValueCompatible(FieldValue value) |
static int |
lastPredefinedDataTypeId() |
void |
register(DocumentTypeManager manager)
Registers this type in the given document manager.
|
protected void |
register(DocumentTypeManager manager,
List<DataType> seenTypes) |
void |
setId(int id)
Sets the ID of this data type.
|
protected void |
setName(String name)
Sets the name of this data type.
|
(package private) void |
setRegistered() |
(package private) static String |
skipDotInString(String remaining,
int endPos)
Utility function for parsing field paths.
|
String |
toString() |
void |
visitMembers(com.yahoo.vespa.objects.ObjectVisitor visitor) |
public static int classId
public static final NumericDataType NONE
public static final NumericDataType INT
public static final NumericDataType FLOAT
public static final PrimitiveDataType STRING
public static final PrimitiveDataType RAW
public static final NumericDataType LONG
public static final NumericDataType DOUBLE
public static final DocumentType DOCUMENT
public static final PrimitiveDataType URI
public static final NumericDataType BYTE
public static final PrimitiveDataType PREDICATE
public static final int tensorDataTypeCode
public static final WeightedSetDataType TAG
private boolean registered
private String name
private int dataTypeId
private static final com.yahoo.concurrent.CopyOnWriteHashMap<com.yahoo.collections.Pair,Constructor> constructorCache
protected DataType(String name, int dataTypeId)
name
- the name of the typedataTypeId
- the id of the typepublic static int lastPredefinedDataTypeId()
public DataType clone()
clone
in class com.yahoo.vespa.objects.Identifiable
void setRegistered()
public boolean isRegistered()
public abstract FieldValue createFieldValue()
protected FieldValue createByReflection(Object arg)
arg
- the value of the newly created field valuepublic FieldValue createFieldValue(Object arg)
arg
- the value of the new FieldValuepublic abstract Class getValueClass()
public abstract boolean isValueCompatible(FieldValue value)
public final boolean isAssignableFrom(DataType dataType)
public static ArrayDataType getArray(DataType type)
type
- the type to create an array ofpublic static MapDataType getMap(DataType key, DataType value)
key
- the key typevalue
- the value typepublic static WeightedSetDataType getWeightedSet(DataType type)
type
- the type to create a weighted set ofpublic static WeightedSetDataType getWeightedSet(DataType type, boolean createIfNonExistent, boolean removeIfZero)
type
- the type to create a weighted set ofcreateIfNonExistent
- whether the type has createIfNonExistentremoveIfZero
- whether the type has removeIfZeropublic static TensorDataType getTensor(com.yahoo.tensor.TensorType type)
public String getName()
protected void setName(String name)
name
- the name of this data type.public int getId()
public void setId(int id)
id
- the ID of this data type.public final void register(DocumentTypeManager manager)
manager
- the DocumentTypeManager to register in.protected void register(DocumentTypeManager manager, List<DataType> seenTypes)
public int hashCode()
hashCode
in class com.yahoo.vespa.objects.Identifiable
public boolean equals(Object other)
equals
in class com.yahoo.vespa.objects.Identifiable
public String toString()
toString
in class com.yahoo.vespa.objects.Identifiable
public int getCode()
public FieldPath buildFieldPath(String fieldPathString)
fieldPathString
- a string containing the field pathpublic PrimitiveDataType getPrimitiveType()
public void visitMembers(com.yahoo.vespa.objects.ObjectVisitor visitor)
visitMembers
in class com.yahoo.vespa.objects.Identifiable
static String skipDotInString(String remaining, int endPos)
public int compareTo(DataType dataType)
compareTo
in interface Comparable<DataType>
public boolean isMultivalue()
Copyright © 2018. All rights reserved.