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