package org.xdams.utility;
import java.util.HashMap;
public class SharpIncrementTool {
private HashMap hashMap = new HashMap();
public SharpIncrementTool() {
}
public static String incrementValue(String nameStr, String valueStr, HashMap<String, Integer> map) {
String ilValoreIni = valueStr.substring(0, valueStr.indexOf("[#"));
String ilValoreFin = valueStr.substring(valueStr.indexOf("#]") + 2);
String bloccoValore = valueStr.substring(valueStr.indexOf("[#") + 1, valueStr.indexOf("#]") + 1);
String indexValue = "";
try {
ilValoreFin = valueStr.substring(valueStr.indexOf("]}") + 2);
indexValue = valueStr.substring(valueStr.indexOf("{[") + 2, valueStr.indexOf("]}"));
new Integer(indexValue);
} catch (Exception e) {
// e.printStackTrace();
ilValoreFin = valueStr.substring(valueStr.indexOf("#]") + 2);
indexValue = "1";
}
// System.out.println(indexValue+" "+indexValue.length());
// System.out.println(bloccoValore);
// System.out.println(ilValoreFin);
if (map.get(nameStr) == null) {
map.put(nameStr, new Integer(indexValue));
} else {
map.put(nameStr, new Integer(((Integer) map.get(nameStr)).intValue() + 1));
}
String contatoreMultiplo = String.valueOf(((Integer) map.get(nameStr)).intValue());
while (contatoreMultiplo.length() < bloccoValore.length()) {
contatoreMultiplo = "0" + contatoreMultiplo;
}
return ilValoreIni + contatoreMultiplo + ilValoreFin;
}
public String incrementValue(String nameStr, String valueStr) {
String ilValoreIni = valueStr.substring(0, valueStr.indexOf("[#"));
String ilValoreFin = valueStr.substring(valueStr.indexOf("#]") + 2);
String bloccoValore = valueStr.substring(valueStr.indexOf("[#") + 1, valueStr.indexOf("#]") + 1);
String indexValue = "";
try {
ilValoreFin = valueStr.substring(valueStr.indexOf("]}") + 2);
indexValue = valueStr.substring(valueStr.indexOf("{[") + 2, valueStr.indexOf("]}"));
new Integer(indexValue);
} catch (Exception e) {
// e.printStackTrace();
ilValoreFin = valueStr.substring(valueStr.indexOf("#]") + 2);
indexValue = "1";
}
// System.out.println(indexValue+" "+indexValue.length());
// System.out.println(bloccoValore);
// System.out.println(ilValoreFin);
if (getHashMap().get(nameStr) == null) {
getHashMap().put(nameStr, new Integer(indexValue));
} else {
getHashMap().put(nameStr, new Integer(((Integer) getHashMap().get(nameStr)).intValue() + 1));
}
String contatoreMultiplo = String.valueOf(((Integer) getHashMap().get(nameStr)).intValue());
while (contatoreMultiplo.length() < bloccoValore.length()) {
contatoreMultiplo = "0" + contatoreMultiplo;
}
return ilValoreIni + contatoreMultiplo + ilValoreFin;
}
public static void main(String[] args) {
String ilValore = "simone [####]{[1111]} pasquini [5]";
SharpIncrementTool incrementTool = new SharpIncrementTool();
for (int i = 0; i < 10; i++) {
if ((ilValore.indexOf("[#") != -1) && (ilValore.indexOf("#]") > 0)) {
String aaa = incrementTool.incrementValue("aaa", ilValore);
System.out.println("PRIMO " + aaa);
}
}
}
public HashMap getHashMap() {
return hashMap;
}
public void setHashMap(HashMap hashMap) {
this.hashMap = hashMap;
}
}