1. /*
  2. * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
  3. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
  4. */
  5. package javax.ejb;
  6. /**
  7. * The EJBMetaData interface allows a client to obtain the enterprise Bean's
  8. * meta-data information.
  9. *
  10. * <p> The meta-data is intended for development tools used for
  11. * building applications that use deployed enterprise Beans, and for clients
  12. * using a scripting language to access the enterprise Bean.
  13. *
  14. * <p> Note that the EJBMetaData is not a remote interface. The class that
  15. * implements this interface (this class is typically generated by container
  16. * tools) must be serializable, and must be a valid RMI/IDL value type.
  17. */
  18. public interface EJBMetaData {
  19. /**
  20. * Obtain the remote home interface of the enterprise Bean.
  21. */
  22. EJBHome getEJBHome();
  23. /**
  24. * Obtain the Class object for the enterprise Bean's remote home interface.
  25. */
  26. Class getHomeInterfaceClass();
  27. /**
  28. * Obtain the Class object for the enterprise Bean's remote interface.
  29. */
  30. Class getRemoteInterfaceClass();
  31. /**
  32. * Obtain the Class object for the enterprise Bean's primary key class.
  33. */
  34. Class getPrimaryKeyClass();
  35. /**
  36. * Test if the enterprise Bean's type is "session".
  37. *
  38. * @return True if the type of the enterprise Bean is session bean.
  39. */
  40. boolean isSession();
  41. /**
  42. * Test if the enterprise Bean's type is "stateless session".
  43. *
  44. * @return True if the type of the enterprise Bean is stateless
  45. * session.
  46. */
  47. boolean isStatelessSession();
  48. }