Class TestDeviceSupplier

java.lang.Object
io.github.lunasaw.gbproxy.test.config.TestDeviceSupplier
All Implemented Interfaces:
ClientDeviceSupplier, DeviceSupplier, ServerDeviceSupplier

@Component @Primary @EnableConfigurationProperties(TestDeviceProperties.class) public class TestDeviceSupplier extends Object implements DeviceSupplier, ClientDeviceSupplier, ServerDeviceSupplier
测试设备提供器实现 专门用于测试环境,提供预配置的设备 设计原则: 1. 业务方通过userId获取设备数据,项目本身不关心设备类型 2. 统一存储Device对象,避免数据覆盖问题 3. 提供转换方法,在使用时根据场景转换为FromDevice或ToDevice 4. 支持动态设备管理和更新
Author:
luna
  • Constructor Details

    • TestDeviceSupplier

      public TestDeviceSupplier()
  • Method Details

    • initializeDevices

      @PostConstruct public void initializeDevices()
    • getDevices

      public List<Device> getDevices()
    • getDevice

      public Device getDevice(String userId)
      Description copied from interface: DeviceSupplier
      根据用户ID获取指定设备 这是设备获取的核心方法,业务方通过userId获取设备数据
      Specified by:
      getDevice in interface DeviceSupplier
      Parameters:
      userId - 用户ID
      Returns:
      设备信息,如果不存在则返回null
    • addOrUpdateDevice

      public void addOrUpdateDevice(Device device)
    • removeDevice

      public void removeDevice(String userId)
    • getDeviceCount

      public int getDeviceCount()
    • getName

      public String getName()
      Description copied from interface: DeviceSupplier
      获取设备提供器的名称标识
      Specified by:
      getName in interface DeviceSupplier
      Returns:
      提供器名称
    • getClientFromDevice

      public FromDevice getClientFromDevice()
      获取客户端From设备 用于客户端主动发送请求的场景
      Specified by:
      getClientFromDevice in interface ClientDeviceSupplier
      Returns:
      客户端发送方设备信息,如果不存在则返回null
    • setClientFromDevice

      public void setClientFromDevice(FromDevice fromDevice)
      Description copied from interface: ClientDeviceSupplier
      设置客户端发送方设备信息 用于配置客户端的发送方设备标识
      Specified by:
      setClientFromDevice in interface ClientDeviceSupplier
      Parameters:
      fromDevice - 客户端发送方设备信息
    • getClientToDevice

      public ToDevice getClientToDevice()
      获取客户端To设备 用于客户端接收响应的场景
    • getServerFromDevice

      public FromDevice getServerFromDevice()
      获取服务端From设备 用于服务端主动发送请求的场景
      Specified by:
      getServerFromDevice in interface ServerDeviceSupplier
      Returns:
      服务端发送方设备信息,如果不存在则返回null
    • setServerFromDevice

      public void setServerFromDevice(FromDevice fromDevice)
      Description copied from interface: ServerDeviceSupplier
      设置服务端发送方设备信息 用于配置服务端的发送方设备标识
      Specified by:
      setServerFromDevice in interface ServerDeviceSupplier
      Parameters:
      fromDevice - 服务端发送方设备信息
    • getServerToDevice

      public ToDevice getServerToDevice()
      获取服务端To设备 用于服务端接收响应的场景
    • createFromDevice

      public FromDevice createFromDevice(Device device)
      根据Device创建FromDevice
    • createToDevice

      public ToDevice createToDevice(Device device)
      根据Device创建ToDevice
    • getFromDevices

      public List<FromDevice> getFromDevices()
      获取所有FromDevice类型的设备
    • getToDevices

      public List<ToDevice> getToDevices()
      获取所有ToDevice类型的设备