Class DBType
- java.lang.Object
-
- adql.db.DBType
-
public class DBType extends java.lang.Object
Describe a full column type as it is described in the IVOA document of TAP. Thus, this object contains 2 attributes:
type
(or datatype) andlength
(or size).The length/size may be not defined ; in this case, its value is set to
NO_LENGTH
or is negative or null.All datatypes declared in the IVOA recommendation document of TAP are listed in an enumeration type:
DBType.DBDatatype
. It is used to set the attribute type/datatype of this class.- Since:
- 1.3
- Version:
- 1.4 (07/2016)
- Author:
- Grégory Mantelet (ARI)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
DBType.DBDatatype
List of all datatypes declared in the IVOA recommendation of TAP (in the section UPLOAD).
-
Field Summary
Fields Modifier and Type Field Description int
length
The length parameter (only few datatypes need this parameter: char, varchar, binary and varbinary).static int
NO_LENGTH
Special value in case no length/size is specified.DBType.DBDatatype
type
Datatype of a column.
-
Constructor Summary
Constructors Constructor Description DBType(DBType.DBDatatype datatype)
Build a TAP column type by specifying a datatype.DBType(DBType.DBDatatype datatype, int length)
Build a TAP column type by specifying a datatype and a length (needed only for datatypes like char, varchar, binary and varbinary).
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
isBinary()
Tells whether this type is a list of bytes.boolean
isCompatible(DBType t)
Tell whether thisDBType
is compatible with the given one.boolean
isGeometry()
Tells whether this type is a geometrical region.boolean
isNumeric()
Tells whether this type is a numeric.boolean
isString()
Tells whether this type is about characters.boolean
isUnknown()
Tell whether this type has been resolved or not.java.lang.String
toString()
-
-
-
Field Detail
-
NO_LENGTH
public static final int NO_LENGTH
Special value in case no length/size is specified.- See Also:
- Constant Field Values
-
type
public final DBType.DBDatatype type
Datatype of a column.
-
length
public final int length
The length parameter (only few datatypes need this parameter: char, varchar, binary and varbinary).
-
-
Constructor Detail
-
DBType
public DBType(DBType.DBDatatype datatype)
Build a TAP column type by specifying a datatype.- Parameters:
datatype
- Column datatype.
-
DBType
public DBType(DBType.DBDatatype datatype, int length)
Build a TAP column type by specifying a datatype and a length (needed only for datatypes like char, varchar, binary and varbinary).- Parameters:
datatype
- Column datatype.length
- Length of the column value (needed only for datatypes like char, varchar, binary and varbinary).
-
-
Method Detail
-
isNumeric
public boolean isNumeric()
Tells whether this type is a numeric.
Concerned types:
SMALLINT
,INTEGER
,BIGINT
,REAL
,DOUBLE
,BINARY
,VARBINARY
andBLOB
.Important note: Since
UNKNOWN
is an unresolved type, it can potentially be anything. But, in order to avoid incorrect operation while expecting a numeric although the type is unknown and is in fact not really a numeric, this function will returnfalse
if the type isUNKNOWN
BUTtrue
ifUNKNOWN_NUMERIC
.- Returns:
true
if this type is a numeric,false
otherwise.
-
isBinary
public boolean isBinary()
Tells whether this type is a list of bytes.
Concerned types:
BINARY
,VARBINARY
andBLOB
.Important note: Since
UNKNOWN
is an unresolved type, it can potentially be anything. But, in order to avoid incorrect operation while expecting a binary although the type is unknown and is in fact not really a binary, this function will returnfalse
if the type isUNKNOWN
orUNKNOWN_NUMERIC
.- Returns:
true
if this type is a binary,false
otherwise.
-
isString
public boolean isString()
Tells whether this type is about characters.
Concerned types:
CHAR
,VARCHAR
,CLOB
andTIMESTAMP
.Important note: Since
UNKNOWN
is an unresolved type, it can potentially be anything. But, in order to avoid incorrect operation while expecting a string although the type is unknown and is in fact not really a string, this function will returnfalse
if the type isUNKNOWN
orUNKNOWN_NUMERIC
- Returns:
true
if this type is a string,false
otherwise.
-
isGeometry
public boolean isGeometry()
Tells whether this type is a geometrical region.
Concerned types:
POINT
andREGION
.Important note: Since
UNKNOWN
is an unresolved type, it can potentially be anything. But, in order to avoid incorrect operation while expecting a geometry although the type is unknown and is in fact not really a geometry, this function will returnfalse
if the type isUNKNOWN
orUNKNOWN_NUMERIC
.- Returns:
true
if this type is a geometry,false
otherwise.
-
isUnknown
public boolean isUnknown()
Tell whether this type has been resolved or not.
Concerned types:
UNKNOWN
andUNKNOWN_NUMERIC
.- Returns:
true
if this type has NOT been resolved,false
otherwise.- Since:
- 1.4
-
isCompatible
public boolean isCompatible(DBType t)
Tell whether this
DBType
is compatible with the given one.Two
DBType
s are said compatible if they are both binary, numeric, geometric or string. If one of the two types isunknown
orunknown_numeric
, this function will consider them as compatible and will returntrue
.- Parameters:
t
- The type to compare to.- Returns:
true
if this type is compatible with the given one,false
otherwise.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-