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

## Class DelegatingTypeMapping

- java.lang.Object
- - org.eclipse.emf.cdo.server.db.mapping.DelegatingTypeMapping

- All Implemented Interfaces:
    `ITypeMapping`

      public abstract class DelegatingTypeMapping
      extends java.lang.Object
      implements ITypeMapping

  Since:
    4.10
  Author:
    Eike Stepper

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.eclipse.emf.cdo.server.db.mapping.ITypeMapping

      `ITypeMapping.Descriptor, ITypeMapping.Factory, ITypeMapping.Provider, ITypeMapping.Registry`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `DelegatingTypeMapping()` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `createDBField​(org.eclipse.net4j.db.ddl.IDBTable table)` |
    `void` | `createDBField​(org.eclipse.net4j.db.ddl.IDBTable table, java.lang.String fieldName)` | Creates the DBField and adds it to the given table.
    `protected java.lang.Object` | `decode​(java.lang.Object value)` |
    `protected java.lang.Object` | `encode​(java.lang.Object value)` |
    `org.eclipse.net4j.db.DBType` | `getDBType()` |
    `abstract AbstractTypeMapping` | `getDelegate()` |
    `org.eclipse.emf.ecore.EStructuralFeature` | `getFeature()` |
    `org.eclipse.net4j.db.ddl.IDBField` | `getField()` |
    `java.lang.Object` | `readValue​(java.sql.ResultSet resultSet)` | Read the value from a `ResultSet` and convert it from the DB to the CDO representation.
    `void` | `readValueToRevision​(java.sql.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, java.lang.String fieldName)` | Sets the DBField.
    `void` | `setDBType​(org.eclipse.net4j.db.DBType dbType)` |
    `void` | `setDefaultValue​(java.sql.PreparedStatement stmt, int index)` | Set the feature's default value to the JDBC `IDBPreparedStatement` using an appropriate `setXxx` method.
    `void` | `setFeature​(org.eclipse.emf.ecore.EStructuralFeature feature)` |
    `void` | `setMappingStrategy​(IMappingStrategy mappingStrategy)` |
    `void` | `setValue​(java.sql.PreparedStatement stmt, int index, java.lang.Object value)` | Set the given value to the JDBC `IDBPreparedStatement` using an appropriate `setXxx` method.
    `void` | `setValueFromRevision​(java.sql.PreparedStatement stmt, int index, InternalCDORevision revision)` | Set a value of the given revision to the JDBC `IDBPreparedStatement` using an appropriate `setXxx` method.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### DelegatingTypeMapping

          public DelegatingTypeMapping()

  - ### Method Detail

    - #### getDelegate

          public abstract AbstractTypeMapping getDelegate()

    - #### getFeature

          public org.eclipse.emf.ecore.EStructuralFeature getFeature()

      Specified by:
        `getFeature` in interface `ITypeMapping`
      Returns:
        The feature which is associated with this mapping.

    - #### getField

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

      Specified by:
        `getField` in interface `ITypeMapping`
      Returns:
        The db field which is associated with this mapping.

    - #### getDBType

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

      Specified by:
        `getDBType` in interface `ITypeMapping`
      Returns:
        The db type which is associated with this mapping.

    - #### setMappingStrategy

          public void setMappingStrategy​(IMappingStrategy mappingStrategy)

      Specified by:
        `setMappingStrategy` in interface `ITypeMapping`

    - #### setFeature

          public void setFeature​(org.eclipse.emf.ecore.EStructuralFeature feature)

      Specified by:
        `setFeature` in interface `ITypeMapping`

    - #### setDBType

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

      Specified by:
        `setDBType` in interface `ITypeMapping`

    - #### createDBField

          public void createDBField​(org.eclipse.net4j.db.ddl.IDBTable table)

      Specified by:
        `createDBField` in interface `ITypeMapping`

    - #### createDBField

          public void createDBField​(org.eclipse.net4j.db.ddl.IDBTable table,
                                    java.lang.String fieldName)

      Description copied from interface: `ITypeMapping`
      Creates the DBField and adds it to the given table. The name of the DBField is explicitly determined by the corresponding parameter.
      Specified by:
        `createDBField` in interface `ITypeMapping`
      Parameters:
        `table` - the table to add this field to.
        `fieldName` - the name for the DBField.

    - #### setDBField

          public void setDBField​(org.eclipse.net4j.db.ddl.IDBTable table,
                                 java.lang.String fieldName)

      Description copied from interface: `ITypeMapping`
      Sets the DBField. The name of the DBField is explicitly determined by the corresponding parameter.
      Specified by:
        `setDBField` in interface `ITypeMapping`
      Parameters:
        `table` - the table to add this field to.
        `fieldName` - the name for the DBField.

    - #### setValue

          public void setValue​(java.sql.PreparedStatement stmt,
                               int index,
                               java.lang.Object value)
                        throws java.sql.SQLException

      Description copied from interface: `ITypeMapping`
      Set the given value to the JDBC `IDBPreparedStatement` using an appropriate `setXxx` method.
      Specified by:
        `setValue` in interface `ITypeMapping`
      Parameters:
        `stmt` - the prepared statement to set the value
        `index` - the index to use for the `setXxx` method.
        `value` - the value to set.
      Throws:
        `java.sql.SQLException` - if the `setXxx` throws it.

    - #### setDefaultValue

          public void setDefaultValue​(java.sql.PreparedStatement stmt,
                                      int index)
                               throws java.sql.SQLException

      Description copied from interface: `ITypeMapping`
      Set the feature's default value to the JDBC `IDBPreparedStatement` using an appropriate `setXxx` method.
      Specified by:
        `setDefaultValue` in interface `ITypeMapping`
      Parameters:
        `stmt` - the prepared statement to set the value
        `index` - the index to use for the `setXxx` method.
      Throws:
        `java.sql.SQLException` - if the `setXxx` throws it.

    - #### setValueFromRevision

          public void setValueFromRevision​(java.sql.PreparedStatement stmt,
                                           int index,
                                           InternalCDORevision revision)
                                    throws java.sql.SQLException

      Description copied from interface: `ITypeMapping`
      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 `ITypeMapping.getFeature()`.
      Specified by:
        `setValueFromRevision` in interface `ITypeMapping`
      Parameters:
        `stmt` - the prepared statement to set the value
        `index` - the index to use for the `setXxx` method.
        `revision` - the revision to get the value to set from.
      Throws:
        `java.sql.SQLException` - if the `setXxx` throws it.

    - #### readValue

          public java.lang.Object readValue​(java.sql.ResultSet resultSet)
                                     throws java.sql.SQLException

      Description copied from interface: `ITypeMapping`
      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 `ITypeMapping.getField()` name.
      Specified by:
        `readValue` in interface `ITypeMapping`
      Parameters:
        `resultSet` - the result set to read from
      Returns:
        the read value
      Throws:
        `java.sql.SQLException` - if reading the value throws an SQLException

    - #### readValueToRevision

          public void readValueToRevision​(java.sql.ResultSet resultSet,
                                          InternalCDORevision revision)
                                   throws java.sql.SQLException

      Description copied from interface: `ITypeMapping`
      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 `ITypeMapping.getField()` name.
      Specified by:
        `readValueToRevision` in interface `ITypeMapping`
      Parameters:
        `resultSet` - the result set to read from
        `revision` - the revision to which the value should be set.
      Throws:
        `java.sql.SQLException` - if reading the value throws an SQLException

    - #### encode

          protected java.lang.Object encode​(java.lang.Object value)

    - #### decode

          protected java.lang.Object decode​(java.lang.Object value)