1 // Copyright 2000-2021 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
2 package com.intellij.diff.chains;
4 import com.intellij.diff.DiffDialogHints;
5 import com.intellij.openapi.project.Project;
6 import com.intellij.openapi.util.UserDataHolder;
7 import com.intellij.util.concurrency.annotations.RequiresEdt;
8 import org.jetbrains.annotations.NotNull;
10 import java.util.List;
13 * Represents list of changed files (ex: singular commit).
14 * The list is not supposed to be changed and can be shown multiple times.
16 * Use {@link AsyncDiffRequestChain} to load requests asynchronously after showing UI
17 * Use {@link com.intellij.openapi.vcs.changes.ui.ChangeDiffRequestChain} for chains with common "Go to change" navigation popup.
19 * @see DiffRequestSelectionChain
20 * @see com.intellij.diff.DiffManager#showDiff(Project, DiffRequestChain, DiffDialogHints)
21 * @see com.intellij.diff.impl.CacheDiffRequestChainProcessor
23 public interface DiffRequestChain extends UserDataHolder {
26 List<? extends DiffRequestProducer> getRequests();
32 * @see com.intellij.diff.impl.CacheDiffRequestChainProcessor#setCurrentRequest
33 * @deprecated This method will not change selected position if chain was already shown.
35 @Deprecated(forRemoval = true)
37 default void setIndex(int index) {