Interface SerializerProvider
- All Known Implementing Classes:
JdkSerializerProvider, JsonSerializerProvider
public interface SerializerProvider
Serializer Provider - SPI interface for serializer discovery
序列化器提供者 - 用于序列化器发现的 SPI 接口
This interface is used by the SPI mechanism to discover and register serializers automatically. Implementations should be registered in META-INF/services/cloud.opencode.base.serialization.spi.SerializerProvider.
此接口用于 SPI 机制自动发现和注册序列化器。 实现类应在 META-INF/services/cloud.opencode.base.serialization.spi.SerializerProvider 中注册。
Features | 主要功能:
- Create serializer instances - 创建序列化器实例
- Priority-based ordering - 基于优先级的排序
- Automatic discovery via ServiceLoader - 通过 ServiceLoader 自动发现
Usage Examples | 使用示例:
public class JsonSerializerProvider implements SerializerProvider {
@Override
public Serializer create() {
return new JsonSerializer();
}
@Override
public int getPriority() {
return 10; // Higher priority (lower number)
}
}
Security | 安全性:
- Thread-safe: Implementation dependent - 线程安全: 取决于实现
- Since:
- JDK 25, opencode-base-serialization V1.0.0
- Author:
- Leon Soo www.LeonSoo.com
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptioncreate()Creates a new serializer instance.default intReturns the priority of this provider.default booleanReturns whether this provider is available.
-
Method Details
-
create
Serializer create()Creates a new serializer instance. 创建新的序列化器实例。- Returns:
- the serializer instance - 序列化器实例
-
getPriority
default int getPriority()Returns the priority of this provider. 返回此提供者的优先级。Lower values indicate higher priority. When multiple providers are available, the one with the lowest priority value becomes the default.
较小的值表示较高的优先级。当有多个提供者可用时, 具有最小优先级值的提供者成为默认值。
- Returns:
- the priority (default is 100) - 优先级(默认为 100)
-
isAvailable
default boolean isAvailable()Returns whether this provider is available. 返回此提供者是否可用。Providers may check for required dependencies and return false if they are not available.
提供者可以检查所需依赖项,如果不可用则返回 false。
- Returns:
- true if available - 如果可用则返回 true
-