Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package com.paypal.base;
  
  import java.util.HashMap;
  import java.util.List;
  import java.util.Locale;
  import java.util.Map;
 
 public final class ReflectionUtil {
 	
 	private ReflectionUtil() {}
 
 	public static Map<StringStringdecodeResponseObject(Object responseType,
 			String prefix) {
 		Map<StringStringreturnMap = new HashMap<StringString>();
 		Map<StringObjectrMap = ReflectionUtil.generateMapFromResponse(
 				responseType"");
 		if (rMap != null && rMap.size() > 0) {
 			for (Entry<StringObjectentry : rMap.entrySet()) {
 				returnMap.put(entry.getKey(), entry.toString());
 			}
 		}
 		return returnMap;
 	}
 
 	public static Map<StringObjectgenerateMapFromResponse(
 			Object responseTypeString prefix) {
 
 		if (responseType == null) {
 			return null;
 		}
 
 		Map<StringObjectresponseMap = new HashMap<StringObject>();
 
 		// To check return types
 		Map<StringObjectreturnMap;
 		Object returnObject;
 
 		try {
 			Class klazz = responseType.getClass();
 			Method[] methods = klazz.getMethods();
 			Package packageName;
 			String propertyName;
 			AccessibleObject.setAccessible(methodstrue);
 			for (Method m : methods) {
 				if (m.getName().startsWith("get")
 						&& !m.getName().equalsIgnoreCase("getClass")) {
 					packageName = m.getReturnType().getPackage();
 					try {
 						if (prefix != null && prefix.length() != 0) {
 							propertyName = prefix + "."
 									+ m.getName().substring(4);
 						} else {
 							propertyName = m.getName().substring(3, 4)
 									+ m.getName().substring(4);
 
 						}
 						if (packageName != null) {
 							if (!packageName.getName().contains("com.paypal")) {
 								returnObject = m.invoke(responseTypenull);
 								if (returnObject != null
 										&& List.class.isAssignableFrom(m
 												.getReturnType())) {
 									List listObj = (ListreturnObject;
 									int i = 0;
 									for (Object o : listObj) {
 										if (o.getClass().getPackage().getName()
 												.contains("com.paypal")) {
 											responseMap
 															opropertyName
 																	+ "(" + i
 																	+ ")"));
 										} else {
 											responseMap.put(propertyName + "("
 													+ i + ")"o);
 										}
 										i++;
 									}
 
 								} else if (returnObject != null) {
 									if (responseType.getClass().getSimpleName()
 											.equalsIgnoreCase("ErrorParameter")
 											&& propertyName.endsWith("value")) {
 										propertyName = propertyName.substring(
 												0,
 												propertyName.lastIndexOf('.'));
 									}
 									responseMap.put(propertyNamereturnObject);
 								}
 							} else {
 								returnObject = m.invoke(responseTypenull);
 								if (returnObject != null
 										&& m.getReturnType().isEnum()) {
									responseMap
											.put(propertyName,
													returnObject
																	"getValue",
																	null)
															.invoke(returnObject,
																	null));
else if (returnObject != null) {
											returnObjectpropertyName);
									if (returnMap != null
											&& returnMap.size() > 0) {
										responseMap.putAll(returnMap);
									}
								}
							}
else {
							responseMap.put(propertyName,
									m.invoke(klazz.newInstance(), null));
						}
catch (IllegalAccessException e) {
catch (IllegalArgumentException e) {
catch (InvocationTargetException e) {
catch (InstantiationException e) {
					}
				}
			}
catch (Exception e) {
			return null;
		}
		return responseMap;
	}
New to GrepCode? Check out our FAQ X