36 lines
998 B
Java
36 lines
998 B
Java
package org.telegram.telegrambots.meta;
|
|
|
|
import java.nio.charset.StandardCharsets;
|
|
|
|
public class MemoizedUTF16Substring {
|
|
|
|
private final MemoizedUTF16String parentString;
|
|
private final int offsetUtf16;
|
|
private final int lengthUtf16;
|
|
|
|
private String cache;
|
|
|
|
public MemoizedUTF16Substring(MemoizedUTF16String parentString, int offsetUtf16, int lengthUtf16) {
|
|
this.parentString = parentString;
|
|
this.offsetUtf16 = offsetUtf16;
|
|
this.lengthUtf16 = lengthUtf16;
|
|
}
|
|
|
|
public String getString() {
|
|
if (parentString != null && cache == null) {
|
|
String newString = parentString.substring(offsetUtf16, lengthUtf16);
|
|
if (newString == null) {
|
|
this.cache = "";
|
|
return "";
|
|
} else {
|
|
this.cache = newString;
|
|
return newString;
|
|
}
|
|
} else if (cache != null) {
|
|
return cache;
|
|
} else {
|
|
return "";
|
|
}
|
|
}
|
|
}
|