Interface IListMapping

All Superinterfaces:
org.eclipse.net4j.db.ddl.IDBTable.Provider, IFeatureMapping
All Known Subinterfaces:
IListMapping2, IListMapping3, IListMappingUnitSupport

public interface IListMapping extends IFeatureMapping, org.eclipse.net4j.db.ddl.IDBTable.Provider
Interface for mapping features with isMany() == true.
Since:
2.0
Author:
Eike Stepper, Stefan Winkler
  • Method Details

    • getFeature

      EStructuralFeature getFeature()
      Return the mapped feature.
      Specified by:
      getFeature in interface IFeatureMapping
      Returns:
      the mapped feature.
    • getTypeMapping

      default ITypeMapping getTypeMapping()
      Specified by:
      getTypeMapping in interface IFeatureMapping
      Returns:
      The type mapping which is used for this feature mapping.
    • getField

      default org.eclipse.net4j.db.ddl.IDBField getField()
      Specified by:
      getField in interface IFeatureMapping
      Returns:
      The value field which is associated with this feature mapping.
    • getDBType

      default org.eclipse.net4j.db.DBType getDBType()
      Specified by:
      getDBType in interface IFeatureMapping
      Returns:
      The value type which is associated with this feature mapping.
    • getDBTables

      Collection<org.eclipse.net4j.db.ddl.IDBTable> getDBTables()
      Returns all DB tables which are used by this feature.
      Returns:
      a collection of all tables of this feature.
    • getTable

      default org.eclipse.net4j.db.ddl.IDBTable getTable()
      Returns the primary table for this list mapping. When multiple tables are returned by getDBTables(), implementations must place the primary table first or override this method.
      Specified by:
      getTable in interface org.eclipse.net4j.db.ddl.IDBTable.Provider
      Returns:
      the first table in iteration order, or null when the collection is empty
      Since:
      4.15
    • writeValues

      void writeValues(IDBStoreAccessor accessor, InternalCDORevision revision)
      Write a complete list of values to the database.
      Parameters:
      accessor - the accessor to use.
      revision - the revision containing the list to be written.
    • readValues

      void readValues(IDBStoreAccessor accessor, InternalCDORevision revision, int listChunk)
      Read the list size and the complete list or the first part of it.
      Parameters:
      accessor - the accessor to use.
      revision - the revision into which the list values should be read.
      listChunk - indicating the lazy loading behavior: CDORevision.UNCHUNKED means that the whole list should be read. Else, if listChunk >= 0, the list is filled with InternalCDOList.UNINITIALIZED and only the first listChunk values are read.
    • readChunks

      void readChunks(IDBStoreChunkReader dbStoreChunkReader, List<IStoreChunkReader.Chunk> chunks, String where)
      Used to load-on-demand chunks of a list.
      Parameters:
      dbStoreChunkReader - the chunkReader to use
      chunks - the chunks to read
      where - the where-clause to use in order to read the chunks.
    • objectDetached

      void objectDetached(IDBStoreAccessor accessor, CDOID id, long revised)
      Hook with which a list mapping is notified that a containing object has been revised. Can be implemented in order to clean up lists of revised objects.
      Parameters:
      accessor - the accessor to use.
      id - the ID of the object which has been revised.
      revised - the timestamp at which the object was revised.
      Since:
      3.0
    • queryXRefs

      boolean queryXRefs(IDBStoreAccessor accessor, String mainTableName, String mainTableWhere, IStoreAccessor.QueryXRefsContext context, String idString)
      Retrieve cross-references from DB.
      Since:
      4.0
      See Also: