001/* DynEnumOperations.java -- 002 Copyright (C) 2005 Free Software Foundation, Inc. 003This file is part of GNU Classpath. 004 005GNU Classpath is free software; you can redistribute it and/or modify 006it under the terms of the GNU General Public License as published by 007the Free Software Foundation; either version 2, or (at your option) 008any later version. 009 010GNU Classpath is distributed in the hope that it will be useful, but 011WITHOUT ANY WARRANTY; without even the implied warranty of 012MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 013General Public License for more details. 014 015You should have received a copy of the GNU General Public License 016along with GNU Classpath; see the file COPYING. If not, write to the 017Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 01802110-1301 USA. 019 020Linking this library statically or dynamically with other modules is 021making a combined work based on this library. Thus, the terms and 022conditions of the GNU General Public License cover the whole 023combination. 024 025As a special exception, the copyright holders of this library give you 026permission to link this library with independent modules to produce an 027executable, regardless of the license terms of these independent 028modules, and to copy and distribute the resulting executable under 029terms of your choice, provided that you also meet, for each linked 030independent module, the terms and conditions of the license of that 031module. An independent module is a module which is not derived from 032or based on this library. If you modify this library, you may extend 033this exception to your version of the library, but you are not 034obligated to do so. If you do not wish to do so, delete this 035exception statement from your version. */ 036 037 038package org.omg.DynamicAny; 039 040import org.omg.DynamicAny.DynAnyPackage.InvalidValue; 041 042/** 043 * Defines operations, applicable to the dynamic enumeration. The value of the 044 * dynamic enumeration can be set by name or by integer code. The valid string 045 * values and integer codes are taken from the typecode, from which the 046 * enumeration was constructed. The enumeration is an undividable type without 047 * traversable components. 048 * 049 * @author Audrius Meskauskas, Lithuania (AudriusA@Bioinformatics.org) 050 */ 051public interface DynEnumOperations 052 extends DynAnyOperations 053{ 054 /** 055 * Get the current enumeration value, as string. 056 */ 057 String get_as_string(); 058 059 /** 060 * Get the current enumeration value, as int. 061 */ 062 int get_as_ulong(); 063 064 /** 065 * Set the current enumeration value, as string. 066 * 067 * @throws InvalidValue if the passed string is not one of the allowed values 068 * for this enumeration. 069 */ 070 void set_as_string(String value) 071 throws InvalidValue; 072 073 /** 074 * Set the current enumeration value, as int. 075 * 076 * @throws InvalidValue if the passed string is not one of the allowed values 077 * for this enumeration. 078 */ 079 void set_as_ulong(int value) 080 throws InvalidValue; 081 082}