# Class VulkanRenderingAttachmentInfo.Builder

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

Enclosing class:
  `VulkanRenderingAttachmentInfo`

public static final class VulkanRenderingAttachmentInfo.Builder extends Object
Builds instances of type `VulkanRenderingAttachmentInfo`. 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 VulkanRenderingAttachmentInfo.Builder`
  `addAllResolveMode(Iterable<VulkanResolveModeFlag> elements)`
  Adds elements to `resolveMode` set.
  `final VulkanRenderingAttachmentInfo.Builder`
  `addResolveMode(VulkanResolveModeFlag element)`
  Adds one element to `resolveMode` set.
  `final VulkanRenderingAttachmentInfo.Builder`
  `addResolveMode(VulkanResolveModeFlag... elements)`
  Adds elements to `resolveMode` set.
  `VulkanRenderingAttachmentInfo`
  `build()`
  Builds a new `VulkanRenderingAttachmentInfo`.
  `final VulkanRenderingAttachmentInfo.Builder`
  `from(VulkanRenderingAttachmentInfoType instance)`
  Fill a builder with attribute values from the provided `VulkanRenderingAttachmentInfoType` instance.
  `final VulkanRenderingAttachmentInfo.Builder`
  `setClearValue(VulkanClearValueType clearValue)`
  Initializes the value for the `clearValue` attribute.
  `final VulkanRenderingAttachmentInfo.Builder`
  `setImageLayout(VulkanImageLayout imageLayout)`
  Initializes the value for the `imageLayout` attribute.
  `final VulkanRenderingAttachmentInfo.Builder`
  `setImageView(VulkanImageViewType imageView)`
  Initializes the value for the `imageView` attribute.
  `final VulkanRenderingAttachmentInfo.Builder`
  `setLoadOp(VulkanAttachmentLoadOp loadOp)`
  Initializes the value for the `loadOp` attribute.
  `final VulkanRenderingAttachmentInfo.Builder`
  `setResolveImageLayout(VulkanImageLayout resolveImageLayout)`
  Initializes the value for the `resolveImageLayout` attribute.
  `final VulkanRenderingAttachmentInfo.Builder`
  `setResolveImageView(VulkanImageViewType resolveImageView)`
  Initializes the optional value `resolveImageView` to resolveImageView.
  `final VulkanRenderingAttachmentInfo.Builder`
  `setResolveImageView(Optional<? extends VulkanImageViewType> resolveImageView)`
  Initializes the optional value `resolveImageView` to resolveImageView.
  `final VulkanRenderingAttachmentInfo.Builder`
  `setResolveMode(Iterable<VulkanResolveModeFlag> elements)`
  Sets or replaces all elements for `resolveMode` set.
  `final VulkanRenderingAttachmentInfo.Builder`
  `setStoreOp(VulkanAttachmentStoreOp storeOp)`
  Initializes the value for the `storeOp` attribute.

  ### Methods inherited from class Object

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

- ## Method Details

  - ### from

    public final VulkanRenderingAttachmentInfo.Builder from(VulkanRenderingAttachmentInfoType instance)
    Fill a builder with attribute values from the provided `VulkanRenderingAttachmentInfoType` 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

  - ### setImageView

    public final VulkanRenderingAttachmentInfo.Builder setImageView(VulkanImageViewType imageView)
    Initializes the value for the `imageView` attribute.
    Parameters:
      `imageView` - The value for imageView
    Returns:
      `this` builder for use in a chained invocation

  - ### setImageLayout

    public final VulkanRenderingAttachmentInfo.Builder setImageLayout(VulkanImageLayout imageLayout)
    Initializes the value for the `imageLayout` attribute.
    Parameters:
      `imageLayout` - The value for imageLayout
    Returns:
      `this` builder for use in a chained invocation

  - ### addResolveMode

    public final VulkanRenderingAttachmentInfo.Builder addResolveMode(VulkanResolveModeFlag element)
    Adds one element to `resolveMode` set.
    Parameters:
      `element` - A resolveMode element
    Returns:
      `this` builder for use in a chained invocation

  - ### addResolveMode

    public final VulkanRenderingAttachmentInfo.Builder addResolveMode(VulkanResolveModeFlag... elements)
    Adds elements to `resolveMode` set.
    Parameters:
      `elements` - An array of resolveMode elements
    Returns:
      `this` builder for use in a chained invocation

  - ### setResolveMode

    public final VulkanRenderingAttachmentInfo.Builder setResolveMode(Iterable<VulkanResolveModeFlag> elements)
    Sets or replaces all elements for `resolveMode` set.
    Parameters:
      `elements` - An iterable of resolveMode elements
    Returns:
      `this` builder for use in a chained invocation

  - ### addAllResolveMode

    public final VulkanRenderingAttachmentInfo.Builder addAllResolveMode(Iterable<VulkanResolveModeFlag> elements)
    Adds elements to `resolveMode` set.
    Parameters:
      `elements` - An iterable of resolveMode elements
    Returns:
      `this` builder for use in a chained invocation

  - ### setResolveImageView

    public final VulkanRenderingAttachmentInfo.Builder setResolveImageView(VulkanImageViewType resolveImageView)
    Initializes the optional value `resolveImageView` to resolveImageView.
    Parameters:
      `resolveImageView` - The value for resolveImageView
    Returns:
      `this` builder for chained invocation

  - ### setResolveImageView

    public final VulkanRenderingAttachmentInfo.Builder setResolveImageView(Optional<? extends VulkanImageViewType> resolveImageView)
    Initializes the optional value `resolveImageView` to resolveImageView.
    Parameters:
      `resolveImageView` - The value for resolveImageView
    Returns:
      `this` builder for use in a chained invocation

  - ### setResolveImageLayout

    public final VulkanRenderingAttachmentInfo.Builder setResolveImageLayout(VulkanImageLayout resolveImageLayout)
    Initializes the value for the `resolveImageLayout` attribute.

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

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

  - ### setLoadOp

    public final VulkanRenderingAttachmentInfo.Builder setLoadOp(VulkanAttachmentLoadOp loadOp)
    Initializes the value for the `loadOp` attribute.
    Parameters:
      `loadOp` - The value for loadOp
    Returns:
      `this` builder for use in a chained invocation

  - ### setStoreOp

    public final VulkanRenderingAttachmentInfo.Builder setStoreOp(VulkanAttachmentStoreOp storeOp)
    Initializes the value for the `storeOp` attribute.
    Parameters:
      `storeOp` - The value for storeOp
    Returns:
      `this` builder for use in a chained invocation

  - ### setClearValue

    public final VulkanRenderingAttachmentInfo.Builder setClearValue(VulkanClearValueType clearValue)
    Initializes the value for the `clearValue` attribute.
    Parameters:
      `clearValue` - The value for clearValue
    Returns:
      `this` builder for use in a chained invocation

  - ### build

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