Class CollectionFragment

java.lang.Object
org.nuxeo.ecm.core.storage.sql.Fragment
org.nuxeo.ecm.core.storage.sql.CollectionFragment
All Implemented Interfaces:
Serializable

public class CollectionFragment extends Fragment
A type of fragment corresponding to several rows with the same id.
See Also:
  • Constructor Details

    • CollectionFragment

      public CollectionFragment(Row row, Fragment.State state, PersistenceContext context)
      Constructs a CollectionFragment from a Row.
      Parameters:
      row - the row
      state - the initial state for the fragment
      context - the persistence context to which the fragment is tied, or null
  • Method Details

    • set

      public void set(Serializable[] value)
      Sets a collection value.
      Parameters:
      value - the value
    • get

      public Serializable[] get()
      Gets the collection value.
      Returns:
      the value
    • isDirty

      public boolean isDirty()
      Checks if the array is dirty (values changed since last clear).
      Returns:
      true if the array changed
    • getRowUpdate

      public RowMapper.RowUpdate getRowUpdate()
      Description copied from class: Fragment
      Returns the row update to do in the database to write this value.
      Specified by:
      getRowUpdate in class Fragment
      Returns:
      a row update, or null if the value is unchanged since last clear
    • isPrefix

      public static boolean isPrefix(Serializable[] left, Serializable[] right)
      Checks if the left array is a strict prefix of the right one.
      Since:
      8.3
    • refetch

      protected Fragment.State refetch()
      Description copied from class: Fragment
      Refetches this fragment from the database. Needed when an invalidation has been received and the fragment is accessed again.
      Specified by:
      refetch in class Fragment
      Returns:
      the new state, Fragment.State.PRISTINE or Fragment.State.ABSENT
    • refetchDeleted

      protected Fragment.State refetchDeleted()
      Description copied from class: Fragment
      Resets the data for a fragment that was invalidated by deletion.
      Specified by:
      refetchDeleted in class Fragment
      Returns:
      the new state, Fragment.State.PRISTINE or Fragment.State.ABSENT