The GitHub Actions job "Fory CI" on fory.git/main has succeeded.
Run started by GitHub user chaokunyang (triggered by chaokunyang).

Head commit for run:
9ee1bef8f4250cbec289e62e757f9f9ce495301b / Shawn Yang <[email protected]>
refactor: clean java serialize api (#3454)

## Why?

Refactor and simplify the Java-facing API before release: remove
duplicate legacy entry points, unify resolver access, and keep xlang
behavior aligned across runtimes.

## What does this PR do?

- Removes legacy Java serialization APIs from `Fory`/`BaseFory`:
  - `serializeJavaObject` / `deserializeJavaObject`
  - `serializeJavaObjectAndClass` / `deserializeJavaObjectAndClass`
- Keeps the unified API pair: `serialize` + `deserialize` overloads
(including typed overloads).
- Unifies resolver APIs:
  - Removes `getClassResolver` / `getXtypeResolver` from public API.
  - Keeps `getTypeResolver` as the only resolver entry.
  - Removes `ClassChecker` API and standardizes on `TypeChecker`.
- Updates internal and callsite usages (including Scala/Kotlin) to use
`TypeResolver`, casting to `ClassResolver` only where
class-resolver-only APIs are required.
- Refactors `Fory` internals to use a single `TypeResolver` field
instead of separate `classResolver`/`xtypeResolver` fields.
- Cleans up unified read/write paths in `Fory`, including INT64
handling:
- `Types.INT64` uses `LongSerializer.writeInt64` /
`LongSerializer.readInt64`
  - `Types.VARINT64` uses varint methods
  - `Types.TAGGED_INT64` uses tagged int64 methods
- Temporarily disables TypeMeta compression for xlang in
Java/Python/Rust/Go/C++ paths and adds comments explaining that some
runtimes do not yet support TypeMeta decompression.
- Updates docs/examples/tests across modules to remove deleted APIs and
reflect the unified API/resolver model.

## Related issues

N/A

## Does this PR introduce any user-facing change?

Yes. Java public API is simplified by removing legacy
serialization/deserialization entry points and exposing a single
resolver accessor (`getTypeResolver`).

- [x] Does this PR introduce any public API change?
- [ ] Does this PR introduce any binary protocol compatibility change?

## Benchmark

N/A (refactor/API cleanup + compatibility alignment; no
performance-targeted optimization in this PR)

Report URL: https://github.com/apache/fory/actions/runs/22668372339

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to