1 19 20 package org.netbeans.modules.web.jsf.editor.jspel; 21 22 import java.util.List ; 23 import org.netbeans.modules.web.api.webmodule.WebModule; 24 import org.netbeans.modules.web.core.syntax.JspSyntaxSupport; 25 import org.netbeans.modules.web.core.syntax.completion.ELExpression; 26 import org.netbeans.modules.web.jsf.api.facesmodel.ManagedBean; 27 28 32 public class JSFELExpression extends ELExpression{ 33 34 public static final int EL_JSF_BEAN = 100; 35 36 private WebModule wm; 37 38 public JSFELExpression(WebModule wm, JspSyntaxSupport sup){ 39 super(sup); 40 this.wm = wm; 41 } 42 43 protected int findContext(String expr){ 44 int dotIndex = expr.indexOf('.'); 45 int value = EL_UNKNOWN; 46 47 if (dotIndex > -1){ 48 String first = expr.substring(0, dotIndex); 49 List <ManagedBean>beans = JSFBeanCache.getBeans(wm); 50 51 for (int i = 0; i < beans.size(); i++) 52 if (beans.get(i).getManagedBeanName().equals(first)){ 53 value = EL_JSF_BEAN; 54 continue; 55 } 56 } else if (dotIndex == -1) 57 value = EL_START; 58 return value; 59 } 60 61 @Override public String getObjectClass(){ 62 String beanName = extractBeanName(); 63 64 List <ManagedBean>beans = JSFBeanCache.getBeans(wm); 65 66 for (ManagedBean bean : beans){ 67 if (beanName.equals(bean.getManagedBeanName())){ 68 return bean.getManagedBeanClass(); 69 } 70 } 71 72 return null; 73 } 74 } 75 | Popular Tags |