refactor: simplify collection.toArray()
[egit/eclipse.git] / org.eclipse.egit.ui / src / org / eclipse / egit / ui / JobFamilies.java
blob5359e55919bc2da04ea4e18c2c670111077b24d1
1 /*******************************************************************************
2 * Copyright (C) 2010, Jens Baumgart <jens.baumgart@sap.com> and others.
4 * All rights reserved. This program and the accompanying materials
5 * are made available under the terms of the Eclipse Public License 2.0
6 * which accompanies this distribution, and is available at
7 * https://www.eclipse.org/legal/epl-2.0/
9 * SPDX-License-Identifier: EPL-2.0
10 *******************************************************************************/
11 package org.eclipse.egit.ui;
13 import org.eclipse.egit.ui.internal.UIIcons;
14 import org.eclipse.jface.resource.ImageDescriptor;
15 import org.eclipse.ui.PlatformUI;
16 import org.eclipse.ui.progress.IProgressService;
18 /**
19 * Job families of EGit jobs. May be used in tests to join job execution.
22 public class JobFamilies {
24 /**
25 * Job family with icon for progress reporting
27 private static final class JobFamily {
29 /**
30 * job family with custom progress icon
32 * @param imageDescriptor
33 * icon for this job family
35 protected JobFamily(final ImageDescriptor imageDescriptor) {
36 IProgressService service = PlatformUI.getWorkbench()
37 .getProgressService();
38 service.registerIconForFamily(imageDescriptor, this);
41 /**
42 * job family with standard repository icon
44 protected JobFamily() {
45 this(UIIcons.REPOSITORY);
49 /**
50 * GenerateHistoryJob
52 public final static Object GENERATE_HISTORY = new JobFamily(
53 UIIcons.HISTORY);
55 /**
56 * History diff jobs
58 public final static Object HISTORY_DIFF = new JobFamily();
60 /**
61 * Commit job
63 public final static Object COMMIT = new JobFamily(UIIcons.COMMIT);
65 /**
66 * Checkout job
68 public final static Object CHECKOUT = new JobFamily(UIIcons.CHECKOUT);
70 /**
71 * Merge job
73 public final static Object MERGE = new JobFamily(UIIcons.MERGE);
75 /**
76 * Push job
78 public final static Object PUSH = new JobFamily(UIIcons.PUSH);
80 /**
81 * Fetch job
83 public final static Object FETCH = new JobFamily(UIIcons.FETCH);
85 /**
86 * Repositories View refresh
88 public final static Object REPO_VIEW_REFRESH = new JobFamily();
90 /**
91 * Delete repository job
93 public final static Object REPOSITORY_DELETE = new JobFamily(
94 UIIcons.ELCL16_DELETE);
96 /**
97 * Tag job
99 public final static Object TAG = new JobFamily(UIIcons.TAG);
102 * Reset job
104 public static final Object RESET = new JobFamily(UIIcons.RESET);
107 * Rebase job
109 public static final Object REBASE = new JobFamily(UIIcons.REBASE);
112 * Pull job
114 public final static Object PULL = new JobFamily(UIIcons.PULL);
117 * Format job
119 public final static Object FORMAT_COMMIT_INFO = new JobFamily();
122 * Fill tag list
124 public final static Object FILL_TAG_LIST = new JobFamily(UIIcons.TAGS);
127 * AssumeUnchanged/NoAssumeUnchanged
129 public final static Object ASSUME_NOASSUME_UNCHANGED = new JobFamily();
132 * Untrack
134 public final static Object UNTRACK = new JobFamily();
137 * Disconnect
139 public final static Object DISCONNECT = new JobFamily();
142 * Discard Changes
144 public final static Object DISCARD_CHANGES = new JobFamily();
148 * Add to index job
150 public static final Object ADD_TO_INDEX = new JobFamily(UIIcons.ELCL16_ADD);
153 * Remove from index job
155 public static final Object REMOVE_FROM_INDEX = new JobFamily();
158 * Updates staging view repository on selection change
160 public static final Object UPDATE_SELECTION = new JobFamily();
163 * Cherry pick commit job
165 public static final Object CHERRY_PICK = new JobFamily(UIIcons.CHERRY_PICK);
168 * Squash commits job
170 public static final Object SQUASH = new JobFamily(UIIcons.SQUASH_DOWN);
173 * Reword commit job
175 public static final Object REWORD = new JobFamily(UIIcons.REWORD);
178 * Edit commit job
180 public static final Object EDIT = new JobFamily();
183 * Revert commit job
185 public static final Object REVERT_COMMIT = new JobFamily();
188 * Clone repository job
190 public static final Object CLONE = new JobFamily(UIIcons.CLONEGIT);
193 * Fetch data from git job
195 public static final Object SYNCHRONIZE_READ_DATA = new JobFamily();
198 * Show annotations git job
200 public static final Object BLAME = new JobFamily();
203 * Submodule add git job
205 public static final Object SUBMODULE_ADD = new JobFamily();
208 * Submodule sync git job
210 public static final Object SUBMODULE_SYNC = new JobFamily();
213 * Submodule update git job
215 public static final Object SUBMODULE_UPDATE = new JobFamily();
218 * Stash git job
220 public static final Object STASH = new JobFamily(UIIcons.STASH);
223 * Staging view reload
225 public static final Object STAGING_VIEW_RELOAD = new JobFamily();