# Class VulkanSubmitInfo.Builder

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

Enclosing class:
  `VulkanSubmitInfo`

public static final class VulkanSubmitInfo.Builder extends Object
Builds instances of type `VulkanSubmitInfo`. 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 VulkanSubmitInfo.Builder`
  `addAllCommandBuffers(Iterable<? extends VulkanCommandBufferType> elements)`
  Adds elements to `commandBuffers` list.
  `final VulkanSubmitInfo.Builder`
  `addAllSignalSemaphores(Iterable<? extends VulkanSemaphoreType> elements)`
  Adds elements to `signalSemaphores` list.
  `final VulkanSubmitInfo.Builder`
  `addAllWaitSemaphores(Iterable<? extends VulkanSemaphoreType> elements)`
  Adds elements to `waitSemaphores` list.
  `final VulkanSubmitInfo.Builder`
  `addAllWaitStageMasks(Iterable<? extends VulkanPipelineStageFlag> elements)`
  Adds elements to `waitStageMasks` list.
  `final VulkanSubmitInfo.Builder`
  `addCommandBuffers(VulkanCommandBufferType element)`
  Adds one element to `commandBuffers` list.
  `final VulkanSubmitInfo.Builder`
  `addCommandBuffers(VulkanCommandBufferType... elements)`
  Adds elements to `commandBuffers` list.
  `final VulkanSubmitInfo.Builder`
  `addSignalSemaphores(VulkanSemaphoreType element)`
  Adds one element to `signalSemaphores` list.
  `final VulkanSubmitInfo.Builder`
  `addSignalSemaphores(VulkanSemaphoreType... elements)`
  Adds elements to `signalSemaphores` list.
  `final VulkanSubmitInfo.Builder`
  `addWaitSemaphores(VulkanSemaphoreType element)`
  Adds one element to `waitSemaphores` list.
  `final VulkanSubmitInfo.Builder`
  `addWaitSemaphores(VulkanSemaphoreType... elements)`
  Adds elements to `waitSemaphores` list.
  `final VulkanSubmitInfo.Builder`
  `addWaitStageMasks(VulkanPipelineStageFlag element)`
  Adds one element to `waitStageMasks` list.
  `final VulkanSubmitInfo.Builder`
  `addWaitStageMasks(VulkanPipelineStageFlag... elements)`
  Adds elements to `waitStageMasks` list.
  `VulkanSubmitInfo`
  `build()`
  Builds a new `VulkanSubmitInfo`.
  `final VulkanSubmitInfo.Builder`
  `from(VulkanSubmitInfoType instance)`
  Fill a builder with attribute values from the provided `VulkanSubmitInfoType` instance.
  `final VulkanSubmitInfo.Builder`
  `setCommandBuffers(Iterable<? extends VulkanCommandBufferType> elements)`
  Sets or replaces all elements for `commandBuffers` list.
  `final VulkanSubmitInfo.Builder`
  `setSignalSemaphores(Iterable<? extends VulkanSemaphoreType> elements)`
  Sets or replaces all elements for `signalSemaphores` list.
  `final VulkanSubmitInfo.Builder`
  `setWaitSemaphores(Iterable<? extends VulkanSemaphoreType> elements)`
  Sets or replaces all elements for `waitSemaphores` list.
  `final VulkanSubmitInfo.Builder`
  `setWaitStageMasks(Iterable<? extends VulkanPipelineStageFlag> elements)`
  Sets or replaces all elements for `waitStageMasks` list.

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

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

- ## Method Details

  - ### from

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

  - ### addWaitSemaphores

    public final VulkanSubmitInfo.Builder addWaitSemaphores(VulkanSemaphoreType element)
    Adds one element to `waitSemaphores` list.
    Parameters:
      `element` - A waitSemaphores element
    Returns:
      `this` builder for use in a chained invocation

  - ### addWaitSemaphores

    public final VulkanSubmitInfo.Builder addWaitSemaphores(VulkanSemaphoreType... elements)
    Adds elements to `waitSemaphores` list.
    Parameters:
      `elements` - An array of waitSemaphores elements
    Returns:
      `this` builder for use in a chained invocation

  - ### setWaitSemaphores

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

  - ### addAllWaitSemaphores

    public final VulkanSubmitInfo.Builder addAllWaitSemaphores(Iterable<? extends VulkanSemaphoreType> elements)
    Adds elements to `waitSemaphores` list.
    Parameters:
      `elements` - An iterable of waitSemaphores elements
    Returns:
      `this` builder for use in a chained invocation

  - ### addWaitStageMasks

    public final VulkanSubmitInfo.Builder addWaitStageMasks(VulkanPipelineStageFlag element)
    Adds one element to `waitStageMasks` list.
    Parameters:
      `element` - A waitStageMasks element
    Returns:
      `this` builder for use in a chained invocation

  - ### addWaitStageMasks

    public final VulkanSubmitInfo.Builder addWaitStageMasks(VulkanPipelineStageFlag... elements)
    Adds elements to `waitStageMasks` list.
    Parameters:
      `elements` - An array of waitStageMasks elements
    Returns:
      `this` builder for use in a chained invocation

  - ### setWaitStageMasks

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

  - ### addAllWaitStageMasks

    public final VulkanSubmitInfo.Builder addAllWaitStageMasks(Iterable<? extends VulkanPipelineStageFlag> elements)
    Adds elements to `waitStageMasks` list.
    Parameters:
      `elements` - An iterable of waitStageMasks elements
    Returns:
      `this` builder for use in a chained invocation

  - ### addCommandBuffers

    public final VulkanSubmitInfo.Builder addCommandBuffers(VulkanCommandBufferType element)
    Adds one element to `commandBuffers` list.
    Parameters:
      `element` - A commandBuffers element
    Returns:
      `this` builder for use in a chained invocation

  - ### addCommandBuffers

    public final VulkanSubmitInfo.Builder addCommandBuffers(VulkanCommandBufferType... elements)
    Adds elements to `commandBuffers` list.
    Parameters:
      `elements` - An array of commandBuffers elements
    Returns:
      `this` builder for use in a chained invocation

  - ### setCommandBuffers

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

  - ### addAllCommandBuffers

    public final VulkanSubmitInfo.Builder addAllCommandBuffers(Iterable<? extends VulkanCommandBufferType> elements)
    Adds elements to `commandBuffers` list.
    Parameters:
      `elements` - An iterable of commandBuffers elements
    Returns:
      `this` builder for use in a chained invocation

  - ### addSignalSemaphores

    public final VulkanSubmitInfo.Builder addSignalSemaphores(VulkanSemaphoreType element)
    Adds one element to `signalSemaphores` list.
    Parameters:
      `element` - A signalSemaphores element
    Returns:
      `this` builder for use in a chained invocation

  - ### addSignalSemaphores

    public final VulkanSubmitInfo.Builder addSignalSemaphores(VulkanSemaphoreType... elements)
    Adds elements to `signalSemaphores` list.
    Parameters:
      `elements` - An array of signalSemaphores elements
    Returns:
      `this` builder for use in a chained invocation

  - ### setSignalSemaphores

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

  - ### addAllSignalSemaphores

    public final VulkanSubmitInfo.Builder addAllSignalSemaphores(Iterable<? extends VulkanSemaphoreType> elements)
    Adds elements to `signalSemaphores` list.
    Parameters:
      `elements` - An iterable of signalSemaphores elements
    Returns:
      `this` builder for use in a chained invocation

  - ### build

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