public String safeSubstr(String value, int startPos, int length, Container container)
throws StreamTransformationException {
/*
* @Author: Nicola Martella | www.nick4name.eu La funzione ritorna la
* sottostringa di value a partire da startPos (in base 0) per la lunghezza
* length. Es1: value: "ABCDEFGHIJ" startPos=6 length=3 ret: "GHI" Se la
* posizione di length a partire da startPos eccede la lunghezza di value, viene
* ritornata la sottostringa a partire da startPos per tutta la lunghezza
* rimanente. Es2: value: "ABCDEFGHIJ" startPos=6 length=10 ret: "GHIJ" Se la
* posizione di startPos e' maggiore della lunghezza di value, viene ritornata
* una stringa vuota. Es3: value: "ABCDEFGHIJ" startPos=11 length=3 ret: "" Se
* value è null, viene ritornata una stringa vuota. Es4: value: null startPos=0
* length=3 ret: "" Se length e/o startPos sono < 0 vengono posti a 0.
*/
if (value == null)
return "";
if (length < 0)
length = 0;
if (startPos < 0)
startPos = 0;
int toPos = startPos + length;
if (toPos > value.length()) {
toPos = value.length();
}
if (startPos > value.length()) {
startPos = value.length();
}
return value.substring(startPos, toPos);
}
Lascia un commento