Package com.io7m.jtensors.core.parameterized.matrices

# Class PMatrix2x2D.Builder<A,B>

java.lang.Object
com.io7m.jtensors.core.parameterized.matrices.PMatrix2x2D.Builder<A,B>

Enclosing class:
  `PMatrix2x2D<A,B>`

public static final class PMatrix2x2D.Builder<A,B> extends Object
Builds instances of type `PMatrix2x2D`. 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
  `PMatrix2x2D<A,B>`
  `build()`
  Builds a new `PMatrix2x2D`.
  `final PMatrix2x2D.Builder<A,B>`
  `from(PMatrix2x2DType<A,B> instance)`
  Fill a builder with attribute values from the provided `com.io7m.jtensors.core.parameterized.matrices.PMatrix2x2DType` instance.
  `final PMatrix2x2D.Builder<A,B>`
  `from(MatrixReadable2x2DType instance)`
  Fill a builder with attribute values from the provided `com.io7m.jtensors.core.unparameterized.matrices.MatrixReadable2x2DType` instance.
  `final PMatrix2x2D.Builder<A,B>`
  `setR0c0(double r0c0)`
  Initializes the value for the `r0c0` attribute.
  `final PMatrix2x2D.Builder<A,B>`
  `setR0c1(double r0c1)`
  Initializes the value for the `r0c1` attribute.
  `final PMatrix2x2D.Builder<A,B>`
  `setR1c0(double r1c0)`
  Initializes the value for the `r1c0` attribute.
  `final PMatrix2x2D.Builder<A,B>`
  `setR1c1(double r1c1)`
  Initializes the value for the `r1c1` attribute.

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

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

- ## Method Details

  - ### from

    public final PMatrix2x2D.Builder<A,B> from(MatrixReadable2x2DType instance)
    Fill a builder with attribute values from the provided `com.io7m.jtensors.core.unparameterized.matrices.MatrixReadable2x2DType` instance.
    Parameters:
      `instance` - The instance from which to copy values
    Returns:
      `this` builder for use in a chained invocation

  - ### from

    public final PMatrix2x2D.Builder<A,B> from(PMatrix2x2DType<A,B> instance)
    Fill a builder with attribute values from the provided `com.io7m.jtensors.core.parameterized.matrices.PMatrix2x2DType` instance.
    Parameters:
      `instance` - The instance from which to copy values
    Returns:
      `this` builder for use in a chained invocation

  - ### setR0c0

    public final PMatrix2x2D.Builder<A,B> setR0c0(double r0c0)
    Initializes the value for the `r0c0` attribute.
    Parameters:
      `r0c0` - The value for r0c0
    Returns:
      `this` builder for use in a chained invocation

  - ### setR0c1

    public final PMatrix2x2D.Builder<A,B> setR0c1(double r0c1)
    Initializes the value for the `r0c1` attribute.
    Parameters:
      `r0c1` - The value for r0c1
    Returns:
      `this` builder for use in a chained invocation

  - ### setR1c0

    public final PMatrix2x2D.Builder<A,B> setR1c0(double r1c0)
    Initializes the value for the `r1c0` attribute.
    Parameters:
      `r1c0` - The value for r1c0
    Returns:
      `this` builder for use in a chained invocation

  - ### setR1c1

    public final PMatrix2x2D.Builder<A,B> setR1c1(double r1c1)
    Initializes the value for the `r1c1` attribute.
    Parameters:
      `r1c1` - The value for r1c1
    Returns:
      `this` builder for use in a chained invocation

  - ### build

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