This is an automated email from the ASF dual-hosted git repository.
chaokunyang pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/fory-site.git
The following commit(s) were added to refs/heads/main by this push:
new 088a44d5d5 🔄 synced local 'docs/guide/' with remote 'docs/guide/'
088a44d5d5 is described below
commit 088a44d5d56065d2dc8fb49a9115435967da4ee0
Author: chaokunyang <[email protected]>
AuthorDate: Wed Mar 4 11:58:51 2026 +0000
🔄 synced local 'docs/guide/' with remote 'docs/guide/'
---
docs/guide/java/basic-serialization.md | 16 +++-------------
docs/guide/java/schema-evolution.md | 4 ++--
docs/guide/java/troubleshooting.md | 34 ++++++++++++----------------------
docs/guide/java/type-registration.md | 12 ++++++------
4 files changed, 23 insertions(+), 43 deletions(-)
diff --git a/docs/guide/java/basic-serialization.md
b/docs/guide/java/basic-serialization.md
index a27f8cd977..caa9c1fd2e 100644
--- a/docs/guide/java/basic-serialization.md
+++ b/docs/guide/java/basic-serialization.md
@@ -106,21 +106,11 @@ Object obj = fory.deserialize(bytes);
### Serialize/Deserialize with Type
```java
-// Serialize with explicit type
-byte[] bytes = fory.serializeJavaObject(object);
+// Serialize object
+byte[] bytes = fory.serialize(object);
// Deserialize with expected type
-MyClass obj = fory.deserializeJavaObject(bytes, MyClass.class);
-```
-
-### Serialize/Deserialize with Type Info
-
-```java
-// Serialize with type information
-byte[] bytes = fory.serializeJavaObjectAndClass(object);
-
-// Deserialize with embedded type info
-Object obj = fory.deserializeJavaObjectAndClass(bytes);
+MyClass obj = fory.deserialize(bytes, MyClass.class);
```
## Best Practices
diff --git a/docs/guide/java/schema-evolution.md
b/docs/guide/java/schema-evolution.md
index f0211cbaf8..8dce5824c9 100644
--- a/docs/guide/java/schema-evolution.md
+++ b/docs/guide/java/schema-evolution.md
@@ -198,8 +198,8 @@ public class DeserializeIntoType {
public static void main(String[] args) {
Struct1 struct1 = new Struct1(10, "abc");
- byte[] data = fory.serializeJavaObject(struct1);
- Struct2 struct2 = (Struct2) fory.deserializeJavaObject(bytes,
Struct2.class);
+ byte[] data = fory.serialize(struct1);
+ Struct2 struct2 = fory.deserialize(data, Struct2.class);
}
}
```
diff --git a/docs/guide/java/troubleshooting.md
b/docs/guide/java/troubleshooting.md
index cdbd1aa581..7d49973cc0 100644
--- a/docs/guide/java/troubleshooting.md
+++ b/docs/guide/java/troubleshooting.md
@@ -45,38 +45,28 @@ Fory fory = Fory.builder()
## Using Wrong API for Deserialization
-Make sure you use the matching API pairs:
+Use `serialize` with one of the `deserialize` overloads:
-| Serialization API | Deserialization API |
-| ---------------------------------- | ------------------------------------ |
-| `Fory#serialize` | `Fory#deserialize` |
-| `Fory#serializeJavaObject` | `Fory#deserializeJavaObject` |
-| `Fory#serializeJavaObjectAndClass` | `Fory#deserializeJavaObjectAndClass` |
+| Serialization API | Deserialization API |
+| ----------------- | ------------------- |
+| `Fory#serialize` | `Fory#deserialize` |
-**Wrong usage examples:**
+**Wrong usage example:**
```java
-// ❌ Wrong: serialize with serialize, deserialize with deserializeJavaObject
-byte[] bytes = fory.serialize(object);
-Object result = fory.deserializeJavaObject(bytes, MyClass.class); // Wrong!
-
-// ❌ Wrong: serialize with serializeJavaObject, deserialize with deserialize
-byte[] bytes = fory.serializeJavaObject(object);
-Object result = fory.deserialize(bytes); // Wrong!
+// ❌ Wrong: deserialize with an incompatible target class
+byte[] bytes = fory.serialize(struct1);
+Struct2 result = fory.deserialize(bytes, Struct2.class); // May throw
ClassCastException
```
**Correct usage:**
```java
-// ✅ Correct: matching API pairs
byte[] bytes = fory.serialize(object);
Object result = fory.deserialize(bytes);
-byte[] bytes = fory.serializeJavaObject(object);
-MyClass result = fory.deserializeJavaObject(bytes, MyClass.class);
-
-byte[] bytes = fory.serializeJavaObjectAndClass(object);
-Object result = fory.deserializeJavaObjectAndClass(bytes);
+byte[] typedBytes = fory.serialize(object);
+MyClass typedResult = fory.deserialize(typedBytes, MyClass.class);
```
## Deserialize POJO into Another Type
@@ -106,8 +96,8 @@ public class DeserializeIntoType {
public static void main(String[] args) {
Struct1 struct1 = new Struct1(10, "abc");
- byte[] data = fory.serializeJavaObject(struct1);
- Struct2 struct2 = (Struct2) fory.deserializeJavaObject(data,
Struct2.class);
+ byte[] data = fory.serialize(struct1);
+ Struct2 struct2 = fory.deserialize(data, Struct2.class);
}
}
```
diff --git a/docs/guide/java/type-registration.md
b/docs/guide/java/type-registration.md
index 4dcefda39e..fdfa61774c 100644
--- a/docs/guide/java/type-registration.md
+++ b/docs/guide/java/type-registration.md
@@ -58,16 +58,16 @@ If there are no duplicate names for types, `namespace` can
be left as empty to r
## Security Configuration
-### Class Checker
+### Type Checker
-If you invoke `ForyBuilder#requireClassRegistration(false)` to disable class
registration check, you can set `org.apache.fory.resolver.ClassChecker` by
`ClassResolver#setClassChecker` to control which classes are allowed for
serialization.
+If you invoke `ForyBuilder#requireClassRegistration(false)` to disable class
registration check, you can set `org.apache.fory.resolver.TypeChecker` by
`TypeResolver#setTypeChecker` to control which classes are allowed for
serialization.
For example, you can allow classes started with `org.example.*`:
```java
Fory fory = xxx;
-fory.getClassResolver().setClassChecker(
- (classResolver, className) -> className.startsWith("org.example."));
+fory.getTypeResolver().setTypeChecker(
+ (typeResolver, className) -> className.startsWith("org.example."));
```
### AllowListChecker
@@ -78,8 +78,8 @@ Fory provides a `org.apache.fory.resolver.AllowListChecker`
which is an allowed/
AllowListChecker checker = new
AllowListChecker(AllowListChecker.CheckLevel.STRICT);
ThreadSafeFory fory = new ThreadLocalFory(classLoader -> {
Fory f =
Fory.builder().requireClassRegistration(true).withClassLoader(classLoader).build();
- f.getClassResolver().setClassChecker(checker);
- checker.addListener(f.getClassResolver());
+ f.getTypeResolver().setTypeChecker(checker);
+ checker.addListener((ClassResolver) f.getTypeResolver());
return f;
});
checker.allowClass("org.example.*");
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]