1 19 20 package org.netbeans.upgrade.systemoptions; 21 22 import java.util.Iterator ; 23 import java.util.List ; 24 import org.netbeans.upgrade.systemoptions.SerParser.ArrayWrapper; 25 import org.netbeans.upgrade.systemoptions.SerParser.NameValue; 26 import org.netbeans.upgrade.systemoptions.SerParser.ObjectWrapper; 27 28 32 final class Utils { 33 34 35 private Utils() {} 36 37 38 static String valueFromObjectWrapper(final Object value) { 39 String stringvalue = null; 40 if (value instanceof ObjectWrapper) { 41 List l = ((SerParser.ObjectWrapper)value).data; 42 if (l.size() == 1) { 43 Object o = l.get(0); 44 if (o instanceof NameValue) { 45 Object key = null; 46 stringvalue = ((NameValue) o).value.toString(); 47 } 48 } 49 if (stringvalue == null) { 50 stringvalue = ((ObjectWrapper) value).classdesc.name; 51 } 52 } else if (value instanceof String && !"null".equals(value)) { 53 stringvalue = value.toString(); 54 55 } else if (value instanceof SerParser.ArrayWrapper && "[Ljava.lang.String;".equals(((SerParser.ArrayWrapper)value).classdesc.name)) { 56 StringBuffer sb = new StringBuffer (); 57 List es = ((SerParser.ArrayWrapper)value).values; 58 for (Iterator it = es.iterator(); it.hasNext();) { 59 sb.append((String )it.next()); 60 if (it.hasNext()) { 61 sb.append(" , "); 62 } 63 } 64 stringvalue = sb.toString(); 65 } else if (value instanceof SerParser.ArrayWrapper && "[[Ljava.lang.String;".equals(((SerParser.ArrayWrapper)value).classdesc.name)) { 66 StringBuffer sb = new StringBuffer (); 67 List awl = ((SerParser.ArrayWrapper)value).values; 68 for (Iterator it = awl.iterator(); it.hasNext();) { 69 SerParser.ArrayWrapper aw = (SerParser.ArrayWrapper)it.next(); 70 sb.append(valueFromObjectWrapper(aw)); 71 if (it.hasNext()) { 72 sb.append(" | "); 73 } 74 } 75 stringvalue = sb.toString(); 76 } else { 77 stringvalue = "unknown"; } 79 return stringvalue; 80 } 81 82 static String getClassNameFromObject(final Object value) { 83 String clsName = null; 84 if (value instanceof ObjectWrapper) { 85 clsName = prettify(((ObjectWrapper) value).classdesc.name); 86 } else if (value instanceof ArrayWrapper) { 87 clsName = prettify(((ArrayWrapper) value).classdesc.name); 88 } else { 89 clsName = prettify(value.getClass().getName()); 90 } 91 return clsName; 92 } 93 94 static String prettify(String type) { 95 if (type.equals("B")) { return "byte"; } else if (type.equals("S")) { return "short"; } else if (type.equals("I")) { return "int"; } else if (type.equals("J")) { return "long"; } else if (type.equals("F")) { return "float"; } else if (type.equals("D")) { return "double"; } else if (type.equals("C")) { return "char"; } else if (type.equals("Z")) { return "boolean"; } else if (type.startsWith("L") && type.endsWith(";")) { String fqn = type.substring(1, type.length() - 1).replace('/', '.').replace('$', '.'); return fqn; 114 } 115 if (!type.startsWith("[")) { 116 if (type.startsWith("L")) { 117 return type.substring(1); 118 } 119 if (type.endsWith(";")) { 120 return type.substring(0,type.length()-1); 121 } 122 } 123 return type; 124 } 125 } 126 | Popular Tags |