All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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