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

## Interface IListMapping

- All Known Subinterfaces:
    IListMapping2, IListMapping3, IListMappingUnitSupport

      public interface IListMapping

  Interface for mapping features with `isMany() == true`.
  Since:
    2.0
  Author:
    Eike Stepper, Stefan Winkler

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.util.Collection<IDBTable>` | `getDBTables()` Returns all DB tables which are used by this feature.
    `EStructuralFeature` | `getFeature()` Return the mapped feature.
    `void` | `objectDetached(IDBStoreAccessor accessor, CDOID id, long revised)` Hook with which a list mapping is notified that a containing object has been revised.
    `boolean` | `queryXRefs(IDBStoreAccessor accessor, java.lang.String mainTableName, java.lang.String mainTableWhere, IStoreAccessor.QueryXRefsContext context, java.lang.String idString)` Retrieve cross-references from DB.
    `void` | `readChunks(IDBStoreChunkReader dbStoreChunkReader, java.util.List<IStoreChunkReader.Chunk> chunks, java.lang.String where)` Used to load-on-demand chunks of a list.
    `void` | `readValues(IDBStoreAccessor accessor, InternalCDORevision revision, int listChunk)` Read the list size and the complete list or the first part of it.
    `void` | `writeValues(IDBStoreAccessor accessor, InternalCDORevision revision)` Write a complete list of values to the database.

- - ### Method Detail

    - #### getFeature

          EStructuralFeature getFeature()

      Return the mapped feature.
      Returns:
        the mapped feature.

    - #### getDBTables

          java.util.Collection<IDBTable> getDBTables()

      Returns all DB tables which are used by this feature.
      Returns:
        a collection of all tables of this feature.

    - #### 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,
                          java.util.List<IStoreChunkReader.Chunk> chunks,
                          java.lang.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,
                             java.lang.String mainTableName,
                             java.lang.String mainTableWhere,
                             IStoreAccessor.QueryXRefsContext context,
                             java.lang.String idString)

      Retrieve cross-references from DB.
      Since:
        4.0
      See Also:
        `IClassMapping.queryXRefs(IDBStoreAccessor, IStoreAccessor.QueryXRefsContext, String)`, `IStoreAccessor.queryXRefs(IStoreAccessor.QueryXRefsContext)`

Copyright (c) 2004-2019 Eike Stepper (Loehne, Germany) and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html