Class LimitingVcsModificationProcessor


  • public class LimitingVcsModificationProcessor
    extends VcsModificationProcessor
    VCS modification processor limiting number of modifications per VCS root.
    • Constructor Detail

      • LimitingVcsModificationProcessor

        public LimitingVcsModificationProcessor​(int perRootLimit)
        Parameters:
        perRootLimit - limit for number of VCS modifications per VCS root, 0 means no limit
    • Method Detail

      • processAttachedModification

        public boolean processAttachedModification​(@NotNull
                                                   SVcsModification item)
        Description copied from class: VcsModificationProcessor
        Processes a single SVcsModification. This method is called only for changes attached to a build configuration where the changes calculation is performed.
        Specified by:
        processAttachedModification in class VcsModificationProcessor
        Parameters:
        item - VCS modification to process.
        Returns:
        false if no further processing needed.
      • processUnloadedModification

        public boolean processUnloadedModification​(long modId,
                                                   long vcsRootId)
        Description copied from class: VcsModificationProcessor
        This method is called when we've reached a VCS modification which is not loaded into the in-memory cache. For instance, this can happen if the VCS modification is too old and was already unloaded from memory.
        Overrides:
        processUnloadedModification in class VcsModificationProcessor
        Parameters:
        modId - id of the unloaded modification
        vcsRootId - id of the VCS root instance
        Returns:
        true if processing should be continued and false otherwise
      • getLimit

        @NotNull
        public Integer getLimit()
        Specified by:
        getLimit in class VcsModificationProcessor
        Returns:
        the limit for changes this processor uses or null if processor doesn't limit changes or doesn't limit them by the amount (e.g. limit by date).
      • isUnlimited

        public boolean isUnlimited()