private String extractValue(Object value) {
if (value == null) return "null";
// 1. Handle References (@beanName)
if (value instanceof BeanReference) {
return "@" + ((BeanReference) value).getBeanName();
}
// 2. Handle Inner Beans (The "Noise" in your enhancerList)
if (value instanceof BeanDefinition) {
String fullClass = ((BeanDefinition) value).getBeanClassName();
if (fullClass != null) {
// Strip the package to keep it clean (e.g., com.citi...EnhanceRFQ -> EnhanceRFQ)
return fullClass.substring(fullClass.lastIndexOf('.') + 1);
}
return "InnerBean";
}
// 3. Handle Typed Strings
if (value instanceof TypedStringValue) {
return ((TypedStringValue) value).getValue();
}
// 4. Handle Lists (Recursive Clean)
if (value instanceof List) {
List<String> cleaned = new ArrayList<>();
for (Object item : (List<?>) value) {
cleaned.add(extractValue(item));
}
// Use <BR/> to stack them vertically inside the box
return String.join("<BR ALIGN=\"LEFT\"/>", cleaned);
}
// 5. Handle Maps (Recursive Clean)
if (value instanceof Map) {
StringBuilder mapStr = new StringBuilder();
for (Map.Entry<?, ?> entry : ((Map<?, ?>) value).entrySet()) {
mapStr.append(extractValue(entry.getKey()))
.append("=")
.append(extractValue(entry.getValue()))
.append("<BR ALIGN=\"LEFT\"/>");
}
return mapStr.toString();
}
// Fallback for primitives (int, double, etc)
return value.toString();
}
For further actions, you may consider blocking this person and/or reporting abuse
Top comments (0)