# Class VulkanRenderPassBeginInfo.Builder

java.lang.Object
com.io7m.jcoronado.api.VulkanRenderPassBeginInfo.Builder

Enclosing class:
  `VulkanRenderPassBeginInfo`

public static final class VulkanRenderPassBeginInfo.Builder extends Object
Builds instances of type `VulkanRenderPassBeginInfo`. 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
  `final VulkanRenderPassBeginInfo.Builder`
  `addAllClearValues(Iterable<? extends VulkanClearValueType> elements)`
  Adds elements to `clearValues` list.
  `final VulkanRenderPassBeginInfo.Builder`
  `addClearValues(VulkanClearValueType element)`
  Adds one element to `clearValues` list.
  `final VulkanRenderPassBeginInfo.Builder`
  `addClearValues(VulkanClearValueType... elements)`
  Adds elements to `clearValues` list.
  `VulkanRenderPassBeginInfo`
  `build()`
  Builds a new `VulkanRenderPassBeginInfo`.
  `final VulkanRenderPassBeginInfo.Builder`
  `from(VulkanRenderPassBeginInfoType instance)`
  Fill a builder with attribute values from the provided `VulkanRenderPassBeginInfoType` instance.
  `final VulkanRenderPassBeginInfo.Builder`
  `setClearValues(Iterable<? extends VulkanClearValueType> elements)`
  Sets or replaces all elements for `clearValues` list.
  `final VulkanRenderPassBeginInfo.Builder`
  `setFramebuffer(VulkanFramebufferType framebuffer)`
  Initializes the value for the `framebuffer` attribute.
  `final VulkanRenderPassBeginInfo.Builder`
  `setRenderArea(VulkanRectangle2D renderArea)`
  Initializes the value for the `renderArea` attribute.
  `final VulkanRenderPassBeginInfo.Builder`
  `setRenderPass(VulkanRenderPassType renderPass)`
  Initializes the value for the `renderPass` attribute.

  ### Methods inherited from class Object

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

- ## Method Details

  - ### from

    public final VulkanRenderPassBeginInfo.Builder from(VulkanRenderPassBeginInfoType instance)
    Fill a builder with attribute values from the provided `VulkanRenderPassBeginInfoType` instance. Regular attribute values will be replaced with those from the given instance. Absent optional values will not replace present values. Collection elements and entries will be added, not replaced.
    Parameters:
      `instance` - The instance from which to copy values
    Returns:
      `this` builder for use in a chained invocation

  - ### setRenderPass

    public final VulkanRenderPassBeginInfo.Builder setRenderPass(VulkanRenderPassType renderPass)
    Initializes the value for the `renderPass` attribute.
    Parameters:
      `renderPass` - The value for renderPass
    Returns:
      `this` builder for use in a chained invocation

  - ### setFramebuffer

    public final VulkanRenderPassBeginInfo.Builder setFramebuffer(VulkanFramebufferType framebuffer)
    Initializes the value for the `framebuffer` attribute.
    Parameters:
      `framebuffer` - The value for framebuffer
    Returns:
      `this` builder for use in a chained invocation

  - ### setRenderArea

    public final VulkanRenderPassBeginInfo.Builder setRenderArea(VulkanRectangle2D renderArea)
    Initializes the value for the `renderArea` attribute.

    If not set, this attribute will have a default value as returned by the initializer of `renderArea`.

    Parameters:
      `renderArea` - The value for renderArea
    Returns:
      `this` builder for use in a chained invocation

  - ### addClearValues

    public final VulkanRenderPassBeginInfo.Builder addClearValues(VulkanClearValueType element)
    Adds one element to `clearValues` list.
    Parameters:
      `element` - A clearValues element
    Returns:
      `this` builder for use in a chained invocation

  - ### addClearValues

    public final VulkanRenderPassBeginInfo.Builder addClearValues(VulkanClearValueType... elements)
    Adds elements to `clearValues` list.
    Parameters:
      `elements` - An array of clearValues elements
    Returns:
      `this` builder for use in a chained invocation

  - ### setClearValues

    public final VulkanRenderPassBeginInfo.Builder setClearValues(Iterable<? extends VulkanClearValueType> elements)
    Sets or replaces all elements for `clearValues` list.
    Parameters:
      `elements` - An iterable of clearValues elements
    Returns:
      `this` builder for use in a chained invocation

  - ### addAllClearValues

    public final VulkanRenderPassBeginInfo.Builder addAllClearValues(Iterable<? extends VulkanClearValueType> elements)
    Adds elements to `clearValues` list.
    Parameters:
      `elements` - An iterable of clearValues elements
    Returns:
      `this` builder for use in a chained invocation

  - ### build

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