Source Code Cross Referenced for CannotProceedException.java in  » 6.0-JDK-Core » naming » javax » naming » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Home
Java Source Code / Java Documentation
1.6.0 JDK Core
2.6.0 JDK Modules
3.6.0 JDK Modules com.sun
4.6.0 JDK Modules com.sun.java
5.6.0 JDK Modules sun
6.6.0 JDK Platform
7.Ajax
8.Apache Harmony Java SE
9.Aspect oriented
10.Authentication Authorization
11.Blogger System
12.Build
13.Byte Code
14.Cache
15.Chart
16.Chat
17.Code Analyzer
18.Collaboration
19.Content Management System
20.Database Client
21.Database DBMS
22.Database JDBC Connection Pool
23.Database ORM
24.Development
25.EJB Server
26.ERP CRM Financial
27.ESB
28.Forum
29.Game
30.GIS
31.Graphic 3D
32.Graphic Library
33.Groupware
34.HTML Parser
35.IDE
36.IDE Eclipse
37.IDE Netbeans
38.Installer
39.Internationalization Localization
40.Inversion of Control
41.Issue Tracking
42.J2EE
43.J2ME
44.JBoss
45.JMS
46.JMX
47.Library
48.Mail Clients
49.Music
50.Net
51.Parser
52.PDF
53.Portal
54.Profiler
55.Project Management
56.Report
57.RSS RDF
58.Rule Engine
59.Science
60.Scripting
61.Search Engine
62.Security
63.Sevlet Container
64.Source Control
65.Swing Library
66.Template Engine
67.Test Coverage
68.Testing
69.UML
70.Web Crawler
71.Web Framework
72.Web Mail
73.Web Server
74.Web Services
75.Web Services apache cxf 2.2.6
76.Web Services AXIS2
77.Wiki Engine
78.Workflow Engines
79.XML
80.XML UI
Java Source Code / Java Documentation » 6.0 JDK Core » naming » javax.naming 
Source Cross Referenced  Class Diagram Java Document (Java Doc) 


