Browse Source

writeClassname

zhouhao 7 years ago
parent
commit
7d26f804fb

+ 3 - 1
hsweb-core/src/main/java/org/hswebframework/web/bean/DefaultToStringOperator.java

@@ -333,7 +333,9 @@ public class DefaultToStringOperator<T> implements ToStringOperator<T> {
         if (ToString.Feature.hasFeature(features, ToString.Feature.jsonFormat)) {
             return JSON.toJSONString(mapValue);
         }
-        StringJoiner joiner = new StringJoiner(", ", target.getClass().getSimpleName() + "(", ")");
+        boolean writeClassName = ToString.Feature.hasFeature(features, ToString.Feature.writeClassname);
+
+        StringJoiner joiner = new StringJoiner(", ", (writeClassName ? target.getClass().getSimpleName() : "") + "(", ")");
 
         mapValue.forEach((key, value) -> joiner.add(key.concat("=").concat(String.valueOf(value))));
 

+ 8 - 1
hsweb-core/src/main/java/org/hswebframework/web/bean/ToString.java

@@ -95,7 +95,14 @@ public class ToString {
          *
          * @since 3.0.0-RC
          */
-        jsonFormat;
+        jsonFormat,
+
+        /**
+         * 是否写出类名
+         *
+         * @since 3.0.0-RC
+         */
+        writeClassname;
 
 
         public long getMask() {

+ 8 - 6
hsweb-core/src/test/java/org/hswebframework/web/bean/NestObject.java

@@ -12,21 +12,23 @@ import lombok.*;
 @NoArgsConstructor
 @AllArgsConstructor
 public class NestObject implements Cloneable {
+
+    @Override
+    public String toString() {
+        return ToString.toString(this);
+    }
+
     private String name;
 
     private int age;
 
-
     @ToString.Ignore
-    private String password ;
+    private String password;
+
 
     @Override
     public NestObject clone() throws CloneNotSupportedException {
         return (NestObject) super.clone();
     }
 
-    @Override
-    public String toString() {
-        return ToString.toString(this);
-    }
 }