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 Type
    Method
    Description
    Creates a new serializer instance.
    default int
    Returns the priority of this provider.
    default boolean
    Returns 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