-
Notifications
You must be signed in to change notification settings - Fork 219
/
AttributeError.java
61 lines (54 loc) · 1.94 KB
/
AttributeError.java
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
/**
* Copyright (C) 2001-2018 by RapidMiner and the contributors
*
* Complete list of developers available at our web site:
*
* http://rapidminer.com
*
* This program is free software: you can redistribute it and/or modify it under the terms of the
* GNU Affero General Public License as published by the Free Software Foundation, either version 3
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
* even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License along with this program.
* If not, see http://www.gnu.org/licenses/.
*/
package com.rapidminer.example;
import java.io.Serializable;
import com.rapidminer.operator.OperatorException;
import com.rapidminer.operator.UserError;
/**
* POJO to capture the information on an attribute related runtime exception. Can create an {@link OperatorException}
* from the captured information.
*
* @author Jan Czogalla
* @since 8.2
*/
class AttributeError implements Serializable {
String baseKey;
String name;
boolean isRole;
boolean isUserError;
/**
* Creates an {@link OperatorException} and associated the specified stacktrace with it. Can differentiate between
* {@link UserError} and {@link OperatorException}.
*
* @param stackTrace
* the stacktrace to be attached to the returned excpetion
* @return an operator exception or user error
*/
OperatorException toOperatorException(StackTraceElement[] stackTrace) {
String actualKey = baseKey + (isRole ? "_role" : "");
OperatorException exception;
if (isUserError) {
exception = new UserError(null, actualKey, name);
} else {
exception = new OperatorException(actualKey, null, name);
}
exception.setStackTrace(stackTrace);
return exception;
}
}