Class AnnotatedMetaHolder


  • public class AnnotatedMetaHolder
    extends java.lang.Object
    A data holder for annotation meta.
    Version:
    1.0.0
    Author:
    CarmJos
    • Field Detail

      • values

        protected final java.util.Map<AnnotatedMetaType<?,​?>,​java.lang.Object> values
    • Constructor Detail

      • AnnotatedMetaHolder

        public AnnotatedMetaHolder()
      • AnnotatedMetaHolder

        public AnnotatedMetaHolder​(java.util.Map<AnnotatedMetaType<?,​?>,​java.lang.Object> values)
    • Method Detail

      • getValues

        public java.util.Map<AnnotatedMetaType<?,​?>,​java.lang.Object> getValues()
      • get

        @Contract("_, !null -> !null")
        @Nullable
        public <V> V get​(@NotNull
                         @NotNull AnnotatedMetaType<?,​V> type,
                         @Nullable
                         V defaultValue)
        Get the value of option.
        Type Parameters:
        V - Value type
        Parameters:
        type - AnnotatedMetaType
        defaultValue - Default value if the value of option is not set.
        Returns:
        Value of option
      • get

        @Nullable
        public <V> V get​(@NotNull
                         @NotNull AnnotatedMetaType<?,​V> type)
        Get the value of option.
        Type Parameters:
        V - Value type
        Parameters:
        type - AnnotatedMetaType
        Returns:
        Value of option
      • set

        @Nullable
        public <V> V set​(@NotNull
                         @NotNull AnnotatedMetaType<?,​V> type,
                         @Nullable
                         V value)
        Set the value of meta, if the value is null, the meta will be removed.
        Will only be changed in current holder.
        Type Parameters:
        V - Value type
        Parameters:
        type - AnnotatedMetaType
        value - Value of meta
        Returns:
        Previous value of meta
      • setIfAbsent

        public <V> void setIfAbsent​(@NotNull
                                    @NotNull AnnotatedMetaType<?,​V> type,
                                    @Nullable
                                    V value)
        Set the value of meta, if the value is null, the meta will not be changed.
        Will only be changed in current holder.
        Type Parameters:
        V - Value type
        Parameters:
        type - AnnotatedMetaType
        value - Value of meta
      • setIfPresent

        @Nullable
        public <V> V setIfPresent​(@NotNull
                                  @NotNull AnnotatedMetaType<?,​V> type,
                                  @Nullable
                                  V value)
        Set the value of meta, if the value is null, the meta will not be changed.
        Will only be changed in current holder.
        Type Parameters:
        V - Value type
        Parameters:
        type - AnnotatedMetaType
        value - Value of meta
      • put

        protected void put​(@NotNull
                           @NotNull AnnotatedMetaType<?,​?> type,
                           @Nullable
                           @Nullable java.lang.Object value)