blob: 4fafce32d40c1d136ff2c8caa65bf7e559e7bc41 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
/*
* Copyright (C) 2011-2012, Google Inc. and others
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Distribution License v. 1.0 which is available at
* https://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
package org.eclipse.jgit.transport;
import java.io.IOException;
import org.eclipse.jgit.internal.JGitText;
/**
* Indicates a transport service may not continue execution.
*
* @since 2.0
*/
public class ServiceMayNotContinueException extends IOException {
private static final int FORBIDDEN = 403;
private static final long serialVersionUID = 1L;
private final int statusCode;
private boolean output;
/**
* Initialize with no message.
*/
public ServiceMayNotContinueException() {
// Do not set a message.
statusCode = FORBIDDEN;
}
/**
* <p>Constructor for ServiceMayNotContinueException.</p>
*
* @param msg
* a message explaining why it cannot continue. This message may
* be shown to an end-user.
*/
public ServiceMayNotContinueException(String msg) {
super(msg);
statusCode = FORBIDDEN;
}
/**
* <p>Constructor for ServiceMayNotContinueException.</p>
*
* @param msg
* a message explaining why it cannot continue. This message may
* be shown to an end-user.
* @param statusCode
* the HTTP status code.
* @since 4.5
*/
public ServiceMayNotContinueException(String msg, int statusCode) {
super(msg);
this.statusCode = statusCode;
}
/**
* <p>Constructor for ServiceMayNotContinueException.</p>
*
* @param msg
* a message explaining why it cannot continue. This message may
* be shown to an end-user.
* @param cause
* the cause of the exception.
* @since 3.2
*/
public ServiceMayNotContinueException(String msg, Throwable cause) {
super(msg, cause);
statusCode = FORBIDDEN;
}
/**
* <p>Constructor for ServiceMayNotContinueException.</p>
*
* @param msg
* a message explaining why it cannot continue. This message may
* be shown to an end-user.
* @param cause
* the cause of the exception.
* @param statusCode
* the HTTP status code.
* @since 4.5
*/
public ServiceMayNotContinueException(
String msg, Throwable cause, int statusCode) {
super(msg, cause);
this.statusCode = statusCode;
}
/**
* Initialize with an "internal server error" message and a cause.
*
* @param cause
* the cause of the exception.
* @since 3.2
*/
public ServiceMayNotContinueException(Throwable cause) {
this(JGitText.get().internalServerError, cause);
}
/**
* Whether the message was already output to the client.
*
* @return {@code true} if the message was already output to the client.
*/
public boolean isOutput() {
return output;
}
/**
* Mark this message has being sent to the client.
*/
public void setOutput() {
output = true;
}
/**
* Get status code
*
* @return true if the message was already output to the client.
* @since 4.5
*/
public int getStatusCode() {
return statusCode;
}
}
|