1. /**
  2. * @(#)RequestPartitioningComponentImpl.java 1.2 04/06/04
  3. */
  4. package com.sun.corba.se.impl.ior.iiop;
  5. import org.omg.CORBA_2_3.portable.OutputStream;
  6. import com.sun.corba.se.spi.ior.TaggedComponentBase;
  7. import com.sun.corba.se.spi.ior.iiop.RequestPartitioningComponent;
  8. import com.sun.corba.se.spi.logging.CORBALogDomains ;
  9. import com.sun.corba.se.impl.logging.ORBUtilSystemException ;
  10. import com.sun.corba.se.impl.orbutil.ORBConstants;
  11. public class RequestPartitioningComponentImpl extends TaggedComponentBase
  12. implements RequestPartitioningComponent
  13. {
  14. private static ORBUtilSystemException wrapper =
  15. ORBUtilSystemException.get( CORBALogDomains.OA_IOR ) ;
  16. private int partitionToUse;
  17. public boolean equals(Object obj)
  18. {
  19. if (!(obj instanceof RequestPartitioningComponentImpl))
  20. return false ;
  21. RequestPartitioningComponentImpl other =
  22. (RequestPartitioningComponentImpl)obj ;
  23. return partitionToUse == other.partitionToUse ;
  24. }
  25. public int hashCode()
  26. {
  27. return partitionToUse;
  28. }
  29. public String toString()
  30. {
  31. return "RequestPartitioningComponentImpl[partitionToUse=" + partitionToUse + "]" ;
  32. }
  33. public RequestPartitioningComponentImpl()
  34. {
  35. partitionToUse = 0;
  36. }
  37. public RequestPartitioningComponentImpl(int thePartitionToUse) {
  38. if (thePartitionToUse < ORBConstants.REQUEST_PARTITIONING_MIN_THREAD_POOL_ID ||
  39. thePartitionToUse > ORBConstants.REQUEST_PARTITIONING_MAX_THREAD_POOL_ID) {
  40. throw wrapper.invalidRequestPartitioningComponentValue(
  41. new Integer(thePartitionToUse),
  42. new Integer(ORBConstants.REQUEST_PARTITIONING_MIN_THREAD_POOL_ID),
  43. new Integer(ORBConstants.REQUEST_PARTITIONING_MAX_THREAD_POOL_ID));
  44. }
  45. partitionToUse = thePartitionToUse;
  46. }
  47. public int getRequestPartitioningId()
  48. {
  49. return partitionToUse;
  50. }
  51. public void writeContents(OutputStream os)
  52. {
  53. os.write_ulong(partitionToUse);
  54. }
  55. public int getId()
  56. {
  57. return ORBConstants.TAG_REQUEST_PARTITIONING_ID;
  58. }
  59. }