Once you have implemented a node template, an administrator must include the template in a value and relationship graph configuration. The following section provides a node template code sample and instructions for adding it to an existing configuration.
The following is a sample code for a node template:
public class nodeTemplateExample implements NodeTemplateFactory {
private static final int DEFAULT_WIDTH = 275;
public NodeTemplate build() {
NodeTemplate template = new NodeTemplate();
template.setShapeType(ShapeType.ROUNDED_RECTANGLE);
NodePanel rootPanel = new NodePanel();
rootPanel.setWidth(DEFAULT_WIDTH);
NodePanel mainPanel = new NodePanel();
mainPanel.setPanelLayout(PanelLayout.VERTICAL);
mainPanel.setBackgroundColor("#0B2265");
mainPanel.setMargin(MarginType.LEFT, 12);
mainPanel.setMargin(MarginType.TOP, 12);
mainPanel.setMargin(MarginType.BOTTOM, 12);
{
NodePanel imagePanel = new NodePanel();
imagePanel.setAlignment(AlignmentType.MIDDLE_LEFT);
{
NodeImage image = new NodeImage();
image.setBindingSource("/icons/w1.png");
image.setHeight(50);
image.setWidth(50);
imagePanel.addElement(image);
}
NodePanel table = new NodePanel();
{
NodeDataTable dataTable = new NodeDataTable();
dataTable.setAlignment(AlignmentType.CENTER);
dataTable.setNumberOfColumns(2);
dataTable.setColumnsWidth(new int[] { 100, 85 });
dataTable.setRowSeparatorColor("#0B2265");
dataTable.setBorderColor("#0B2265");
dataTable.setBackgroundColor("#A5ACAF");
dataTable.setTextColor("#A71930");
dataTable.addRowData("Name:", "${/name}");
dataTable.addRowData("Department:", "${/departmentID}");
dataTable.addRowData("Managed By:", "${/supervisorID}");
dataTable.setMargin(MarginType.BOTTOM, 10);
dataTable.setMargin(MarginType.LEFT, 10);
dataTable.setMargin(MarginType.RIGHT, 10);
table.addElement(dataTable);
}
NodeExpanderButton expand = new NodeExpanderButton();
expand.setTargetElement(table);
expand.setAlignment(AlignmentType.MIDDLE_LEFT);
expand.setMargin(MarginType.TOP, 5);
expand.setMargin(MarginType.LEFT, 10);
expand.setMargin(MarginType.BOTTOM, 5);
expand.setBackgroundColor("#A71930");
expand.setHeight(12);
expand.setWidth(12);
mainPanel.addElement(imagePanel);
mainPanel.addElement(expand);
mainPanel.addElement(table);
}
NodePanel indicatorPanel = new NodePanel();
{
NodeIndicator indicator = new NodeIndicator();
indicator.setOpacity(1);
indicator.setWidth(40);
indicator.setHeight(40);
indicator.setMargin(MarginType.LEFT, 10);
indicator.setAlignment(AlignmentType.CENTER);
indicatorPanel.addElement(indicator);
}
rootPanel.addElement(mainPanel);
rootPanel.addElement(indicatorPanel);
template.setPanel(rootPanel);
return template;
}
}
The following image shows the result of implementing the above node template:

To include a node template in a graph configuration:
Navigate to Administration > TIBCO EBX® Data Model and Data Visualization Add-on > Value and relationship graphs > Table configuration.
Open the desired table configuration and select the Node Style tab.
In the Node Template field, enter the fully qualified name for the class that implements the template.