接口 AttrOptionDynamic

所有已知子接口:
ClientUser, ExternalCoreSetting, UserSession, UserSessions<SessionContext,Session>
所有已知实现类:
BarSkeleton, BrokerClient, DefaultClientUser, DefaultExternalCoreSetting, SocketUserSession, SocketUserSessions

public interface AttrOptionDynamic
动态属性 (类型明确的)
     实现该接口的对象, 都会提供动态属性机制
     避免类型转换
 
AttrOptionDynamic options = ...;
     使用示例 - 获取属性 :
     AttrOption<Long> timeKey = AttrOption.valueOf("myLongValue");
     // set long value
     this.option(timeKey, 123L);
     // get long value
     long val = this.option(timeKey);

     AttrOption<Integer> intKey = AttrOption.valueOf("myIntegerValue");
     // set int value
     this.option(intKey, 123);
     // get int value
     int age = this.option(intKey);

 
     如果你使用了lombok, 推荐这种方式. 只需要在对象中新增此行代码
     final AttrOptions options = new AttrOptions();
 
作者:
渔民小镇
日期:
2022-01-31
  • 方法概要

    修饰符和类型
    方法
    说明
    获取动态成员属性
    default <T> void
    ifNull(AttrOption<T> option, Supplier<T> supplier)
    如果动态属性值为 null,则执行给定的操作,否则不执行任何操作。
    default <T> void
    ifPresent(AttrOption<T> option, Consumer<T> consumer)
    如果动态属性存在,则执行给定的操作,否则不执行任何操作。
    default <T> T
    option(AttrOption<T> option)
    获取选项值。
    default <T> AttrOptions
    option(AttrOption<T> option, T value)
    设置一个具有特定值的新选项。
    default <T> T
    optionValue(AttrOption<T> option, T value)
    获取选项值。
  • 方法详细资料

    • getOptions

      AttrOptions getOptions()
      获取动态成员属性
      返回:
      动态成员属性
    • option

      default <T> T option(AttrOption<T> option)
      获取选项值。

      如果选项不存在,返回默认值。

      参数:
      option - 选项值
      返回:
      如果 option 不存在,则使用默认的 option 值。
    • optionValue

      default <T> T optionValue(AttrOption<T> option, T value)
      获取选项值。

      如果选项不存在,返回设定值。

      参数:
      option - 选项值
      value - 设定值
      返回:
      如果option不存在,则默认的设定值。
    • option

      default <T> AttrOptions option(AttrOption<T> option, T value)
      设置一个具有特定值的新选项。

      使用 null 值删除前一个设置的 AttrOption

      参数:
      option - 选项值
      value - 选项值, null 用于删除前一个 AttrOption.
      返回:
      this
    • ifPresent

      default <T> void ifPresent(AttrOption<T> option, Consumer<T> consumer)
      如果动态属性存在,则执行给定的操作,否则不执行任何操作。
      类型参数:
      T - t
      参数:
      option - option
      consumer - 给定的操作。只有 option 的值存在且不为 null 时,才会执行的操作。
    • ifNull

      default <T> void ifNull(AttrOption<T> option, Supplier<T> supplier)
      如果动态属性值为 null,则执行给定的操作,否则不执行任何操作。执行给定操作后将得到一个返回值,该返回值会设置到动态属性中。
      类型参数:
      T - t
      参数:
      option - option
      supplier - 给定的操作。当 option 的值为 null 时,才会执行的操作