1. /*
  2. * @(#)DynAnyFactoryImpl.java 1.6 03/01/23
  3. *
  4. * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
  5. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
  6. */
  7. package com.sun.corba.se.internal.DynamicAny;
  8. import org.omg.CORBA.ORB;
  9. import org.omg.CORBA.Any;
  10. import org.omg.CORBA.LocalObject;
  11. import org.omg.CORBA.TypeCode;
  12. import org.omg.CORBA.TCKind;
  13. import org.omg.DynamicAny.*;
  14. import org.omg.DynamicAny.DynAnyFactoryPackage.*;
  15. public class DynAnyFactoryImpl
  16. extends org.omg.CORBA.LocalObject
  17. implements org.omg.DynamicAny.DynAnyFactory
  18. {
  19. //
  20. // Instance variables
  21. //
  22. private org.omg.CORBA.ORB orb;
  23. //
  24. // Constructors
  25. //
  26. private DynAnyFactoryImpl() {
  27. this.orb = null;
  28. }
  29. public DynAnyFactoryImpl(ORB orb) {
  30. this.orb = orb;
  31. }
  32. //
  33. // DynAnyFactory interface methods
  34. //
  35. // Returns the most derived DynAny type based on the Anys TypeCode.
  36. public org.omg.DynamicAny.DynAny create_dyn_any (org.omg.CORBA.Any any)
  37. throws org.omg.DynamicAny.DynAnyFactoryPackage.InconsistentTypeCode
  38. {
  39. return DynAnyUtil.createMostDerivedDynAny(any, orb, true);
  40. }
  41. // Returns the most derived DynAny type based on the TypeCode.
  42. public org.omg.DynamicAny.DynAny create_dyn_any_from_type_code (org.omg.CORBA.TypeCode type)
  43. throws org.omg.DynamicAny.DynAnyFactoryPackage.InconsistentTypeCode
  44. {
  45. return DynAnyUtil.createMostDerivedDynAny(type, orb);
  46. }
  47. // Needed for org.omg.CORBA.Object
  48. private String[] __ids = { "IDL:omg.org/DynamicAny/DynAnyFactory:1.0" };
  49. public String[] _ids() {
  50. return __ids;
  51. }
  52. }