Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/src/java.naming/share/classes/javax/naming/directory/AttributeModificationException.java
41159 views
1
/*
2
* Copyright (c) 1999, 2000, Oracle and/or its affiliates. All rights reserved.
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
*
5
* This code is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU General Public License version 2 only, as
7
* published by the Free Software Foundation. Oracle designates this
8
* particular file as subject to the "Classpath" exception as provided
9
* by Oracle in the LICENSE file that accompanied this code.
10
*
11
* This code is distributed in the hope that it will be useful, but WITHOUT
12
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14
* version 2 for more details (a copy is included in the LICENSE file that
15
* accompanied this code).
16
*
17
* You should have received a copy of the GNU General Public License version
18
* 2 along with this work; if not, write to the Free Software Foundation,
19
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20
*
21
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22
* or visit www.oracle.com if you need additional information or have any
23
* questions.
24
*/
25
26
package javax.naming.directory;
27
28
import javax.naming.NamingException;
29
30
/**
31
* This exception is thrown when an attempt is
32
* made to add, or remove, or modify an attribute, its identifier,
33
* or its values that conflicts with the attribute's (schema) definition
34
* or the attribute's state.
35
* It is thrown in response to DirContext.modifyAttributes().
36
* It contains a list of modifications that have not been performed, in the
37
* order that they were supplied to modifyAttributes().
38
* If the list is null, none of the modifications were performed successfully.
39
*<p>
40
* An AttributeModificationException instance is not synchronized
41
* against concurrent multithreaded access. Multiple threads trying
42
* to access and modify a single AttributeModification instance
43
* should lock the object.
44
*
45
* @author Rosanna Lee
46
* @author Scott Seligman
47
*
48
* @see DirContext#modifyAttributes
49
* @since 1.3
50
*/
51
52
/*
53
*<p>
54
* The serialized form of an AttributeModificationException object
55
* consists of the serialized fields of its NamingException
56
* superclass, followed by an array of ModificationItem objects.
57
*
58
*/
59
60
61
public class AttributeModificationException extends NamingException {
62
/**
63
* Contains the possibly null list of unexecuted modifications.
64
* @serial
65
*/
66
private ModificationItem[] unexecs = null;
67
68
/**
69
* Constructs a new instance of AttributeModificationException using
70
* an explanation. All other fields are set to null.
71
*
72
* @param explanation Possibly null additional detail about this exception.
73
* If null, this exception has no detail message.
74
75
* @see java.lang.Throwable#getMessage
76
*/
77
public AttributeModificationException(String explanation) {
78
super(explanation);
79
}
80
81
/**
82
* Constructs a new instance of AttributeModificationException.
83
* All fields are set to null.
84
*/
85
public AttributeModificationException() {
86
super();
87
}
88
89
/**
90
* Sets the unexecuted modification list to be e.
91
* Items in the list must appear in the same order in which they were
92
* originally supplied in DirContext.modifyAttributes().
93
* The first item in the list is the first one that was not executed.
94
* If this list is null, none of the operations originally submitted
95
* to modifyAttributes() were executed.
96
97
* @param e The possibly null list of unexecuted modifications.
98
* @see #getUnexecutedModifications
99
*/
100
public void setUnexecutedModifications(ModificationItem[] e) {
101
unexecs = e;
102
}
103
104
/**
105
* Retrieves the unexecuted modification list.
106
* Items in the list appear in the same order in which they were
107
* originally supplied in DirContext.modifyAttributes().
108
* The first item in the list is the first one that was not executed.
109
* If this list is null, none of the operations originally submitted
110
* to modifyAttributes() were executed.
111
112
* @return The possibly null unexecuted modification list.
113
* @see #setUnexecutedModifications
114
*/
115
public ModificationItem[] getUnexecutedModifications() {
116
return unexecs;
117
}
118
119
/**
120
* The string representation of this exception consists of
121
* information about where the error occurred, and
122
* the first unexecuted modification.
123
* This string is meant for debugging and not mean to be interpreted
124
* programmatically.
125
* @return The non-null string representation of this exception.
126
*/
127
public String toString() {
128
String orig = super.toString();
129
if (unexecs != null) {
130
orig += ("First unexecuted modification: " +
131
unexecs[0].toString());
132
}
133
return orig;
134
}
135
136
/**
137
* Use serialVersionUID from JNDI 1.1.1 for interoperability
138
*/
139
private static final long serialVersionUID = 8060676069678710186L;
140
}
141
142