Class DataSet

    • Field Detail

      • dataSet

        protected final java.util.HashMap<DataKeyBase<?>,​java.lang.Object> dataSet
    • Constructor Detail

      • DataSet

        public DataSet()
      • DataSet

        public DataSet​(@Nullable
                       DataHolder other)
    • Method Detail

      • aggregateActions

        @NotNull
        public static DataHolder aggregateActions​(@NotNull
                                                  DataHolder other,
                                                  @NotNull
                                                  DataHolder overrides)
        aggregate actions of two data sets, actions not applied
        Parameters:
        other - first set of options
        overrides - overrides on options
        Returns:
        resulting options where aggregate action keys were aggregated but not applied
      • aggregate

        @NotNull
        public DataHolder aggregate()
        Apply aggregate action to data and return result
        Returns:
        resulting data holder
      • aggregate

        @NotNull
        public static DataHolder aggregate​(@Nullable
                                           DataHolder other,
                                           @Nullable
                                           DataHolder overrides)
        Aggregate two sets of options by aggregating their aggregate action keys then applying those actions on the resulting collection
        Parameters:
        other - options with aggregate actions already applied, no aggregate action keys are expected or checked
        overrides - overrides which may contain aggregate actions
        Returns:
        resulting options with aggregate actions applied and removed from set
      • getAll

        @NotNull
        public java.util.Map<? extends DataKeyBase<?>,​java.lang.Object> getAll()
        Specified by:
        getAll in interface DataHolder
      • getOrCompute

        @Nullable
        public java.lang.Object getOrCompute​(@NotNull
                                             DataKeyBase<?> key,
                                             @NotNull
                                             DataValueFactory<?> factory)
        Description copied from interface: DataHolder
        Get key if it exists or compute using supplier

        Method used by DataKey classes to access data.

        NOTE: MutableDataHolders will compute an absent key and add it to its dataSet. DataHolders will return computed value but not change contained dataSet because they are immutable. So value will be computed every time it is requested.

        Specified by:
        getOrCompute in interface DataHolder
        Parameters:
        key - data key
        factory - factory taking this data holder and computing/providing default value
        Returns:
        object value for the key
      • merge

        @NotNull
        public static DataSet merge​(@NotNull
                                    DataHolder... dataHolders)
      • registerDataKeyAggregator

        public static void registerDataKeyAggregator​(@NotNull
                                                     DataKeyAggregator keyAggregator)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object