From dc3065bfaa0ddb39a72da9eab6008c4b537baa82 Mon Sep 17 00:00:00 2001 From: MarKco Date: Sun, 3 Jan 2021 19:42:50 +0100 Subject: [PATCH] Convert StringUtils to Kotlin Keep converting utils classes. Class StringUtils is converted from Java to Kotlin. Companion object functions are annotated @JvmStatic in order to make them callable from Java codebase as static methods. --- .../uhabits/core/utils/StringUtils.java | 67 ------------------ .../isoron/uhabits/core/utils/StringUtils.kt | 69 +++++++++++++++++++ 2 files changed, 69 insertions(+), 67 deletions(-) delete mode 100644 android/uhabits-core/src/main/java/org/isoron/uhabits/core/utils/StringUtils.java create mode 100644 android/uhabits-core/src/main/java/org/isoron/uhabits/core/utils/StringUtils.kt diff --git a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/utils/StringUtils.java b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/utils/StringUtils.java deleted file mode 100644 index a31b261ee..000000000 --- a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/utils/StringUtils.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (C) 2017 Álinson Santos Xavier - * - * This file is part of Loop Habit Tracker. - * - * Loop Habit Tracker is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by the - * Free Software Foundation, either version 3 of the License, or (at your - * option) any later version. - * - * Loop Habit Tracker is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see . - */ - -package org.isoron.uhabits.core.utils; - -import org.apache.commons.lang3.builder.*; - -import java.math.*; -import java.util.*; - -public class StringUtils -{ - private static StandardToStringStyle toStringStyle = null; - - public static String getRandomId() - { - return new BigInteger(260, new Random()).toString(32).substring(0, 32); - } - - public static ToStringStyle defaultToStringStyle() - { - if (toStringStyle == null) - { - toStringStyle = new StandardToStringStyle(); - toStringStyle.setFieldSeparator(", "); - toStringStyle.setUseClassName(false); - toStringStyle.setUseIdentityHashCode(false); - toStringStyle.setContentStart("{"); - toStringStyle.setContentEnd("}"); - toStringStyle.setFieldNameValueSeparator(": "); - toStringStyle.setArrayStart("["); - toStringStyle.setArrayEnd("]"); - } - - return toStringStyle; - } - - public static String joinLongs(long values[]) - { - return org.apache.commons.lang3.StringUtils.join(values, ','); - } - - public static long[] splitLongs(String str) - { - String parts[] = org.apache.commons.lang3.StringUtils.split(str, ','); - - long numbers[] = new long[parts.length]; - for (int i = 0; i < parts.length; i++) numbers[i] = Long.valueOf(parts[i]); - return numbers; - } -} diff --git a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/utils/StringUtils.kt b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/utils/StringUtils.kt new file mode 100644 index 000000000..5ad68cad9 --- /dev/null +++ b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/utils/StringUtils.kt @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2017 Álinson Santos Xavier + * + * This file is part of Loop Habit Tracker. + * + * Loop Habit Tracker is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * Loop Habit Tracker is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +package org.isoron.uhabits.core.utils + +import org.apache.commons.lang3.builder.StandardToStringStyle +import org.apache.commons.lang3.builder.ToStringStyle +import java.math.BigInteger +import java.util.Random + +class StringUtils { + + companion object { + private lateinit var toStringStyle: StandardToStringStyle + + @JvmStatic + fun getRandomId(): String { + return BigInteger(260, Random()).toString(32).subSequence(0, 32).toString() + } + + @JvmStatic + fun defaultToStringStyle(): ToStringStyle { + toStringStyle = StandardToStringStyle() + toStringStyle.apply { + fieldSeparator = ", " + isUseClassName = false + isUseIdentityHashCode = false + contentStart = "{" + contentEnd = "}" + fieldNameValueSeparator = ": " + arrayStart = "[" + arrayEnd = "]" + } + + return toStringStyle + } + + @JvmStatic + fun joinLongs(values: LongArray): String { + return org.apache.commons.lang3.StringUtils.join(values, ',') + } + + @JvmStatic + fun splitLongs(str: String): LongArray { + val parts: Array = org.apache.commons.lang3.StringUtils.split(str, ',') + val numbers = LongArray(parts.size) { + i -> + parts[i].toLong() + } + return numbers + } + } +}