View Javadoc
1   /*
2    * Copyright (c) 1996, 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  package org.omg.CORBA;
26  
27  /**
28   * An object that indicates whether a method had completed running
29   * when a <code>SystemException</code> was thrown.
30   * <P>
31   * The class <code>CompletionStatus</code>
32   * contains three <code>CompletionStatus</code> instances, which are constants
33   * representing each
34   * possible completion status: <code>COMPLETED_MAYBE</code>,
35   * <code>COMPLETED_NO</code>, and <code>COMPLETED_YES</code>.
36   * It also contains
37   * three <code>int</code> members, each a constant corresponding to one of
38   * the <code>CompletionStatus</code> instances.  These <code>int</code>
39   * members make it possible to use a <code>switch</code> statement.
40   * <P>
41   * The class also contains two methods:
42   * <UL>
43   * <LI><code>public int <bold>value</bold>()</code> -- which accesses the
44   * <code>value</code> field of a <code>CompletionStatus</code> object
45   * <LI><code>public static CompletionStatus
46   * <bold>from_int</bold>(int i)</code> --
47   * for creating an instance from one of the <code>int</code> members
48   * </UL>
49   * @see     org.omg.CORBA.SystemException
50   * @since   JDK1.2
51   */
52  
53  public final class CompletionStatus implements org.omg.CORBA.portable.IDLEntity
54  {
55  /**
56   * The constant indicating that a method completed running
57   * before a <code>SystemException</code> was thrown.
58   */
59      public static final int _COMPLETED_YES = 0,
60  
61  /**
62   * The constant indicating that a method had not completed running
63   * when a <code>SystemException</code> was thrown.
64   */
65          _COMPLETED_NO = 1,
66  
67  /**
68   * The constant indicating that it is unknown whether a method had
69   * completed running when a <code>SystemException</code> was thrown.
70   */
71          _COMPLETED_MAYBE = 2;
72  
73  
74  /**
75   * An instance of <code>CompletionStatus</code> initialized with
76   * the constant <code>_COMPLETED_YES</code>.
77   */
78      public static final CompletionStatus COMPLETED_YES   = new CompletionStatus(_COMPLETED_YES);
79  
80  /**
81   * An instance of <code>CompletionStatus</code> initialized with
82   * the constant <code>_COMPLETED_NO</code>.
83   */
84      public static final CompletionStatus COMPLETED_NO    = new CompletionStatus(_COMPLETED_NO);
85  
86      /**
87   * An instance of <code>CompletionStatus</code> initialized with
88   * the constant <code>_COMPLETED_MAYBE</code>.
89   */
90      public static final CompletionStatus COMPLETED_MAYBE = new CompletionStatus(_COMPLETED_MAYBE);
91  
92      /**
93   * Retrieves the value of this <code>CompletionStatus</code> object.
94   *
95   * @return  one of the possible <code>CompletionStatus</code> values:
96   *          <code>_COMPLETED_YES</code>, <code>_COMPLETED_NO</code>, or
97   *          <code>_COMPLETED_MAYBE</code>
98   *
99   */
100     public int value() { return _value; }
101 
102 /**
103  * Creates a <code>CompletionStatus</code> object from the given <code>int</code>.
104  *
105  * @param i  one of <code>_COMPLETED_YES</code>, <code>_COMPLETED_NO</code>, or
106  *          <code>_COMPLETED_MAYBE</code>
107  *
108  * @return  one of the possible <code>CompletionStatus</code> objects
109  *          with values:
110  *          <code>_COMPLETED_YES</code>, <code>_COMPLETED_NO</code>, or
111  *          <code>_COMPLETED_MAYBE</code>
112  *
113  * @exception org.omg.CORBA.BAD_PARAM  if the argument given is not one of the
114  *            <code>int</code> constants defined in <code>CompletionStatus</code>
115  */
116     public static CompletionStatus from_int(int i)  {
117         switch (i) {
118         case _COMPLETED_YES:
119             return COMPLETED_YES;
120         case _COMPLETED_NO:
121             return COMPLETED_NO;
122         case _COMPLETED_MAYBE:
123             return COMPLETED_MAYBE;
124         default:
125             throw new org.omg.CORBA.BAD_PARAM();
126         }
127     }
128 
129 
130 /**
131  * Creates a <code>CompletionStatus</code> object from the given <code>int</code>.
132  *
133  * @param _value  one of <code>_COMPLETED_YES</code>, <code>_COMPLETED_NO</code>, or
134  *          <code>_COMPLETED_MAYBE</code>
135  *
136  */
137     private CompletionStatus(int _value) {
138         this._value = _value;
139     }
140 
141     private int _value;
142 }