1. /*
  2. * @(#)CodeSetsComponentImpl.java 1.24 04/06/21
  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.ior.iiop;
  8. import org.omg.CORBA_2_3.portable.InputStream ;
  9. import org.omg.CORBA_2_3.portable.OutputStream ;
  10. import com.sun.corba.se.spi.ior.TaggedComponentBase ;
  11. import com.sun.corba.se.spi.ior.iiop.CodeSetsComponent ;
  12. import org.omg.IOP.TAG_CODE_SETS ;
  13. import com.sun.corba.se.impl.encoding.CodeSetComponentInfo ;
  14. import com.sun.corba.se.impl.encoding.MarshalOutputStream ;
  15. import com.sun.corba.se.impl.encoding.MarshalInputStream ;
  16. /**
  17. * @author
  18. */
  19. public class CodeSetsComponentImpl extends TaggedComponentBase
  20. implements CodeSetsComponent
  21. {
  22. CodeSetComponentInfo csci ;
  23. public boolean equals( Object obj )
  24. {
  25. if (!(obj instanceof CodeSetsComponentImpl))
  26. return false ;
  27. CodeSetsComponentImpl other = (CodeSetsComponentImpl)obj ;
  28. return csci.equals( other.csci ) ;
  29. }
  30. public int hashCode()
  31. {
  32. return csci.hashCode() ;
  33. }
  34. public String toString()
  35. {
  36. return "CodeSetsComponentImpl[csci=" + csci + "]" ;
  37. }
  38. public CodeSetsComponentImpl()
  39. {
  40. // Uses our default code sets (see CodeSetComponentInfo)
  41. csci = new CodeSetComponentInfo() ;
  42. }
  43. public CodeSetsComponentImpl( InputStream is )
  44. {
  45. csci = new CodeSetComponentInfo() ;
  46. csci.read( (MarshalInputStream)is ) ;
  47. }
  48. public CodeSetsComponentImpl(com.sun.corba.se.spi.orb.ORB orb)
  49. {
  50. if (orb == null)
  51. csci = new CodeSetComponentInfo();
  52. else
  53. csci = orb.getORBData().getCodeSetComponentInfo();
  54. }
  55. public CodeSetComponentInfo getCodeSetComponentInfo()
  56. {
  57. return csci ;
  58. }
  59. public void writeContents(OutputStream os)
  60. {
  61. csci.write( (MarshalOutputStream)os ) ;
  62. }
  63. public int getId()
  64. {
  65. return TAG_CODE_SETS.value ; // 1 in CORBA 2.3.1 13.6.3
  66. }
  67. }