Interface ISnapshotParticipant

All Known Implementing Classes:
AbstractSnapshotParticipant, BmSnapshotParticipant, EmptyParticipant, FormModelSnapshotParticipant, MarkerSnapshotParticipant, StandardSnapshotParticipant, SynchronizationManagerSnapshotParticipant, TextSearchIndexSnapshotParticipant

public interface ISnapshotParticipant
Snapshot participant. Implementations are intended to be used as extensions of com._1c.g5.v8.snapshot.participants extension point.
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    configure(org.eclipse.core.resources.IProject project, ISnapshotConfigurator configurator)
    Requests the participant to configure snapshot.
    void
    contributeMetadata(org.eclipse.core.resources.IProject project, String entry, OutputStream output)
    Requests the participant to contribute metadata for the previously configured metadata entry.
    int
    Gets format version of the snapshot participant.
    void
    restoreMetadata(org.eclipse.core.resources.IProject project, String entry, InputStream input)
    Requests the participant to read metadata from snapshot.
  • Method Details

    • configure

      void configure(org.eclipse.core.resources.IProject project, ISnapshotConfigurator configurator)
      Requests the participant to configure snapshot. Called some time before snapshot creation and restoration.
      Parameters:
      project - the project for which snapshot is going to be created, cannot be null
      configurator - the configurator to configure snapshot, cannot be null
    • contributeMetadata

      void contributeMetadata(org.eclipse.core.resources.IProject project, String entry, OutputStream output) throws IOException
      Requests the participant to contribute metadata for the previously configured metadata entry.

      This method is called during snapshot creation once for each metadata entry, which was added by ISnapshotConfigurator.addMetadataEntry(java.lang.String). The order of entries supplied to this method is not specified.

      Participants must not call output.close().

      Parameters:
      project - the project for which snapshot is being created, cannot be null
      entry - the metadata entry name, cannot be null
      output - the output stream to write metadata, cannot be null
      Throws:
      IOException
    • restoreMetadata

      void restoreMetadata(org.eclipse.core.resources.IProject project, String entry, InputStream input) throws IOException
      Requests the participant to read metadata from snapshot.

      This method is called during snapshot restoration once for each metadata entry, which was added to the snapshot by the same participant on creation. The order of entries supplied to this method is not specified.

      Participants must not call input.close().

      Parameters:
      project - the project for which snapshot is being restored, cannot be null
      entry - the metadata entry name, cannot be null
      input - the input stream to read metadata, cannot be null
      Throws:
      IOException
    • getFormatVersion

      int getFormatVersion()
      Gets format version of the snapshot participant. Whenever the format version of a participant does not match the format version stored in a snapshot for this participant, the snapshot is considered invalid and cannot be restored.

      Snapshot participants are encouraged to smoothly migrate their data. The format version must be increased only if migration is impossible or too heavy.

      Returns:
      the format version of the participant