10 Commits
Author SHA1 Message Date
Timi 8c55f00a9b v0.0.12
CI/CD / build-deploy (pull_request) Successful in 12s
2026-09-28 21:13:41 +08:00
Timi ccf3c385ba add Multilingual and Value 2026-09-28 21:13:15 +08:00
Timi 8c7f5d6148 v0.0.11
CI/CD / build-deploy (pull_request) Successful in 11s
2026-09-02 01:44:01 +08:00
Timi 248d3965f4 v0.0.10 2026-09-02 01:42:05 +08:00
Timi 5e9c7ec424 v0.0.9
CI/CD / build-deploy (pull_request) Successful in 11s
2026-09-02 01:39:19 +08:00
Timi 3669d69c47 v0.0.8
CI/CD / build-deploy (pull_request) Failing after 12s
2026-09-01 12:26:35 +08:00
Timi 02a13377bc v0.0.7
CI/CD / build-deploy (pull_request) Successful in 14s
2026-08-11 23:53:52 +08:00
Timi 8e1a1a1673 fix defaultIfNull 2026-08-07 17:59:30 +08:00
Timi 99fb2f62f2 add allEmpty 2026-08-05 23:07:28 +08:00
Timi e2bba01daf upper offset/limit from timi-spring 2026-08-05 23:07:16 +08:00
5 changed files with 82 additions and 2 deletions
+1 -1
View File
@@ -6,7 +6,7 @@
<groupId>com.imyeyu.java</groupId> <groupId>com.imyeyu.java</groupId>
<artifactId>timi-java</artifactId> <artifactId>timi-java</artifactId>
<version>0.0.6</version> <version>0.0.12</version>
<packaging>jar</packaging> <packaging>jar</packaging>
<properties> <properties>
+17 -1
View File
@@ -2,8 +2,10 @@ package com.imyeyu.java;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.io.StringWriter; import java.io.StringWriter;
import java.util.Arrays;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
@@ -81,6 +83,15 @@ public interface TimiJava {
return false; return false;
} }
static boolean allEmpty(Object... objects) {
for (Object object : objects) {
if (isNotEmpty(object)) {
return false;
}
}
return true;
}
static boolean allNotEmpty(Object... objects) { static boolean allNotEmpty(Object... objects) {
for (Object object : objects) { for (Object object : objects) {
if (isEmpty(object)) { if (isEmpty(object)) {
@@ -105,7 +116,7 @@ public interface TimiJava {
* @param <T> 对象类型 * @param <T> 对象类型
*/ */
static <T> T defaultIfNull(T obj, T defaultObj) { static <T> T defaultIfNull(T obj, T defaultObj) {
return Objects.requireNonNullElse(obj, defaultObj); return obj != null ? obj : defaultObj;
} }
/** /**
@@ -180,4 +191,9 @@ public interface TimiJava {
static <T> Iterable<T> safeIterable(Iterable<T> iterable) { static <T> Iterable<T> safeIterable(Iterable<T> iterable) {
return defaultIfNull(iterable, Collections::emptyIterator); return defaultIfNull(iterable, Collections::emptyIterator);
} }
@SafeVarargs
static <T> List<T> ofList(T... objs) {
return objs == null ? List.of() : Arrays.stream(objs).filter(Objects::nonNull).toList();
}
} }
@@ -30,4 +30,22 @@ public class BasePage {
public void next() { public void next() {
index++; index++;
} }
/**
* 获取偏移量
*
* @return 偏移量
*/
public long getOffset() {
return (long) index * size;
}
/**
* 获取限制数量
*
* @return 限制数量
*/
public long getLimit() {
return size;
}
} }
@@ -0,0 +1,21 @@
package com.imyeyu.java.bean;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 多语言数据契约
*
* @author 夜雨
* @since 2026-09-18 13:35
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class Multilingual extends Language implements MultilingualValue {
/** 唯一标识 */
private String id;
/** 业务类型 */
private String bizType;
}
@@ -0,0 +1,25 @@
package com.imyeyu.java.bean;
/**
* 多语言值对象
*
* @author 夜雨
* @since 2026-09-18 13:35
*/
public interface MultilingualValue {
/**
* 获取唯一标识
*
* @return 唯一标识
*/
String getId();
/**
* 获取指定语言值
*
* @param language 指定语言
* @return 语言值
*/
String getValue(Language.Enum language);
}