This repository has been archived on 2025-12-25. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
tcommon-studio-se/main/plugins/org.talend.librariesmanager/resources/java/routines/system/DocumentGenerateOrderHelper.java

50 lines
1.5 KiB
Java

package routines.system;
/**
* the class for advanced xml components,and it control the generate order of group or loop xml element.
* @author Administrator
*
*/
public class DocumentGenerateOrderHelper {
/*
* store the order status for XML UI tree
* the array size mean the count of all group and loop elements in the UI tree.
* the array index mean a group or loop element in the UI tree.
* the array value mean the insert location of the current group or loop element in the UI tree.
*/
private int[] orders = null;
private int currentIndex = 0;
public DocumentGenerateOrderHelper(int size) {
orders = new int[size];
}
private void updateLocationStatus(int index,int value) {
currentIndex = index;
//set the current node order
if(orders[currentIndex] == 0) {
orders[currentIndex] = value;
}
//remove the order status of the child of the current node
if(currentIndex + 1 < orders.length) {
orders[currentIndex + 1] = 0;
}
}
public int getInsertLocation(int index,int value) {
updateLocationStatus(index,value);
//append for the same node
return orders[currentIndex]++;
}
public static void main(String[] args) {
DocumentGenerateOrderHelper a = new DocumentGenerateOrderHelper(2);
//the parameters come from UI information.
System.out.println(a.getInsertLocation(0, 2));
System.out.println(a.getInsertLocation(0, 2));
System.out.println(a.getInsertLocation(0, 2));
}
}