CompletionStatus.java revision 662:753f4114e6d6
1/*
2 * Copyright (c) 1996, 2015, 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 */
25package 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 <b>value</b>()</code> -- which accesses the
44 * <code>value</code> field of a <code>CompletionStatus</code> object
45 * <LI><code>public static CompletionStatus
46 * <b>from_int</b>(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
53public 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}
143