Class TaxCalculator.Builder

java.lang.Object
me.thiagorigonatti.capitalgains.core.TaxCalculator.Builder
Enclosing class:
TaxCalculator

public static class TaxCalculator.Builder extends Object

Builder for new instances of TaxCalculator.

  • Constructor Details

    • Builder

      public Builder(String[] args)

      Constructs a new Builder instance, initializing the builder with the provided arguments.

      Parameters:
      args - The array of arguments to initialize the builder.
    • Builder

      public Builder()

      Constructs a new Builder instance.

  • Method Details

    • formattedWith

      public TaxCalculator.Builder formattedWith(DecimalFormat decimalFormat)
      Sets the DecimalFormat to be used for formatting.
      Parameters:
      decimalFormat - the DecimalFormat instance
      Returns:
      this builder instance
    • from

      public TaxCalculator.Builder from(InputStream inputStream, int bufferSizeIn)
      Sets the input stream and input buffer size.
      Parameters:
      inputStream - the input stream
      bufferSizeIn - the buffer size for reading
      Returns:
      this builder instance
    • dumpTo

      public TaxCalculator.Builder dumpTo(OutputStream outputStream, int bufferSizeOut)
      Sets the output stream and output buffer size.
      Parameters:
      outputStream - the output stream
      bufferSizeOut - the buffer size for writing
      Returns:
      this builder instance
    • printEveryLine

      public TaxCalculator.Builder printEveryLine(boolean printEveryLine)
      Specifies whether each processed line should be printed.
      Parameters:
      printEveryLine - true to print every line, false otherwise
      Returns:
      this builder instance
    • timings

      public TaxCalculator.Builder timings(boolean timings)
      Specifies whether timing metrics should be recorded.
      Parameters:
      timings - true to enable timings, false otherwise
      Returns:
      this builder instance
    • onlyFor

      public TaxCalculator.Builder onlyFor(Predicate<Operation> operationPredicate)
      Sets a predicate to filter operations that should be considered.
      Parameters:
      operationPredicate - the predicate to apply
      Returns:
      this builder instance
    • with

      public TaxCalculator.Builder with(Supplier<? extends Stock> stockSupplier)
      Sets the supplier responsible for creating Stock instances.
      Parameters:
      stockSupplier - the stock supplier
      Returns:
      this builder instance
    • build

      public TaxCalculator build()
      Builds and returns a new instance of TaxCalculator with the configured options.
      Returns:
      a new TaxCalculator instance