diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/util/JDTBeanProperty.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/util/JDTBeanProperty.java | 250 |
1 files changed, 0 insertions, 250 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/util/JDTBeanProperty.java b/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/util/JDTBeanProperty.java deleted file mode 100644 index 3f92f8361..000000000 --- a/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/util/JDTBeanProperty.java +++ /dev/null @@ -1,250 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007 Oracle Corporation. - * All rights reserved. This program and the accompanying materials - * are 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: - * Cameron Bateman/Oracle - initial API and implementation - * - ********************************************************************************/ -package org.eclipse.jst.jsf.common.util; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.jdt.core.IMethod; -import org.eclipse.jdt.core.IType; -import org.eclipse.jdt.core.JavaModelException; -import org.eclipse.jdt.core.Signature; -import org.eclipse.jst.jsf.common.JSFCommonPlugin; - -/** - * Represents a single bean property backed by JDT data - * - * This class may not be sub-classed by clients. - * - * @author cbateman - * - */ -public class JDTBeanProperty -{ - /** - * the IMethod for the accessor (either is or get) - */ - private IMethod _getter; - - /** - * the IMethod for a "set" accessor method - */ - private IMethod _setter; - - /** - * The IType that this property belongs to - */ - protected final IType _type; - - /** - * @param type - */ - protected JDTBeanProperty(IType type) - { - _type = type; - } - - /** - * @return true if this property is readable - */ - public boolean isReadable() - { - return _getter != null; - } - - /** - * @return true if this property is writable - */ - public boolean isWritable() - { - return _setter != null; - } - - - /** - * @return the get accessor IMethod or null if none - */ - public IMethod getGetter() { - return _getter; - } - - - - /** - * Set the get accessor IMethod - * @param getter -- may be null to indicate none - */ - void setGetter(IMethod getter) { - _getter = getter; - } - - - /** - * @return the set mutator IMethod or null if none - */ - public IMethod getSetter() { - return _setter; - } - - /** - * @param setter - */ - void setSetter(IMethod setter) { - _setter = setter; - } - - /** - * @return the IType for this property's type or null if it - * cannot determined. Note that null does not necessarily indicate an error - * since some types like arrays of things do not have corresponding JDT IType's - * If typeSignature represents an array, the base element IType is returned - * if possible - */ - public IType getType() - { - final String typeSignature = Signature.getElementType(getTypeSignature()); - return TypeUtil.resolveType(_type, typeSignature); - } - - /** - * @return the number of array nesting levels in typeSignature. - * Returns 0 if not an array. - */ - public int getArrayCount() - { - return Signature.getArrayCount(getTypeSignature()); - } - - /** - * @return true if property is an enum type, false otherwise or if cannot be resolved - */ - public boolean isEnumType() - { - return TypeUtil.isEnumType(getType()); - } - - /** - * Fully equivalent to: - * - * getTypeSignature(true) - * - * @return the fully resolved (if possible) type signature for - * the property or null if unable to determine. - * - * NOTE: this is the "type erasure" signature, so any type parameters - * will be removed and only the raw type signature will be returned. - */ - public String getTypeSignature() - { - return getTypeSignature(true); - } - - - /** - * @param eraseTypeParameters if true, the returned type has type parameters - * erased. If false, template types are resolved. - * - * @see org.eclipse.jst.jsf.common.util.TypeUtil#resolveTypeSignature(IType, String, boolean) - * for more information on how specific kinds of unresolved generics are resolved - * - * @return the fully resolved (if possible) type signature for - * the property or null if unable to determine. - */ - public String getTypeSignature(boolean eraseTypeParameters) - { - try - { - String unResolvedSig = getUnresolvedType(); - return TypeUtil.resolveTypeSignature(_type, unResolvedSig, eraseTypeParameters); - } - catch (JavaModelException jme) - { - JSFCommonPlugin.log(jme, "Error resolving bean property type signature"); //$NON-NLS-1$ - return null; - } - } - - /** - * For example, if this property was formed from: List<String> getListOfStrings() - * then the list would consist of the signature "Ljava.lang.String;". All - * nested type paramters are resolved - * - * @see org.eclipse.jst.jsf.common.util.TypeUtil#resolveTypeSignature(IType, String, boolean) - * for more information on how specific kinds of unresolved generics are resolved - * - * @return a list of type signatures (fully resolved if possible) - * of this property's bounding type parameters. - */ - public List<String> getTypeParameterSignatures() - { - List<String> signatures = new ArrayList<String>(); - - try - { - final String[] typeParameters = Signature.getTypeArguments(getUnresolvedType()); - //System.err.println(getUnresolvedType()); - for (String parameter : typeParameters) - { - //System.out.println(parameter); - signatures.add(TypeUtil.resolveTypeSignature(_type, parameter, false)); - } - } - catch (JavaModelException jme) - { - JSFCommonPlugin.log(jme, "Error resolving bean property type signature"); //$NON-NLS-1$ - // fall-through and return empty array - } - - return signatures; - } - -// public Map<String, String> getTypeParameterSignatureMap() -// { -// Map<String, String> signatures = new HashMap<String, String>(); -// -// try -// { -// final String[] typeParameters = Signature.getTypeArguments(getUnresolvedType()); -// -// for (String parameter : typeParameters) -// { -// signatures.add(TypeUtil.resolveTypeSignature(_type, parameter, false)); -// } -// } -// catch (JavaModelException jme) -// { -// JSFCommonPlugin.log(jme, "Error resolving bean property type signature"); //$NON-NLS-1$ -// // fall-through and return empty array -// } -// -// return signatures; -// } - - private String getUnresolvedType() throws JavaModelException - { - String typeSig = null; - - // first decide which method to use; getter always gets precendence - if (_getter != null) - { - typeSig = _getter.getReturnType(); - } - // TODO: if no getter or setter could we have been created? - // use setter - else - { - typeSig = _setter.getParameterTypes()[0]; - } - - return typeSig; - } -} |