接口 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
获取选项值。如果选项不存在,返回默认值。
- 参数:
option
- 选项值- 返回:
- 如果 option 不存在,则使用默认的 option 值。
-
optionValue
获取选项值。如果选项不存在,返回设定值。
- 参数:
option
- 选项值value
- 设定值- 返回:
- 如果option不存在,则默认的设定值。
-
option
设置一个具有特定值的新选项。使用 null 值删除前一个设置的
AttrOption
。- 参数:
option
- 选项值value
- 选项值, null 用于删除前一个AttrOption
.- 返回:
- this
-
ifPresent
如果动态属性存在,则执行给定的操作,否则不执行任何操作。- 类型参数:
T
- t- 参数:
option
- optionconsumer
- 给定的操作。只有 option 的值存在且不为 null 时,才会执行的操作。
-
ifNull
如果动态属性值为 null,则执行给定的操作,否则不执行任何操作。执行给定操作后将得到一个返回值,该返回值会设置到动态属性中。- 类型参数:
T
- t- 参数:
option
- optionsupplier
- 给定的操作。当 option 的值为 null 时,才会执行的操作
-