Class UpdateByControl


@Immutable public abstract class UpdateByControl extends Object
An interface to control the behavior of an Table#updateBy
  • Field Details

  • Constructor Details

    • UpdateByControl

      public UpdateByControl()
  • Method Details

    • builder

      public static UpdateByControl.Builder builder()
    • defaultInstance

      public static UpdateByControl defaultInstance()
      Creates an instance with none of the values explicitly set. Equivalent to builder().build().
      the default instance
    • useRedirectionDefault

      public static boolean useRedirectionDefault()
      Default is false. Can be changed with system property "UpdateByControl.useRedirection".
    • chunkCapacityDefault

      public static int chunkCapacityDefault()
      Default is 4096. Can be changed with system property "UpdateByControl.chunkCapacity".
    • maximumStaticMemoryOverheadDefault

      public static double maximumStaticMemoryOverheadDefault()
      Default is 1.1. Can be changed with system property "UpdateByControl.maximumStaticMemoryOverhead".
    • initialHashTableSizeDefault

      public static int initialHashTableSizeDefault()
      Default is 4096. Can be changed with system property "UpdateByControl.initialHashTableSize".
    • maximumLoadFactorDefault

      public static double maximumLoadFactorDefault()
      Default is 0.75. Can be changed with system property "UpdateByControl.maximumLoadFactor".
    • targetLoadFactorDefault

      public static double targetLoadFactorDefault()
      Default is 0.7. Can be changed with system property "UpdateByControl.targetLoadFactor".
    • mathContextDefault

      public static MathContext mathContextDefault()
      Default is DECIMAL64. Can be changed with system property "UpdateByControl.mathContext".
    • useRedirection

      @Nullable public abstract Boolean useRedirection()
      If redirections should be used for output sources instead of sparse array sources.
    • chunkCapacity

      public abstract OptionalInt chunkCapacity()
      The maximum chunk capacity.
    • maxStaticSparseMemoryOverhead

      public abstract OptionalDouble maxStaticSparseMemoryOverhead()
      The maximum fractional memory overhead allowable for sparse redirections as a fraction (e.g. 1.1 is 10% overhead). Values less than zero disable overhead checking, and result in always using the sparse structure. A value of zero results in never using the sparse structure.
    • initialHashTableSize

      public abstract OptionalInt initialHashTableSize()
      The initial hash table size.
    • maximumLoadFactor

      public abstract OptionalDouble maximumLoadFactor()
      The maximum load factor for the hash table.
    • targetLoadFactor

      public abstract OptionalDouble targetLoadFactor()
      The target load factor for the hash table.
    • mathContext

      public abstract Optional<MathContext> mathContext()
      The math context.
    • useRedirectionOrDefault

      @Derived public boolean useRedirectionOrDefault()
      Equivalent to useRedirection() == null ? useRedirectionDefault() : useRedirection().
      See Also:
    • chunkCapacityOrDefault

      @Derived public int chunkCapacityOrDefault()
      Equivalent to chunkCapacity().orElseGet(UpdateByControl::chunkCapacityDefault).
      See Also:
    • maxStaticSparseMemoryOverheadOrDefault

      @Derived public double maxStaticSparseMemoryOverheadOrDefault()
      Equivalent to maxStaticSparseMemoryOverhead().orElseGet(UpdateByControl::maximumStaticMemoryOverheadDefault).
      See Also:
    • initialHashTableSizeOrDefault

      @Derived public int initialHashTableSizeOrDefault()
      Equivalent to initialHashTableSize().orElseGet(UpdateByControl::initialHashTableSizeDefault).
      See Also:
    • maximumLoadFactorOrDefault

      @Derived public double maximumLoadFactorOrDefault()
      Equivalent to maximumLoadFactor().orElseGet(UpdateByControl::maximumLoadFactorDefault).
      See Also:
    • targetLoadFactorOrDefault

      @Derived public double targetLoadFactorOrDefault()
      Equivalent to targetLoadFactor().orElseGet(UpdateByControl::targetLoadFactorDefault).
      See Also:
    • mathContextOrDefault

      @Derived public MathContext mathContextOrDefault()
      Equivalent to mathContext().orElseGet(UpdateByControl::mathContextDefault).
      See Also:
    • materialize

      public final UpdateByControl materialize()
      Create a new instance with all of the explicit-or-default values from this. This may be useful from the context of a client who wants to use client-side configuration defaults instead of server-side configuration defaults.
      the explicit new instance