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 }