/******************************************************************************* * Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc. * Distributed under license by Red Hat, Inc. All rights reserved. * This program is made available under the terms of the * Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Exadel, Inc. and Red Hat, Inc. - initial API and implementation ******************************************************************************/ package org.jboss.tools.jsf.model.helpers.bean; import org.eclipse.jdt.core.*; import org.jboss.tools.common.model.*; public class ManagedBeanHelper { public static IType getType(XModelObject bean) { if(bean == null) return null; String typename = bean.getAttributeValue("managed-bean-class"); //$NON-NLS-1$ if(typename == null || typename.length() == 0) return null; IJavaProject jp = BeanHelper.getJavaProject(bean); try { return jp == null ? null : jp.findType(typename); } catch (JavaModelException e) { //ignore return null; } } public static IMember getMember(XModelObject property) { if(property == null) return null; String propertyName = property.getAttributeValue("property-name"); //$NON-NLS-1$ if(propertyName == null || propertyName.length() == 0) return null; IType type = getType(property.getParent()); if(type == null) return null; IField f = type.getField(propertyName); if(f != null && f.exists()) return f; String getter = "get" + propertyName.substring(0, 1).toUpperCase() + propertyName.substring(1); //$NON-NLS-1$ IMethod m = type.getMethod(getter, new String[0]); if(m != null && m.exists()) return m; return null; } }