00001
00026 package org.objectweb.jonas_ejb.svc;
00027
00028 import java.io.Serializable;
00029
00030 import javax.ejb.EJBException;
00031 import javax.ejb.EJBHome;
00032 import javax.ejb.EJBMetaData;
00033
00034 import java.util.logging.Level;
00035 import java.util.logging.Logger;
00036
00037
00043 public class JMetaData implements EJBMetaData, Serializable {
00044
00048 private static Logger logger = Logger.getLogger("org.objectweb.jonas_ejb.svc");
00049
00053 private EJBHome home;
00054
00058 private Class homeClass;
00059
00063 private Class remoteClass;
00064
00068 private Class primaryKeyClass;
00069
00073 private boolean isSession;
00074
00078 private boolean isStatelessSession;
00079
00089 public JMetaData(EJBHome home, Class homeClass, Class remoteClass, boolean isSession, boolean isStatelessSession, Class primaryKeyClass) {
00090 logger.log(Level.FINE, "");
00091 this.home = home;
00092 this.homeClass = homeClass;
00093 this.remoteClass = remoteClass;
00094 this.isSession = isSession;
00095 this.isStatelessSession = isStatelessSession;
00096 this.primaryKeyClass = primaryKeyClass;
00097 }
00098
00099
00100
00101
00102
00106 public EJBHome getEJBHome() {
00107 return home;
00108 }
00109
00113 public Class getHomeInterfaceClass() {
00114 return homeClass;
00115 }
00116
00120 public Class getPrimaryKeyClass() {
00121 if (isSession) {
00122 throw new EJBException("getPrimaryKeyClass() not allowed for session");
00123 }
00124 return primaryKeyClass;
00125 }
00126
00130 public Class getRemoteInterfaceClass() {
00131 return remoteClass;
00132 }
00133
00137 public boolean isSession() {
00138 return isSession;
00139 }
00140
00144 public boolean isStatelessSession() {
00145 return isStatelessSession;
00146 }
00147
00148 }