/** * This util method is used to retrieve the string tokens resides in a particular udt parameter. * * @param param Name of the parameter * @return */ public static Queue<String> getTokens(String param) { boolean isString = false; Queue<String> tokens = new LinkedBlockingQueue<String>(); char[] chars = param.toCharArray(); StringBuilder columnName = new StringBuilder(); for (int i = 0; i < chars.length; i++) { Character c = chars[i]; if (!".".equals(c.toString()) && !"[".equals(c.toString()) && !"]".equals(c.toString())) { isString = true; columnName.append(c.toString()); if (i == chars.length - 1) { tokens.add(columnName.toString()); } } else { if (isString) { tokens.add(columnName.toString()); columnName = new StringBuilder(); isString = false; } tokens.add(c.toString()); } } return tokens; }