1 4 package org.terracotta.dso.editors.tree; 5 6 import org.eclipse.jdt.core.IField; 7 import org.eclipse.jdt.core.IType; 8 import org.eclipse.jdt.core.JavaModelException; 9 import org.eclipse.jdt.core.Signature; 10 11 import org.terracotta.dso.PatternHelper; 12 13 19 20 public class FieldNode extends JavaProjectNode { 21 private IField m_field; 22 private String m_moniker; 23 private String m_fullName; 24 25 public FieldNode(IField field) { 26 super(field); 27 28 IType parentType = field.getDeclaringType(); 29 String name = field.getElementName(); 30 String type = getTypeSignature(field); 31 32 m_field = field; 33 m_moniker = type != null ? name +" : "+type : name; 34 m_fullName = PatternHelper.getFullyQualifiedName(parentType)+"."+name; 35 } 36 37 private static String getTypeSignature(IField field) { 38 try { 39 String result = field.getTypeSignature(); 40 return Signature.getSimpleName(Signature.toString(result)); 41 } catch(JavaModelException jme) { 42 return null; 43 } 44 } 45 46 public IField getField() { 47 return m_field; 48 } 49 50 public String toString() { 51 return m_moniker; 52 } 53 54 public String getSignature() { 55 return getFullyQualifiedName(); 56 } 57 58 public String [] getFields() { 59 return new String [] {getFullyQualifiedName()}; 60 } 61 62 public String getFullyQualifiedName() { 63 return m_fullName; 64 } 65 } 66 | Popular Tags |