Package com.io7m.jregions.core.parameterized.volumes

# Class PVolumeBI.Builder<S>

java.lang.Object
com.io7m.jregions.core.parameterized.volumes.PVolumeBI.Builder<S>

Enclosing class:
  PVolumeBI<S>

public static final class PVolumeBI.Builder<S> extends Object
Builds instances of type `PVolumeBI`. Initialize attributes and then invoke the `build()` method to create an immutable instance.

`Builder` is not thread-safe and generally should not be stored in a field or collection, but instead used immediately to create instances.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `PVolumeBI<S>`
  `build()`
  Builds a new `PVolumeBI`.
  `final PVolumeBI.Builder<S>`
  `from(PVolumeBIType<S> instance)`
  Fill a builder with attribute values from the provided `com.io7m.jregions.core.parameterized.volumes.PVolumeBIType` instance.
  `final PVolumeBI.Builder<S>`
  `from(VolumeValuesBIType instance)`
  Fill a builder with attribute values from the provided `com.io7m.jregions.core.unparameterized.volumes.VolumeValuesBIType` instance.
  `final PVolumeBI.Builder<S>`
  `setMaximumX(BigInteger maximumX)`
  Initializes the value for the `maximumX` attribute.
  `final PVolumeBI.Builder<S>`
  `setMaximumY(BigInteger maximumY)`
  Initializes the value for the `maximumY` attribute.
  `final PVolumeBI.Builder<S>`
  `setMaximumZ(BigInteger maximumZ)`
  Initializes the value for the `maximumZ` attribute.
  `final PVolumeBI.Builder<S>`
  `setMinimumX(BigInteger minimumX)`
  Initializes the value for the `minimumX` attribute.
  `final PVolumeBI.Builder<S>`
  `setMinimumY(BigInteger minimumY)`
  Initializes the value for the `minimumY` attribute.
  `final PVolumeBI.Builder<S>`
  `setMinimumZ(BigInteger minimumZ)`
  Initializes the value for the `minimumZ` attribute.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Method Details

  - ### from

    public final PVolumeBI.Builder<S> from(PVolumeBIType<S> instance)
    Fill a builder with attribute values from the provided `com.io7m.jregions.core.parameterized.volumes.PVolumeBIType` instance.
    Parameters:
      `instance` - The instance from which to copy values
    Returns:
      `this` builder for use in a chained invocation

  - ### from

    public final PVolumeBI.Builder<S> from(VolumeValuesBIType instance)
    Fill a builder with attribute values from the provided `com.io7m.jregions.core.unparameterized.volumes.VolumeValuesBIType` instance.
    Parameters:
      `instance` - The instance from which to copy values
    Returns:
      `this` builder for use in a chained invocation

  - ### setMinimumX

    public final PVolumeBI.Builder<S> setMinimumX(BigInteger minimumX)
    Initializes the value for the `minimumX` attribute.
    Parameters:
      `minimumX` - The value for minimumX
    Returns:
      `this` builder for use in a chained invocation

  - ### setMaximumX

    public final PVolumeBI.Builder<S> setMaximumX(BigInteger maximumX)
    Initializes the value for the `maximumX` attribute.
    Parameters:
      `maximumX` - The value for maximumX
    Returns:
      `this` builder for use in a chained invocation

  - ### setMinimumY

    public final PVolumeBI.Builder<S> setMinimumY(BigInteger minimumY)
    Initializes the value for the `minimumY` attribute.
    Parameters:
      `minimumY` - The value for minimumY
    Returns:
      `this` builder for use in a chained invocation

  - ### setMaximumY

    public final PVolumeBI.Builder<S> setMaximumY(BigInteger maximumY)
    Initializes the value for the `maximumY` attribute.
    Parameters:
      `maximumY` - The value for maximumY
    Returns:
      `this` builder for use in a chained invocation

  - ### setMinimumZ

    public final PVolumeBI.Builder<S> setMinimumZ(BigInteger minimumZ)
    Initializes the value for the `minimumZ` attribute.
    Parameters:
      `minimumZ` - The value for minimumZ
    Returns:
      `this` builder for use in a chained invocation

  - ### setMaximumZ

    public final PVolumeBI.Builder<S> setMaximumZ(BigInteger maximumZ)
    Initializes the value for the `maximumZ` attribute.
    Parameters:
      `maximumZ` - The value for maximumZ
    Returns:
      `this` builder for use in a chained invocation

  - ### build

    public PVolumeBI<S> build()
    Builds a new `PVolumeBI`.
    Returns:
      An immutable instance of PVolumeBI
    Throws:
      `IllegalStateException` - if any required attributes are missing