001        /*
002         * Copyright 1999-2004 Sun Microsystems, Inc.  All Rights Reserved.
003         * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
004         *
005         * This code is free software; you can redistribute it and/or modify it
006         * under the terms of the GNU General Public License version 2 only, as
007         * published by the Free Software Foundation.  Sun designates this
008         * particular file as subject to the "Classpath" exception as provided
009         * by Sun in the LICENSE file that accompanied this code.
010         *
011         * This code is distributed in the hope that it will be useful, but WITHOUT
012         * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
013         * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
014         * version 2 for more details (a copy is included in the LICENSE file that
015         * accompanied this code).
016         *
017         * You should have received a copy of the GNU General Public License version
018         * 2 along with this work; if not, write to the Free Software Foundation,
019         * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
020         *
021         * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
022         * CA 95054 USA or visit www.sun.com if you need additional information or
023         * have any questions.
024         */
025
026        package javax.naming;
027
028        import java.util.Hashtable;
029
030        /**
031         * This exception is thrown to indicate that the operation reached 
032         * a point in the name where the operation cannot proceed any further.
033         * When performing an operation on a composite name, a naming service
034         * provider may reach a part of the name that does not belong to its
035         * namespace.  At that point, it can construct a
036         * CannotProceedException and then invoke methods provided by
037         * javax.naming.spi.NamingManager (such as getContinuationContext())
038         * to locate another provider to continue the operation.  If this is
039         * not possible, this exception is raised to the caller of the
040         * context operation.
041         *<p>
042         * If the program wants to handle this exception in particular, it
043         * should catch CannotProceedException explicitly before attempting to
044         * catch NamingException.
045         *<p>
046         * A CannotProceedException instance is not synchronized against concurrent 
047         * multithreaded access. Multiple threads trying to access and modify
048         * CannotProceedException should lock the object.
049         *
050         * @author Rosanna Lee
051         * @author Scott Seligman
052         * @version 1.18 07/05/05
053         * @since 1.3
054         */
055
056        /*
057         * The serialized form of a CannotProceedException object consists of
058         * the serialized fields of its NamingException superclass, the remaining new
059         * name (a Name object), the environment (a Hashtable), the altName field
060         * (a Name object), and the serialized form of the altNameCtx field.
061         */
062
063        public class CannotProceedException extends NamingException {
064            /**
065             * Contains the remaining unresolved part of the second
066             * "name" argument to Context.rename().
067             * This information necessary for
068             * continuing the Context.rename() operation.
069             * <p>
070             * This field is initialized to null.
071             * It should not be manipulated directly:  it should
072             * be accessed and updated using getRemainingName() and setRemainingName().
073             * @serial
074             *
075             * @see #getRemainingNewName
076             * @see #setRemainingNewName
077             */
078            protected Name remainingNewName = null;
079
080            /**
081             * Contains the environment
082             * relevant for the Context or DirContext method that cannot proceed.
083             * <p>
084             * This field is initialized to null.
085             * It should not be manipulated directly:  it should be accessed
086             * and updated using getEnvironment() and setEnvironment().
087             * @serial
088             *
089             * @see #getEnvironment
090             * @see #setEnvironment
091             */
092            protected Hashtable<?, ?> environment = null;
093
094            /**
095             * Contains the name of the resolved object, relative
096             * to the context <code>altNameCtx</code>.  It is a composite name.
097             * If null, then no name is specified.
098             * See the <code>javax.naming.spi.ObjectFactory.getObjectInstance</code>
099             * method for details on how this is used.
100             * <p>
101             * This field is initialized to null.
102             * It should not be manipulated directly:  it should
103             * be accessed and updated using getAltName() and setAltName().
104             * @serial
105             *
106             * @see #getAltName
107             * @see #setAltName
108             * @see #altNameCtx
109             * @see javax.naming.spi.ObjectFactory#getObjectInstance
110             */
111            protected Name altName = null;
112
113            /**
114             * Contains the context relative to which
115             * <code>altName</code> is specified.  If null, then the default initial
116             * context is implied.
117             * See the <code>javax.naming.spi.ObjectFactory.getObjectInstance</code>
118             * method for details on how this is used.
119             * <p>
120             * This field is initialized to null.
121             * It should not be manipulated directly:  it should
122             * be accessed and updated using getAltNameCtx() and setAltNameCtx().
123             * @serial
124             *
125             * @see #getAltNameCtx
126             * @see #setAltNameCtx
127             * @see #altName
128             * @see javax.naming.spi.ObjectFactory#getObjectInstance
129             */
130            protected Context altNameCtx = null;
131
132            /**
133             * Constructs a new instance of CannotProceedException using an
134             * explanation. All unspecified fields default to null.
135             *
136             * @param	explanation	A possibly null string containing additional
137             * 				detail about this exception.
138             *	 If null, this exception has no detail message.
139             * @see java.lang.Throwable#getMessage
140             */
141            public CannotProceedException(String explanation) {
142                super (explanation);
143            }
144
145            /**
146             * Constructs a new instance of CannotProceedException.
147             * All fields default to null.
148             */
149            public CannotProceedException() {
150                super ();
151            }
152
153            /**
154             * Retrieves the environment that was in effect when this exception
155             * was created.
156             * @return Possibly null environment property set.
157             *		null means no environment was recorded for this exception.
158             * @see #setEnvironment
159             */
160            public Hashtable<?, ?> getEnvironment() {
161                return environment;
162            }
163
164            /**
165             * Sets the environment that will be returned when getEnvironment()
166             * is called.
167             * @param environment A possibly null environment property set.
168             * 		null means no environment is being recorded for 
169             * 		this exception.
170             * @see #getEnvironment
171             */
172            public void setEnvironment(Hashtable<?, ?> environment) {
173                this .environment = environment; // %%% clone it??
174            }
175
176            /**
177             * Retrieves the "remaining new name" field of this exception, which is
178             * used when this exception is thrown during a rename() operation.
179             *
180             * @return The possibly null part of the new name that has not been resolved.
181             * 		It is a composite name. It can be null, which means
182             *		the remaining new name field has not been set.
183             *
184             * @see #setRemainingNewName
185             */
186            public Name getRemainingNewName() {
187                return remainingNewName;
188            }
189
190            /**
191             * Sets the "remaining new name" field of this exception.
192             * This is the value returned by <code>getRemainingNewName()</code>.
193             *<p>
194             * <tt>newName</tt> is a composite name. If the intent is to set
195             * this field using a compound name or string, you must 
196             * "stringify" the compound name, and create a composite
197             * name with a single component using the string. You can then
198             * invoke this method using the resulting composite name.
199             *<p>
200             * A copy of <code>newName</code> is made and stored.
201             * Subsequent changes to <code>name</code> does not
202             * affect the copy in this NamingException and vice versa.
203             *
204             * @param newName The possibly null name to set the "remaining new name" to.
205             *		If null, it sets the remaining name field to null.
206             *
207             * @see #getRemainingNewName
208             */
209            public void setRemainingNewName(Name newName) {
210                if (newName != null)
211                    this .remainingNewName = (Name) (newName.clone());
212                else
213                    this .remainingNewName = null;
214            }
215
216            /**
217             * Retrieves the <code>altName</code> field of this exception.
218             * This is the name of the resolved object, relative to the context
219             * <code>altNameCtx</code>. It will be used during a subsequent call to the
220             * <code>javax.naming.spi.ObjectFactory.getObjectInstance</code> method.
221             *
222             * @return The name of the resolved object, relative to
223             *		<code>altNameCtx</code>.
224             * 		It is a composite name.  If null, then no name is specified.
225             *
226             * @see #setAltName
227             * @see #getAltNameCtx
228             * @see javax.naming.spi.ObjectFactory#getObjectInstance
229             */
230            public Name getAltName() {
231                return altName;
232            }
233
234            /**
235             * Sets the <code>altName</code> field of this exception.
236             *
237             * @param altName	The name of the resolved object, relative to
238             *			<code>altNameCtx</code>.
239             * 			It is a composite name.
240             *			If null, then no name is specified.
241             *
242             * @see #getAltName
243             * @see #setAltNameCtx
244             */
245            public void setAltName(Name altName) {
246                this .altName = altName;
247            }
248
249            /**
250             * Retrieves the <code>altNameCtx</code> field of this exception.
251             * This is the context relative to which <code>altName</code> is named.
252             * It will be used during a subsequent call to the
253             * <code>javax.naming.spi.ObjectFactory.getObjectInstance</code> method.
254             *
255             * @return	The context relative to which <code>altName</code> is named.
256             *		If null, then the default initial context is implied.
257             *
258             * @see #setAltNameCtx
259             * @see #getAltName
260             * @see javax.naming.spi.ObjectFactory#getObjectInstance
261             */
262            public Context getAltNameCtx() {
263                return altNameCtx;
264            }
265
266            /**
267             * Sets the <code>altNameCtx</code> field of this exception.
268             *
269             * @param altNameCtx
270             *			The context relative to which <code>altName</code>
271             *			is named.  If null, then the default initial context
272             *			is implied.
273             *
274             * @see #getAltNameCtx
275             * @see #setAltName
276             */
277            public void setAltNameCtx(Context altNameCtx) {
278                this .altNameCtx = altNameCtx;
279            }
280
281            /**
282             * Use serialVersionUID from JNDI 1.1.1 for interoperability
283             */
284            private static final long serialVersionUID = 1219724816191576813L;
285        }
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.