Class DesensitizeSerializer

java.lang.Object
com.fasterxml.jackson.databind.JsonSerializer<String>
com.fasterxml.jackson.databind.ser.std.StdSerializer<String>
cloud.opencode.base.string.desensitize.jackson.DesensitizeSerializer
All Implemented Interfaces:
com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitable, com.fasterxml.jackson.databind.jsonschema.SchemaAware, Serializable

public class DesensitizeSerializer extends com.fasterxml.jackson.databind.ser.std.StdSerializer<String>
Desensitize Serializer - Jackson serializer for automatic field desensitization. 脱敏序列化器 - 用于自动字段脱敏的Jackson序列化器。

Features | 主要功能:

  • Annotation-aware serialization - 注解感知序列化
  • Automatic masking based on Desensitize annotation - 基于注解自动脱敏

Usage Examples | 使用示例:

// Automatically used when DesensitizeModule is registered
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new DesensitizeModule());
String json = mapper.writeValueAsString(userVO); // masked fields in JSON

Security | 安全性:

  • Thread-safe: Yes (stateless serializer) - 线程安全: 是(无状态序列化器)

Performance | 性能特性:

  • Time complexity: O(n) per serialization where n is the string length - 时间复杂度: 每次序列化 O(n),n为字符串长度
  • Space complexity: O(1) - 空间复杂度: O(1)
Since:
JDK 25, opencode-base-string V1.0.0
Author:
Leon Soo www.LeonSoo.com
See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.JsonSerializer

    com.fasterxml.jackson.databind.JsonSerializer.None
  • Field Summary

    Fields inherited from class com.fasterxml.jackson.databind.ser.std.StdSerializer

    _handledType
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    serialize(String value, com.fasterxml.jackson.core.JsonGenerator gen, com.fasterxml.jackson.databind.SerializerProvider provider)
     

    Methods inherited from class com.fasterxml.jackson.databind.ser.std.StdSerializer

    _neitherNull, _nonEmpty, acceptJsonFormatVisitor, createSchemaNode, createSchemaNode, findAnnotatedContentSerializer, findContextualConvertingSerializer, findConvertingContentSerializer, findFormatFeature, findFormatOverrides, findIncludeOverrides, findPropertyFilter, getSchema, getSchema, handledType, isDefaultSerializer, visitArrayFormat, visitArrayFormat, visitFloatFormat, visitIntFormat, visitIntFormat, visitStringFormat, visitStringFormat, wrapAndThrow, wrapAndThrow

    Methods inherited from class com.fasterxml.jackson.databind.JsonSerializer

    getDelegatee, isEmpty, isEmpty, isUnwrappingSerializer, properties, replaceDelegatee, serializeWithType, unwrappingSerializer, usesObjectId, withFilterId, withIgnoredProperties

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • DesensitizeSerializer

      public DesensitizeSerializer()
  • Method Details

    • serialize

      public void serialize(String value, com.fasterxml.jackson.core.JsonGenerator gen, com.fasterxml.jackson.databind.SerializerProvider provider) throws IOException
      Specified by:
      serialize in class com.fasterxml.jackson.databind.ser.std.StdSerializer<String>
      Throws:
      IOException