00001 00026 package org.objectweb.jonas_ws.deployment.api; 00027 00028 import org.objectweb.jonas_ejb.deployment.api.SessionStatelessDesc; 00029 00030 import org.objectweb.jonas_ws.deployment.xml.JonasPortComponent; 00031 import org.objectweb.jonas_ws.deployment.xml.PortComponent; 00032 00037 public class SSBPortComponentDesc extends PortComponentDesc { 00038 00040 private SessionStatelessDesc ssDesc = null; 00041 00051 SSBPortComponentDesc(ClassLoader cl, PortComponent pc, JonasPortComponent jpc, ServiceDesc parent) throws WSDeploymentDescException { 00052 00053 super(cl, pc, jpc, parent); 00054 00055 // set ServiceImplBean link from ejb-link element 00056 setSibLink(pc.getServiceImplBean().getEjbLink()); 00057 } 00058 00063 public boolean hasBeanImpl() { 00064 return true; 00065 } 00066 00071 public boolean hasJaxRpcImpl() { 00072 return false; 00073 } 00074 00081 public SessionStatelessDesc getSessionStatelessDesc() { 00082 return ssDesc; 00083 } 00084 00089 public void setSessionStatelessDesc(SessionStatelessDesc bean) { 00090 ssDesc = bean; 00091 setSib(bean.getEjbClass().getName()); 00092 } 00093 00099 public void setDesc(Object desc) throws WSDeploymentDescException { 00100 if (desc instanceof SessionStatelessDesc) { 00101 setSessionStatelessDesc((SessionStatelessDesc) desc); 00102 } else { 00103 throw new IllegalStateException(getI18n().getMessage( 00104 "SSBPortComponentDesc.illegalState", SessionStatelessDesc.class.getName())); //$NON-NLS-1$ 00105 } 00106 } 00107 00111 public String toString() { 00112 StringBuffer sb = new StringBuffer(); 00113 00114 sb.append(super.toString()); 00115 sb.append("\ngetSessionStatelessDesc().displayName=" + getSessionStatelessDesc()); 00116 00117 return sb.toString(); 00118 } 00119 }