====== Groovy makra v Openu - přílohy ====== ===== O0StringUtil ===== **import cz.ortex.util.o0.O0StringUtil;** Třída pro práci s řetězci. * Odstraní mezery z prava. Pokud neobsahuje mezery v pravo, vrací tu samou * instanci, jako byla předána. * **public static String rtrim(String string);** * Odstraní desetinne nuly z prava. Pokud neobsahuje desetinne nuly v pravo, * vrací tu samou instanci, jako byla předána. **public static String rtrimDesNuly(String string);** * Odstraní mezery zprava. Výsledek nikdy není null, pro * null se vrátí prázdný řetězec (empty). **public static String rtrimToEmpty(String string);** * Odstraní mezery z leva. Pokud neobsahuje mezery vlevo, vrací tu samou * instanci, jako byla předána. **public static String ltrim(String string);** * Odstraní znaky zleva. Pokud neobsahuje znaky vlevo, vrací tu samou * instanci, jako byla předána. **public static String lTrimByChar(String string, Character character);** * Substring s ošetřením java.lang.StringIndexOutOfBoundsException: String * index out of range **public static String substring(String string, int beginIndex, int endIndex);** * Substring s ošetřením java.lang.StringIndexOutOfBoundsException: String * index out of range **public static String substring(String string, int beginIndex);** * Vrátí řetězec zarovnaný na zadaný počet znaků. Prázdný nebo * null řetězec nedoplňuje. **public static String align(String string, int length);** * Vrátí řetězec zarovnaný na zadaný počet znaků. Prázdný nebo * null řetězec se také doplňuje na zadanou délku. **public static String align2(String string, int length);** * Otestuje, zda je řetězec prázdný či pouze mezerový. Hodnota * null se považuje taky za prázdný řetězec. **public static boolean isBlank(String string);** * Otestuje, zda není řetězec prázdný nebo pouze mezerový. Hodnota * null se považuje taky za prázdný řetězec. **public static boolean notBlank(String string);** * Otestuje, zda je character prázdný či pouze mezerový. Hodnota * null se považuje taky za prázdný řetězec. **public static boolean isBlankChar(Character character);** * Určí, zda podaná obecná hodnota je prázdná. Určeno pro jednodušší * testovaní hodnoty na null, prázdný či mezerový řetězec, * hodnotu 0 apod. **public static boolean isBlankObject(Object value);** * Složí 2 řetezce s mezerou či jiným oddělovačem. Je ošetřeno, že pokud je * nějaký řetezec prázdný, tak se nepřidává zbytečný oddělovač. Na oba * řetezce se použije {@link #rtrimToEmpty()}, aby šlo jednoduše skládat * příjmení + jméno apod. **public static String slozit(String str1, String str2, String mezera);** * Složí 2 řetezce s mezerou jako oddělovačem. Je ošetřeno, že pokud je * nějaký řetezec prázdný, tak se nepřidává zbytečná mezera. Na oba řetezce * se použije {@link #rtrimToEmpty()}, aby šlo jednoduše skládat příjmení + * jméno apod. **public static String slozitSMezerou(String str1, String str2);** * Složí několik řetezců se zvoleným oddělovačem. Vstupní řetězce se nijak * neupravují (např. trim). **public static String join(String[] strings, String separator);** * Rozkóduje retězec obsahující nějaké parametry a vrátí seznam těchto * parametrů jako Map, ve kterém pak lze jednoduše hledat hodnoty. **public static Map< Strin, String> splitParams(String str);** * Rozkóduje retězec obsahující nějaké parametry a doplní seznam těchto * parametrů do podaného Map. **public static void splitParamsDoplnit(String str, Map< String, String> parMap);** * Doplní nuly na požadovaný počet číslic. Pokud má číslo více číslic než * požadovaný počet, tak ho nijak neupravuje. Pro velký počet digits * (desítky) je mnohem efektivnější metoda doplnit(java.lang.String, java.lang.String, int, boolean) * }, pro malý počet digits je doplnitNuly výrazně lepší. **public static String doplnitNuly(long number, int digits);** * Doplní před nebo za original pocetOpakovani krát coDoplnit. **public static String doplnit(String original, String coDoplnit, int pocetOpakovani, boolean pred);** * Metoda pro replikaci řetězce. **public static String replicate(String string, int pocetOpakovani);** * funkce odescapuje znaky v řetězci. Zatím ,+ **public static String escapeChars(String str);** * Doplní zleva mezery do počtu N **public static String padLeft(String s, int n);** * Roztrhá řetězec na seznam řetězců s maximální délkou length **public static List< String> split(String text, int length);** * Metoda vrátí počet řetězců find v řezězci string **public static int countOccurrences(String find, String string);** * Vrátí stejný String, jen jeho první písmeno zmenší. **public static String prvniMale(String string);** * Vrátí stejný String, jen jeho první písmeno zvětší. **public static String prvniVelke(String string);** * Upraví string pro použití v xml. **public static String encodeForXML(String aText);** * Dekóduje string upravený pro použití v xml **public static String decodeForXML(String encodedStr);** * Z řetězce odstraní diakritiku (háčky a čárky). **public static String stripAccents(final String input);** * Porovná hodnoty dvou objektů. **public static boolean equals(Object obj1, Object obj2);** * Porovná hodnoty dvou objektů. **public static boolean equalsRtrim(Object obj1, Object obj2);** * Testuje string zda je v něm uložené číslo **public static boolean isNumeric(String str);** * Převede string na BigDecimal pokud je v něm uložené číslo **public static BigDecimal stringToBigDecimal(String str);** * Rozseká řetězec na jednotlivé znaky * Oproti .split("") nepřidává na začátek mezeru **public static String[] split(String str);** * Vrací objekt jako String (provádí Object.toString() a rtrim), pokud je objekt * null vrací prázdný řetězec. **public static String asString(Object o);** * Pokud je str null fce vrací newValueIfNull jinak vrací str **public static String coalesce(String str, String newValueIfNull);** * Odstraní mezery z prava včetně tabulátoru. Pokud neobsahuje mezery v * pravo nebo nekončí tabulátorem, vrací tu samou instanci, * jako byla předána. **public static String rtrimTab(String string);** * Zaokrouhlí HALF_UP BigDecimal hodnotu na počet desetin, * převede na řetězec do formátu s oddělovači tisíců a * doplní číslo ze předu na požadovaný počet znaků mezerami **public static String bigDecimalToString(BigDecimal hodnota, int pocetDesetin, int pocetZnaku);**