====== 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);**