
com.xlrit.gears.engine.form.TraitInfo Maven / Gradle / Ivy
package com.xlrit.gears.engine.form;
import com.xlrit.gears.base.meta.Trait;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.node.ArrayNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
import lombok.Data;
@Data
public class TraitInfo {
private final String name;
private final String[] params;
public JsonNode render(RenderContext ctx) {
ObjectNode result = ctx.createObjectNode();
result.put("name", name);
if (params != null && params.length > 0) {
ArrayNode paramsNode = ctx.createArrayNode();
for (String param : params) paramsNode.add(param);
result.set("params", paramsNode);
}
return result;
}
public static TraitInfo from(Trait trait) {
return new TraitInfo(trait.value(), trait.params());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy