Class DataSet

    • Constructor Detail

      • DataSet

        public DataSet()
      • DataSet

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

      • aggregateActions

        @NotNull
        public static @NotNull DataHolder aggregateActions​(@NotNull
                                                           @NotNull DataHolder other,
                                                           @NotNull
                                                           @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 @NotNull DataHolder aggregate()
        Apply aggregate action to data and return result
        Returns:
        resulting data holder
      • aggregate

        @NotNull
        public static @NotNull DataHolder aggregate​(@Nullable
                                                    @Nullable DataHolder other,
                                                    @Nullable
                                                    @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
      • getOrCompute

        @Nullable
        public @Nullable Object getOrCompute​(@NotNull
                                             @NotNull DataKeyBase<?> key,
                                             @NotNull
                                             @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 @NotNull DataSet merge​(@NotNull
                                             @NotNull DataHolder... dataHolders)
      • registerDataKeyAggregator

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

        public int hashCode()
        Overrides:
        hashCode in class Object