1. /*
  2. * @(#)_BindingIteratorImplBase.java 1.6 01/11/29
  3. *
  4. * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
  5. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
  6. */
  7. /*
  8. * File: ./org/omg/CosNaming/_BindingIteratorImplBase.java
  9. * From: nameservice.idl
  10. * Date: Tue Aug 11 03:12:09 1998
  11. * By: idltojava Java IDL 1.2 Aug 11 1998 02:00:18
  12. */
  13. package org.omg.CosNaming;
  14. public abstract class _BindingIteratorImplBase extends org.omg.CORBA.DynamicImplementation implements org.omg.CosNaming.BindingIterator {
  15. // Constructor
  16. public _BindingIteratorImplBase() {
  17. super();
  18. }
  19. // Type strings for this class and its superclases
  20. private static final String _type_ids[] = {
  21. "IDL:omg.org/CosNaming/BindingIterator:1.0"
  22. };
  23. public String[] _ids() { return (String[]) _type_ids.clone(); }
  24. private static java.util.Dictionary _methods = new java.util.Hashtable();
  25. static {
  26. _methods.put("next_one", new java.lang.Integer(0));
  27. _methods.put("next_n", new java.lang.Integer(1));
  28. _methods.put("destroy", new java.lang.Integer(2));
  29. }
  30. // DSI Dispatch call
  31. public void invoke(org.omg.CORBA.ServerRequest r) {
  32. switch (((java.lang.Integer) _methods.get(r.op_name())).intValue()) {
  33. case 0: // org.omg.CosNaming.BindingIterator.next_one
  34. {
  35. org.omg.CORBA.NVList _list = _orb().create_list(0);
  36. org.omg.CORBA.Any _b = _orb().create_any();
  37. _b.type(org.omg.CosNaming.BindingHelper.type());
  38. _list.add_value("b", _b, org.omg.CORBA.ARG_OUT.value);
  39. r.params(_list);
  40. org.omg.CosNaming.BindingHolder b;
  41. b = new org.omg.CosNaming.BindingHolder();
  42. boolean ___result;
  43. ___result = this.next_one(b);
  44. org.omg.CosNaming.BindingHelper.insert(_b, b.value);
  45. org.omg.CORBA.Any __result = _orb().create_any();
  46. __result.insert_boolean(___result);
  47. r.result(__result);
  48. }
  49. break;
  50. case 1: // org.omg.CosNaming.BindingIterator.next_n
  51. {
  52. org.omg.CORBA.NVList _list = _orb().create_list(0);
  53. org.omg.CORBA.Any _how_many = _orb().create_any();
  54. _how_many.type(org.omg.CORBA.ORB.init().get_primitive_tc(org.omg.CORBA.TCKind.tk_ulong));
  55. _list.add_value("how_many", _how_many, org.omg.CORBA.ARG_IN.value);
  56. org.omg.CORBA.Any _bl = _orb().create_any();
  57. _bl.type(org.omg.CosNaming.BindingListHelper.type());
  58. _list.add_value("bl", _bl, org.omg.CORBA.ARG_OUT.value);
  59. r.params(_list);
  60. int how_many;
  61. how_many = _how_many.extract_ulong();
  62. org.omg.CosNaming.BindingListHolder bl;
  63. bl = new org.omg.CosNaming.BindingListHolder();
  64. boolean ___result;
  65. ___result = this.next_n(how_many, bl);
  66. org.omg.CosNaming.BindingListHelper.insert(_bl, bl.value);
  67. org.omg.CORBA.Any __result = _orb().create_any();
  68. __result.insert_boolean(___result);
  69. r.result(__result);
  70. }
  71. break;
  72. case 2: // org.omg.CosNaming.BindingIterator.destroy
  73. {
  74. org.omg.CORBA.NVList _list = _orb().create_list(0);
  75. r.params(_list);
  76. this.destroy();
  77. org.omg.CORBA.Any __return = _orb().create_any();
  78. __return.type(_orb().get_primitive_tc(org.omg.CORBA.TCKind.tk_void));
  79. r.result(__return);
  80. }
  81. break;
  82. default:
  83. throw new org.omg.CORBA.BAD_OPERATION(0, org.omg.CORBA.CompletionStatus.COMPLETED_MAYBE);
  84. }
  85. }
  86. }