001: /*
002: * Copyright 1998-2000 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 org.omg.CORBA;
027:
028: /**
029: * The mapping of a CORBA <code>enum</code> tagging
030: * <code>SET_OVERRIDE</code> and <code>ADD_OVERRIDE</code>, which
031: * indicate whether policies should replace the
032: * existing policies of an <code>Object</code> or be added to them.
033: * <P>
034: * The method {@link omg.org.CORBA.Object._set_policy_override} takes
035: * either <code>SetOverrideType.SET_OVERRIDE</code> or
036: * <code>SetOverrideType.ADD_OVERRIDE</code> as its second argument.
037: * The method <code>_set_policy_override</code>
038: * creates a new <code>Object</code> initialized with the
039: * <code>Policy</code> objects supplied as the first argument. If the
040: * second argument is <code>ADD_OVERRIDE</code>, the new policies
041: * are added to those of the <code>Object</code> instance that is
042: * calling the <code>_set_policy_override</code> method. If
043: * <code>SET_OVERRIDE</code> is given instead, the existing policies
044: * are replaced with the given ones.
045: *
046: * @author OMG
047: * @version 1.22 05/05/07
048: * @since JDK1.2
049: */
050:
051: public class SetOverrideType implements
052: org.omg.CORBA.portable.IDLEntity {
053:
054: /**
055: * The <code>int</code> constant for the enum value SET_OVERRIDE.
056: */
057: public static final int _SET_OVERRIDE = 0;
058:
059: /**
060: * The <code>int</code> constant for the enum value ADD_OVERRIDE.
061: */
062: public static final int _ADD_OVERRIDE = 1;
063:
064: /**
065: * The <code>SetOverrideType</code> constant for the enum value SET_OVERRIDE.
066: */
067: public static final SetOverrideType SET_OVERRIDE = new SetOverrideType(
068: _SET_OVERRIDE);
069:
070: /**
071: * The <code>SetOverrideType</code> constant for the enum value ADD_OVERRIDE.
072: */
073: public static final SetOverrideType ADD_OVERRIDE = new SetOverrideType(
074: _ADD_OVERRIDE);
075:
076: /**
077: * Retrieves the value of this <code>SetOverrideType</code> instance.
078: *
079: * @return the <code>int</code> for this <code>SetOverrideType</code> instance.
080: */
081: public int value() {
082: return _value;
083: }
084:
085: /**
086: * Converts the given <code>int</code> to the corresponding
087: * <code>SetOverrideType</code> instance.
088: *
089: * @param i the <code>int</code> to convert; must be either
090: * <code>SetOverrideType._SET_OVERRIDE</code> or
091: * <code>SetOverrideType._ADD_OVERRIDE</code>
092: * @return the <code>SetOverrideType</code> instance whose value
093: * matches the given <code>int</code>
094: * @exception BAD_PARAM if the given <code>int</code> does not
095: * match the value of
096: * any <code>SetOverrideType</code> instance
097: */
098: public static SetOverrideType from_int(int i) {
099: switch (i) {
100: case _SET_OVERRIDE:
101: return SET_OVERRIDE;
102: case _ADD_OVERRIDE:
103: return ADD_OVERRIDE;
104: default:
105: throw new org.omg.CORBA.BAD_PARAM();
106: }
107: }
108:
109: /**
110: * Constructs a <code>SetOverrideType</code> instance from an
111: * <code>int</code>.
112: * @param _value must be either <code>SET_OVERRIDE</code> or
113: * <code>ADD_OVERRIDE</code>
114: */
115: protected SetOverrideType(int _value) {
116: this ._value = _value;
117: }
118:
119: /**
120: * The field containing the value for this <code>SetOverrideType</code>
121: * object.
122: *
123: */
124: private int _value;
125: }
|