in kit/src/main/java/com/oracle/javafx/scenebuilder/kit/editor/panel/css/CssValueConverter.java [403:476]
private static String retrieveValue(String property, Object eventValue) {
if (eventValue instanceof ParsedValue) {
eventValue = convert((ParsedValue<?, ?>) eventValue);
}
if (eventValue == null) {
return "null"; //NOI18N
}
StringBuilder builder = new StringBuilder();
if (eventValue instanceof List) {
List<?> values = (List<?>) eventValue;
int length = values.size();
for (int i = 0; i < length; i++) {
String val = retrieveValue(property, values.get(i));
builder.append(val);
if ((i < length - 1) && val.length() > 0) {
builder.append(", "); //NOI18N
}
}
} else if (eventValue.getClass().isArray()) {
int length = Array.getLength(eventValue);
for (int i = 0; i < length; i++) {
String val = retrieveValue(property, Array.get(eventValue, i));
builder.append(val);
if ((i < length - 1) && val.length() > 0) {
builder.append(", "); //NOI18N
}
}
} else if (eventValue instanceof Background) {
Background background = (Background) eventValue;
if (background.getFills() != null) {
return retrieveValue(property, background.getFills());
} else if (background.getImages() != null) {
return retrieveValue(property, background.getImages());
}
} else if (eventValue instanceof Border) {
Border border = (Border) eventValue;
if (border.getStrokes() != null) {
return retrieveValue(property, border.getStrokes());
} else if (border.getImages() != null) {
return retrieveValue(property, border.getImages());
}
} else if (eventValue instanceof BackgroundFill) {
builder.append(backgroundFillToString(property, (BackgroundFill) eventValue));
} else if (eventValue instanceof CornerRadii) {
builder.append(cornerRadiiToString(property, (CornerRadii) eventValue));
} else if (eventValue instanceof BackgroundImage) {
builder.append(backgroundImageToString(property, (BackgroundImage) eventValue));
} else if (eventValue instanceof BorderStroke) {
builder.append(borderStrokeToString(property, (BorderStroke) eventValue));
} else if (eventValue instanceof BorderImage) {
builder.append(borderImageToString(property, (BorderImage) eventValue));
} else if (eventValue instanceof Font) {
builder.append(fontToString(property, (Font) eventValue));
} else if (eventValue instanceof Paint) {
builder.append(paintToString((Paint) eventValue).toLowerCase(Locale.ROOT));
} else if (eventValue instanceof Insets) {
builder.append(insetsValue((Insets) eventValue));
} else if (eventValue instanceof Effect) {
builder.append(effectValue((Effect) eventValue));
} else {
String str = EditorUtils.valAsStr(eventValue);
if (str == null) {
str = "null"; //NOI18N
} else {
str = str.replaceAll("\n", " ");//NOI18N
// Remove memory address if any
str = str.split("@")[0]; //NOI18N
str = removeDotZeroPxPercent(str);
}
builder.append(str);
}
return builder.toString();
}