Horus Doc || Java GUI Reference || Doxygen's quick Index  

EnumChoice Class Reference

A CorbaObjectChoice for enum's. More...

Inheritance diagram for EnumChoice::

CorbaObjectChoice List of all members.

Public Methods

 EnumChoice (TypeCode tc)
String name ()
 Name of the type. More...

JComponent inputArg ()
 Dialog component where the user specifies the result. More...

JComponent inputRes ()
 Dialog component where the user specifies the parameter. More...

String getResult (Any resAny)
 Request management: extract result from Any (and convert it to String). More...

void setArgument (Any argsAny) throws InvalidChoiceException
 Request management: add argument to Any. More...

String toString (java.lang.Object obj)
 Converts that object to string. More...

java.lang.Object asObject (String inText) throws InvalidChoiceException
 Returns the object introduced as that text. More...

java.lang.Object asObject () throws InvalidChoiceException
 Returns the object selected in that choice. More...


Detailed Description

A CorbaObjectChoice for enum's.


Constructor & Destructor Documentation

EnumChoice::EnumChoice TypeCode    tc [inline]
 

00028 {
00029     super(tc);
00030     try {
00031         _name = tc.name();
00032         _values = new String[tc.member_count()];
00033         for(int i=0; i<_values.length; i++)
00034             _values[i] = tc.member_name(i);
00035 
00036     }catch(Exception e){
00037     }
00038 }


Member Function Documentation

String EnumChoice::name   [inline, virtual]
 

Name of the type.

Reimplemented from CorbaObjectChoice.

00041 {
00042     return "enum "+_name;
00043 }

JComponent EnumChoice::inputArg   [inline, virtual]
 

Dialog component where the user specifies the result.

Reimplemented from CorbaObjectChoice.

00046 {
00047     if(_input == null) {
00048         _input = new JComboBox(_values);
00049     }
00050     return _input;
00051 }

JComponent EnumChoice::inputRes   [inline, virtual]
 

Dialog component where the user specifies the parameter.

Reimplemented from CorbaObjectChoice.

00054 {
00055     return null;
00056 }

String EnumChoice::getResult Any    resAny [inline, virtual]
 

Request management: extract result from Any (and convert it to String).

Reimplemented from CorbaObjectChoice.

00059 {
00060     String resName = null;
00061     try {
00062         //result = HxCorba."name"Helper.extract(resAny);
00063 
00064         Class helper = Class.forName("HxCorba."+_name+"Helper");
00065         Class[] argTypes = { Any.class };
00066         Method methExt = helper.getMethod("extract", argTypes);
00067         java.lang.Object[] args = { resAny };
00068         java.lang.Object obj = methExt.invoke(null, args);
00069 
00070         resName = toString(obj);
00071 
00072     }catch(Exception e) {
00073         ErrorStreamArea.println(e+": Cannot find helper class for "+_name);
00074     }
00075 
00076     return resName;
00077 }

void EnumChoice::setArgument Any    argsAny [inline, virtual]
 

Request management: add argument to Any.

Reimplemented from CorbaObjectChoice.

00080 {
00081     java.lang.Object obj = asObject();
00082 
00083     try {
00084         //HxCorba."name"Helper.insert(argsAny, this);
00085 
00086         Class helper = Class.forName("HxCorba."+_name+"Helper");
00087         Class[] argTypes = { Any.class, Class.forName("HxCorba."+_name) };
00088         Method methIns = helper.getMethod("insert", argTypes);
00089         java.lang.Object[] args = { argsAny, obj };
00090         methIns.invoke(null, args);
00091     }catch(Exception e) {
00092         ErrorStreamArea.println(e+": Cannot find helper class for "+_name);
00093     }
00094 }

String EnumChoice::toString java.lang.Object    obj [inline]
 

Converts that object to string.

Useful method to implement getResult.

Reimplemented from CorbaObjectChoice.

00097 {
00098     try {
00099         //v = obj.value();
00100 
00101         Class enumC = Class.forName("HxCorba."+_name);
00102         Class[] argTypes = { };
00103         Method meth = enumC.getMethod("value", argTypes);
00104         java.lang.Object[] args = { };
00105         Integer v = (Integer)meth.invoke(obj, args);
00106         return _values[v.intValue()];
00107     }catch(Exception e) {
00108         ErrorStreamArea.println(e+": Cannot find HxCorba."+_name+".class");
00109     }
00110 
00111     return "unknown";
00112 }

java.lang.Object EnumChoice::asObject String    inText [inline, virtual]
 

Returns the object introduced as that text.

Useful method to implement setArgument.

Reimplemented from CorbaObjectChoice.

00116 {
00117     return null; // never gets called
00118 }

java.lang.Object EnumChoice::asObject   [inline]
 

Returns the object selected in that choice.

Useful method to implement setArgument.

Reimplemented from CorbaObjectChoice.

00121 {
00122     int index = _input.getSelectedIndex();
00123     java.lang.Object result = null;
00124 
00125     try {
00126         //result = HxCorba."name".from_int(index);
00127 
00128         Class enumC = Class.forName("HxCorba."+_name);
00129         Class[] argTypes = { int.class };
00130         Method meth = enumC.getMethod("from_int", argTypes);
00131         java.lang.Object[] args = { new Integer(index) };
00132         result = meth.invoke(null, args);
00133     }catch(Exception e) {
00134         ErrorStreamArea.println(e.toString());
00135     }
00136 
00137     return result;
00138 }


The documentation for this class was generated from the following file:
Generated on Tue Feb 3 14:19:43 2004 for JavaReference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001