Package org.eclipse.emf.cdo.server.db.mapping

# Interface ITypeMapping

All Known Implementing Classes:
  `AbstractTypeMapping`, `DelegatingTypeMapping`

public interface ITypeMapping
Mapping of single values to and from the database.

Since:
  2.0
Author:
  Eike Stepper, Stefan Winkler

## Nested Class Summary

Nested Classes
Modifier and Type
Interface
Description
`static interface`
`ITypeMapping.Descriptor`
A descriptor which describes one type mapping class.
`static interface`
`ITypeMapping.Factory`
A factory for typeMappings.
`static interface`
`ITypeMapping.Provider`
A provider for type mapping information.
`static interface`
`ITypeMapping.Registry`
A global (singleton) registry which collects all available type mappings which are either available in the CDO core, as declared extensions, or registered manually.

## Method Summary

Modifier and Type
Method
Description
`void`
`createDBField(org.eclipse.net4j.db.ddl.IDBTable table)`
Deprecated.
As of 4.2 use `createDBField(IDBTable, String)`.
`void`
`createDBField(org.eclipse.net4j.db.ddl.IDBTable table, String fieldName)`
Creates the DBField and adds it to the given table.
`org.eclipse.net4j.db.DBType`
`getDBType()`
`EStructuralFeature`
`getFeature()`
`org.eclipse.net4j.db.ddl.IDBField`
`getField()`
`Object`
`readValue(ResultSet resultSet)`
Read the value from a `ResultSet` and convert it from the DB to the CDO representation.
`void`
`readValueToRevision(ResultSet resultSet, InternalCDORevision revision)`
Read a value from a `ResultSet`, convert it from the DB to the CDO representation and set it to the feature of the revision.
`void`
`setDBField(org.eclipse.net4j.db.ddl.IDBTable table, String fieldName)`
Sets the DBField.
`void`
`setDBType(org.eclipse.net4j.db.DBType dbType)`
`void`
`setDefaultValue(PreparedStatement stmt, int index)`
Set the feature's default value to the JDBC `IDBPreparedStatement` using an appropriate `setXxx` method.
`void`
`setFeature(EStructuralFeature feature)`
`void`
`setMappingStrategy(IMappingStrategy mappingStrategy)`
`void`
`setValue(PreparedStatement stmt, int index, Object value)`
Set the given value to the JDBC `IDBPreparedStatement` using an appropriate `setXxx` method.
`void`
`setValueFromRevision(PreparedStatement stmt, int index, InternalCDORevision value)`
Set a value of the given revision to the JDBC `IDBPreparedStatement` using an appropriate `setXxx` method.

## Method Details

### getFeature

EStructuralFeature getFeature()

Returns:
  The feature which is associated with this mapping.

### getField

org.eclipse.net4j.db.ddl.IDBField getField()

Returns:
  The db field which is associated with this mapping.

### getDBType

org.eclipse.net4j.db.DBType getDBType()

Returns:
  The db type which is associated with this mapping.
Since:
  3.0

### setMappingStrategy

void setMappingStrategy(IMappingStrategy mappingStrategy)

Since:
  4.0

### setFeature

void setFeature(EStructuralFeature feature)

Since:
  4.0

### setDBType

void setDBType(org.eclipse.net4j.db.DBType dbType)

Since:
  4.0

### createDBField

@Deprecated void createDBField(org.eclipse.net4j.db.ddl.IDBTable table)
Deprecated.
As of 4.2 use `createDBField(IDBTable, String)`.

### createDBField

void createDBField(org.eclipse.net4j.db.ddl.IDBTable table, String fieldName)
Creates the DBField and adds it to the given table. The name of the DBField is explicitly determined by the corresponding parameter.

Parameters:
  `table` - the table to add this field to.
  `fieldName` - the name for the DBField.

### setDBField

void setDBField(org.eclipse.net4j.db.ddl.IDBTable table, String fieldName)
Sets the DBField. The name of the DBField is explicitly determined by the corresponding parameter.

Parameters:
  `table` - the table to add this field to.
  `fieldName` - the name for the DBField.
Since:
  3.0

### setValue

void setValue(PreparedStatement stmt, int index, Object value) throws SQLException
Set the given value to the JDBC `IDBPreparedStatement` using an appropriate `setXxx` method.

Parameters:
  `stmt` - the prepared statement to set the value
  `index` - the index to use for the `setXxx` method.
  `value` - the value to set.
Throws:
  `SQLException` - if the `setXxx` throws it.

### setDefaultValue

void setDefaultValue(PreparedStatement stmt, int index) throws SQLException
Set the feature's default value to the JDBC `IDBPreparedStatement` using an appropriate `setXxx` method.

Parameters:
  `stmt` - the prepared statement to set the value
  `index` - the index to use for the `setXxx` method.
Throws:
  `SQLException` - if the `setXxx` throws it.
Since:
  3.0

### setValueFromRevision

void setValueFromRevision(PreparedStatement stmt, int index, InternalCDORevision value) throws SQLException
Set a value of the given revision to the JDBC `IDBPreparedStatement` using an appropriate `setXxx` method. The feature from which the value is taken is determined by `getFeature()`.

Parameters:
  `stmt` - the prepared statement to set the value
  `index` - the index to use for the `setXxx` method.
  `value` - the revision to get the value to set from.
Throws:
  `SQLException` - if the `setXxx` throws it.

### readValue

Object readValue(ResultSet resultSet) throws SQLException
Read the value from a `ResultSet` and convert it from the DB to the CDO representation. The resultSet field to read from is determined automatically by the internal `getField()` name.

Parameters:
  `resultSet` - the result set to read from
Returns:
  the read value
Throws:
  `SQLException` - if reading the value throws an SQLException
Since:
  3.0

### readValueToRevision

void readValueToRevision(ResultSet resultSet, InternalCDORevision revision) throws SQLException
Read a value from a `ResultSet`, convert it from the DB to the CDO representation and set it to the feature of the revision. The feature is determined by getFeature() The resultSet field to read from is determined automatically by the internal `getField()` name.

Parameters:
  `resultSet` - the result set to read from
  `revision` - the revision to which the value should be set.
Throws:
  `SQLException` - if reading the value throws an SQLException
Since:
  3.0