- All Known Implementing Classes:
MongoDbColumn
public interface DbColumn
Column data and metadata.
-
Method Summary
Modifier and TypeMethodDescription<T> T
as
(GenericType<T> type) Value of this column as a generic type.<T> T
Typed value of this column.dbType()
Type of the column in the language of the database.Class<?>
javaType()
Type of the column as would be returned by the underlying database driver.name()
Column name.Precision of this column.scale()
Scale of this column.default Object
value()
Untyped value of this column, returns java type as provided by the underlying database driver.
-
Method Details
-
as
Typed value of this column. This method can return a correct result only if the type is the same asjavaType()
or there is aMapper
registered that can map it.- Type Parameters:
T
- type of the returned value- Parameters:
type
- class of the type that should be returned (must be supported by the underlying data type)- Returns:
- value of this column correctly typed
- Throws:
MapperException
- in case the type is not the underlyingjavaType()
and there is no mapper registered for it
-
as
Value of this column as a generic type. This method can return a correct result only if the type represents a class, or if there is aMapper
registered that can map underlyingjavaType()
to the type requested.- Type Parameters:
T
- type of the returned value- Parameters:
type
- requested type- Returns:
- value mapped to the expected type if possible
- Throws:
MapperException
- in case the mapping cannot be done
-
value
Untyped value of this column, returns java type as provided by the underlying database driver.- Returns:
- value of this column
-
javaType
Class<?> javaType()Type of the column as would be returned by the underlying database driver.- Returns:
- class of the type
- See Also:
-
dbType
String dbType()Type of the column in the language of the database.Example for SQL - if a column is declared as
VARCHAR(256)
in the database, this method would returnVARCHAR
and methodjavaType()
would returnString
.- Returns:
- column type as the database understands it
-
name
String name()Column name.- Returns:
- name of this column
-
precision
Precision of this column.Precision depends on data type:
- Numeric: The maximal number of digits of the number
- String/Character: The maximal length
- Binary: The maximal number of bytes
- Other: Implementation specific
- Returns:
- precision of this column or
empty
if precision is not available
-
scale
Scale of this column.Scale is the number of digits in a decimal number to the right of the decimal separator.
- Returns:
- scale of this column or
empty
if scale is not available
-