Interface IArgsContainer

All Known Implementing Classes:
ArgsContainer

public interface IArgsContainer
持有ArgsContainer的对象. 可以实现该接口. 已经有大部分默认方法实现了
Author:
qiunet 2020-08-26 07:59
  • Method Details

    • getArgument

      default <T> Argument<T> getArgument(ArgumentKey<T> key)
      获取 Argument 没有会默认创建
      Type Parameters:
      T -
      Parameters:
      key -
      Returns:
    • getArgument

      <T> Argument<T> getArgument(ArgumentKey<T> key, boolean computeIfAbsent)
      获取 Argument 根据 @param computeIfAbsent 判断是否创建.
      Type Parameters:
      T -
      Parameters:
      key -
      computeIfAbsent -
      Returns:
    • removeArg

      default void removeArg(ArgumentKey key)
      删除自身
    • clear

      default void clear(ArgumentKey key)
      清除自身存储的数值
    • getVal

      default <T> T getVal(ArgumentKey<T> key)
      得到一个对象的值.
      Type Parameters:
      T -
      Parameters:
      key -
      Returns:
    • setVal

      default <T> T setVal(ArgumentKey<T> key, T newVal)
      set 一个新的值. 并返回旧值
      Type Parameters:
      T -
      Parameters:
      key -
      newVal -
      Returns:
    • getVal

      default <T> T getVal(ArgumentKey<T> key, T defaultVal)
      get 存储值. 没有返回默认的值. 避免null时候. 有空指针.
      Type Parameters:
      T -
      Parameters:
      key -
      defaultVal -
      Returns:
    • compareAndSet

      default <T> boolean compareAndSet(ArgumentKey<T> key, T expect, T newVal)
      cas级别设置存储值
      Type Parameters:
      T -
      Parameters:
      key -
      expect -
      newVal -
      Returns:
    • computeIfAbsent

      default <T> T computeIfAbsent(ArgumentKey<T> key, Supplier<T> newVal)
      如果没有. 就使用新的值set
      Type Parameters:
      T - 对象
      Parameters:
      key - key
      newVal - 新的val
      Returns:
      有旧的返回旧的. 否则返回新的
    • isNull

      default boolean isNull(ArgumentKey key)
      是否有存储值
      Returns:
    • isNotNull

      default boolean isNotNull(ArgumentKey key)
      是否有存储值
      Returns: