1. /*
  2. * @(#)CopierManagerImpl.java 1.9 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.copyobject ;
  8. import com.sun.corba.se.spi.orb.ORB ;
  9. import com.sun.corba.se.impl.orbutil.DenseIntMapImpl ;
  10. import com.sun.corba.se.spi.copyobject.ObjectCopierFactory ;
  11. import com.sun.corba.se.spi.copyobject.CopierManager ;
  12. import com.sun.corba.se.spi.copyobject.ObjectCopierFactory ;
  13. public class CopierManagerImpl implements CopierManager
  14. {
  15. private int defaultId ;
  16. private DenseIntMapImpl map ;
  17. private ORB orb ;
  18. public CopierManagerImpl( ORB orb )
  19. {
  20. defaultId = 0 ;
  21. map = new DenseIntMapImpl() ;
  22. this.orb = orb ;
  23. }
  24. public void setDefaultId( int id )
  25. {
  26. defaultId = id ;
  27. }
  28. public int getDefaultId()
  29. {
  30. return defaultId ;
  31. }
  32. public ObjectCopierFactory getObjectCopierFactory( int id )
  33. {
  34. return (ObjectCopierFactory)(map.get( id )) ;
  35. }
  36. public ObjectCopierFactory getDefaultObjectCopierFactory()
  37. {
  38. return (ObjectCopierFactory)(map.get( defaultId )) ;
  39. }
  40. public void registerObjectCopierFactory( ObjectCopierFactory factory, int id )
  41. {
  42. map.set( id, factory ) ;
  43. }
  44. }