@Override public Object getProperty(Object object, QName name) throws Exception { if ("aliases".equalsIgnoreCase(name.getLocalPart())) { List aliases = ((QueryType) object).getAliases(); if (aliases.size() == 0) return null; StringBuffer ret = new StringBuffer(); for (Object o : aliases) { String alias = (String) o; if (ret.length() > 0) ret.append(","); ret.append(alias); } return ret.toString(); } else if ("typeNames".equalsIgnoreCase(name.getLocalPart())) { StringBuilder s = new StringBuilder(); for (Object typeName : ((QueryType) object).getTypeNames()) { if (typeName instanceof Collection) { typeName = ((Collection) typeName).iterator().next(); } s.append(Converters.convert(typeName, String.class)); s.append(","); } s.setLength(s.length() - 1); return s.toString(); } else if (("AbstractProjectionClause").equalsIgnoreCase(name.getLocalPart())) { return null; } return super.getProperty(object, name); }