1. /*
  2. * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
  3. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
  4. */
  5. package javax.resource.cci;
  6. import javax.resource.ResourceException;
  7. /** The interface <code>javax.resource.cci.ResourceAdapterMetaData</code>
  8. * provides information about capabilities of a resource adapter
  9. * implementation. Note that this interface does not provide information
  10. * about an EIS instance that is connected through the resource adapter.
  11. *
  12. * <p>A CCI client uses a <code>ConnectionFactory.getMetaData</code> to
  13. * get metadata information about the resource adapter. The
  14. * <code>getMetaData</code> method does not require that an active
  15. * connection to an EIS instance should have been established.
  16. *
  17. * <p>The ResourceAdapterMetaData can be extended to provide more
  18. * information specific to a resource adapter implementation.
  19. *
  20. * @author Rahul Sharma
  21. * @version 0.8
  22. * @since 0.8
  23. * @see javax.resource.cci.ConnectionFactory
  24. **/
  25. public interface ResourceAdapterMetaData {
  26. /** Gets the version of the resource adapter.
  27. *
  28. * @return String representing version of the resource adapter
  29. **/
  30. public
  31. String getAdapterVersion();
  32. /** Gets the name of the vendor that has provided the resource
  33. * adapter.
  34. *
  35. * @return String representing name of the vendor that has
  36. * provided the resource adapter
  37. **/
  38. public
  39. String getAdapterVendorName();
  40. /** Gets a tool displayable name of the resource adapter.
  41. *
  42. * @return String representing the name of the resource adapter
  43. **/
  44. public
  45. String getAdapterName();
  46. /** Gets a tool displayable short desription of the resource
  47. * adapter.
  48. *
  49. * @return String describing the resource adapter
  50. **/
  51. public
  52. String getAdapterShortDescription();
  53. /** Returns a string representation of the version of the
  54. * connector architecture specification that is supported by
  55. * the resource adapter.
  56. *
  57. * @return String representing the supported version of
  58. * the connector architecture
  59. **/
  60. public
  61. String getSpecVersion();
  62. /** Returns an array of fully-qualified names of InteractionSpec
  63. * types supported by the CCI implementation for this resource
  64. * adapter. Note that the fully-qualified class name is for
  65. * the implementation class of an InteractionSpec. This method
  66. * may be used by tools vendor to find information on the
  67. * supported InteractionSpec types. The method should return
  68. * an array of length 0 if the CCI implementation does not
  69. * define specific InteractionSpec types.
  70. *
  71. * @return Array of fully-qualified class names of
  72. * InteractionSpec classes supported by this
  73. * resource adapter's CCI implementation
  74. * @see javax.resource.cci.InteractionSpec
  75. **/
  76. public
  77. String[] getInteractionSpecsSupported();
  78. /** Returns true if the implementation class for the Interaction
  79. * interface implements public boolean execute(InteractionSpec
  80. * ispec, Record input, Record output) method; otherwise the
  81. * method returns false.
  82. *
  83. * @return boolean depending on method support
  84. * @see javax.resource.cci.Interaction
  85. **/
  86. public
  87. boolean supportsExecuteWithInputAndOutputRecord();
  88. /** Returns true if the implementation class for the Interaction
  89. * interface implements public Record execute(InteractionSpec
  90. * ispec, Record input) method; otherwise the method returns
  91. * false.
  92. *
  93. * @return boolean depending on method support
  94. * @see javax.resource.cci.Interaction
  95. **/
  96. public
  97. boolean supportsExecuteWithInputRecordOnly();
  98. /** Returns true if the resource adapter implements the LocalTransaction
  99. * interface and supports local transaction demarcation on the
  100. * underlying EIS instance through the LocalTransaction interface.
  101. *
  102. * @return true if resource adapter supports resource manager
  103. * local transaction demarcation through LocalTransaction
  104. * interface; false otherwise
  105. * @see javax.resource.cci.LocalTransaction
  106. **/
  107. public
  108. boolean supportsLocalTransactionDemarcation();
  109. }