1 /*
2 * Copyright (C) 2009, Google Inc.
3 * Copyright (C) 2008, Marek Zawirski <marek.zawirski@gmail.com>
4 * Copyright (C) 2009, Robin Rosenberg <robin.rosenberg@dewire.com> and others
5 *
6 * This program and the accompanying materials are made available under the
7 * terms of the Eclipse Distribution License v. 1.0 which is available at
8 * https://www.eclipse.org/org/documents/edl-v10.php.
9 *
10 * SPDX-License-Identifier: BSD-3-Clause
11 */
12
13 package org.eclipse.jgit.transport;
14
15 import java.util.Collection;
16 import java.util.Collections;
17 import java.util.Map;
18
19 /**
20 * Result of push operation to the remote repository. Holding information of
21 * {@link org.eclipse.jgit.transport.OperationResult} and remote refs updates
22 * status.
23 *
24 * @see Transport#push(org.eclipse.jgit.lib.ProgressMonitor, Collection)
25 */
26 public class PushResult extends OperationResult {
27 private Map<String, RemoteRefUpdate> remoteUpdates = Collections.emptyMap();
28
29 /**
30 * Get status of remote refs updates. Together with
31 * {@link #getAdvertisedRefs()} it provides full description/status of each
32 * ref update.
33 * <p>
34 * Returned collection is not sorted in any order.
35 * </p>
36 *
37 * @return collection of remote refs updates
38 */
39 public Collection<RemoteRefUpdate> getRemoteUpdates() {
40 return Collections.unmodifiableCollection(remoteUpdates.values());
41 }
42
43 /**
44 * Get status of specific remote ref update by remote ref name. Together
45 * with {@link #getAdvertisedRef(String)} it provide full description/status
46 * of this ref update.
47 *
48 * @param refName
49 * remote ref name
50 * @return status of remote ref update
51 */
52 public RemoteRefUpdate getRemoteUpdate(String refName) {
53 return remoteUpdates.get(refName);
54 }
55
56 void setRemoteUpdates(
57 final Map<String, RemoteRefUpdate> remoteUpdates) {
58 this.remoteUpdates = remoteUpdates;
59 }
60 }