diff --git a/src/main/java/org/redkale/annotation/Bean.java b/src/main/java/org/redkale/annotation/Serial.java similarity index 84% rename from src/main/java/org/redkale/annotation/Bean.java rename to src/main/java/org/redkale/annotation/Serial.java index c770d7119..d6afd56bc 100644 --- a/src/main/java/org/redkale/annotation/Bean.java +++ b/src/main/java/org/redkale/annotation/Serial.java @@ -5,13 +5,12 @@ */ package org.redkale.annotation; +import java.lang.annotation.*; import static java.lang.annotation.ElementType.TYPE; import static java.lang.annotation.RetentionPolicy.RUNTIME; -import java.lang.annotation.*; - /** - * 标记参数bean + * 用于预编译时执行Convert.convertFrom方法 * * @since 2.5.0 */ @@ -19,4 +18,4 @@ import java.lang.annotation.*; @Documented @Target(TYPE) @Retention(RUNTIME) -public @interface Bean {} +public @interface Serial {} diff --git a/src/main/java/org/redkale/boot/PrepareCompiler.java b/src/main/java/org/redkale/boot/PrepareCompiler.java index 4b2ad4e0a..9cea5c0f0 100644 --- a/src/main/java/org/redkale/boot/PrepareCompiler.java +++ b/src/main/java/org/redkale/boot/PrepareCompiler.java @@ -6,7 +6,6 @@ package org.redkale.boot; import java.util.List; -import org.redkale.annotation.Bean; import org.redkale.boot.ClassFilter.FilterEntry; import org.redkale.convert.Decodeable; import org.redkale.convert.bson.BsonFactory; @@ -14,6 +13,7 @@ import org.redkale.convert.json.*; import org.redkale.persistence.Entity; import org.redkale.source.*; import org.redkale.util.Utility; +import org.redkale.annotation.Serial; /** * 执行一次Application.run提前获取所有动态类 @@ -42,12 +42,12 @@ public class PrepareCompiler { final ClassFilter entityFilter = new ClassFilter(application.getClassLoader(), Entity.class, Object.class); final ClassFilter entityFilter2 = new ClassFilter(application.getClassLoader(), javax.persistence.Entity.class, Object.class); - final ClassFilter beanFilter = new ClassFilter(application.getClassLoader(), Bean.class, Object.class); - final ClassFilter beanFilter2 = + final ClassFilter serialFilter = new ClassFilter(application.getClassLoader(), Serial.class, Object.class); + final ClassFilter serialFilter2 = new ClassFilter(application.getClassLoader(), org.redkale.util.Bean.class, Object.class); final ClassFilter filterFilter = new ClassFilter(application.getClassLoader(), null, FilterBean.class); - application.loadClassByFilters(entityFilter, beanFilter, filterFilter); + application.loadClassByFilters(entityFilter, serialFilter, filterFilter); for (FilterEntry en : entityFilter.getFilterEntrys()) { Class clz = en.getType(); @@ -91,7 +91,7 @@ public class PrepareCompiler { } catch (Exception e) { // JsonFactory.loadDecoder可能会失败,因为class可能包含抽象类字段,如ColumnValue.value字段 } } - for (FilterEntry en : beanFilter.getFilterEntrys()) { + for (FilterEntry en : serialFilter.getFilterEntrys()) { Class clz = en.getType(); if (Utility.isAbstractOrInterface(clz)) { continue; @@ -109,7 +109,7 @@ public class PrepareCompiler { } catch (Exception e) { // JsonFactory.loadDecoder可能会失败,因为class可能包含抽象类字段,如ColumnValue.value字段 } } - for (FilterEntry en : beanFilter2.getFilterEntrys()) { + for (FilterEntry en : serialFilter2.getFilterEntrys()) { Class clz = en.getType(); if (Utility.isAbstractOrInterface(clz)) { continue; diff --git a/src/main/java/org/redkale/source/FilterBean.java b/src/main/java/org/redkale/source/FilterBean.java index 27d28bcd8..9b4e49a40 100644 --- a/src/main/java/org/redkale/source/FilterBean.java +++ b/src/main/java/org/redkale/source/FilterBean.java @@ -5,7 +5,7 @@ */ package org.redkale.source; -import org.redkale.annotation.Bean; +import org.redkale.annotation.Serial; /** * FilterBean用于过滤条件, 所有的FilterBean都必须可以转换成FilterNode
@@ -18,5 +18,5 @@ import org.redkale.annotation.Bean; * @see org.redkale.source.FilterGroup * @author zhangjx */ -@Bean +@Serial public interface FilterBean {} diff --git a/src/main/java/org/redkale/source/PageBean.java b/src/main/java/org/redkale/source/PageBean.java index 97cf93a38..d6da61763 100644 --- a/src/main/java/org/redkale/source/PageBean.java +++ b/src/main/java/org/redkale/source/PageBean.java @@ -5,9 +5,9 @@ */ package org.redkale.source; -import org.redkale.annotation.Bean; import org.redkale.convert.ConvertColumn; import org.redkale.convert.json.JsonConvert; +import org.redkale.annotation.Serial; /** * 翻页对象与过滤条件Bean的组合对象 @@ -18,7 +18,7 @@ import org.redkale.convert.json.JsonConvert; * @param Bean类 * @since 2.7.0 */ -@Bean +@Serial public class PageBean { @ConvertColumn(index = 1) diff --git a/src/main/java/org/redkale/util/Bean.java b/src/main/java/org/redkale/util/Bean.java index f3b6ea69c..969597aec 100644 --- a/src/main/java/org/redkale/util/Bean.java +++ b/src/main/java/org/redkale/util/Bean.java @@ -5,15 +5,14 @@ */ package org.redkale.util; +import java.lang.annotation.*; import static java.lang.annotation.ElementType.TYPE; import static java.lang.annotation.RetentionPolicy.RUNTIME; -import java.lang.annotation.*; - /** - * 标记参数bean + * 标记参数, replace by {@link org.redkale.annotation.Serial} * - * @see org.redkale.annotation.Bean + * @see org.redkale.annotation.Serial * @since 2.5.0 */ @Deprecated(since = "2.8.0") diff --git a/src/main/java/org/redkale/util/Utility.java b/src/main/java/org/redkale/util/Utility.java index 3381aaa35..bb0e112a8 100644 --- a/src/main/java/org/redkale/util/Utility.java +++ b/src/main/java/org/redkale/util/Utility.java @@ -968,6 +968,24 @@ public final class Utility { return true; } + /** + * 字符串是否至少一个为空白 + * + * @param strs 字符串集合 + * @return 是否为空白 + */ + public static boolean isAnyBlank(String... strs) { + if (strs == null || strs.length == 0) { + return false; + } + for (String str : strs) { + if (isBlank(str)) { + return true; + } + } + return false; + } + /** * 是否不为空白 * @@ -1009,6 +1027,24 @@ public final class Utility { return str == null || str.length() == 0; } + /** + * 字符串是否至少一个为空 + * + * @param strs 字符串集合 + * @return 是否为空 + */ + public static boolean isAnyEmpty(CharSequence... strs) { + if (strs == null || strs.length == 0) { + return false; + } + for (CharSequence str : strs) { + if (isEmpty(str)) { + return true; + } + } + return false; + } + /** * 是否不为空 *