# Class VulkanSubpassDependency.Builder

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

Enclosing class:
  `VulkanSubpassDependency`

public static final class VulkanSubpassDependency.Builder extends Object
Builds instances of type `VulkanSubpassDependency`. 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 VulkanSubpassDependency.Builder`
  `addAllDependencyFlags(Iterable<VulkanDependencyFlag> elements)`
  Adds elements to `dependencyFlags` set.
  `final VulkanSubpassDependency.Builder`
  `addAllDstAccessMask(Iterable<VulkanAccessFlag> elements)`
  Adds elements to `dstAccessMask` set.
  `final VulkanSubpassDependency.Builder`
  `addAllDstStageMask(Iterable<VulkanPipelineStageFlag> elements)`
  Adds elements to `dstStageMask` set.
  `final VulkanSubpassDependency.Builder`
  `addAllSrcAccessMask(Iterable<VulkanAccessFlag> elements)`
  Adds elements to `srcAccessMask` set.
  `final VulkanSubpassDependency.Builder`
  `addAllSrcStageMask(Iterable<VulkanPipelineStageFlag> elements)`
  Adds elements to `srcStageMask` set.
  `final VulkanSubpassDependency.Builder`
  `addDependencyFlags(VulkanDependencyFlag element)`
  Adds one element to `dependencyFlags` set.
  `final VulkanSubpassDependency.Builder`
  `addDependencyFlags(VulkanDependencyFlag... elements)`
  Adds elements to `dependencyFlags` set.
  `final VulkanSubpassDependency.Builder`
  `addDstAccessMask(VulkanAccessFlag element)`
  Adds one element to `dstAccessMask` set.
  `final VulkanSubpassDependency.Builder`
  `addDstAccessMask(VulkanAccessFlag... elements)`
  Adds elements to `dstAccessMask` set.
  `final VulkanSubpassDependency.Builder`
  `addDstStageMask(VulkanPipelineStageFlag element)`
  Adds one element to `dstStageMask` set.
  `final VulkanSubpassDependency.Builder`
  `addDstStageMask(VulkanPipelineStageFlag... elements)`
  Adds elements to `dstStageMask` set.
  `final VulkanSubpassDependency.Builder`
  `addSrcAccessMask(VulkanAccessFlag element)`
  Adds one element to `srcAccessMask` set.
  `final VulkanSubpassDependency.Builder`
  `addSrcAccessMask(VulkanAccessFlag... elements)`
  Adds elements to `srcAccessMask` set.
  `final VulkanSubpassDependency.Builder`
  `addSrcStageMask(VulkanPipelineStageFlag element)`
  Adds one element to `srcStageMask` set.
  `final VulkanSubpassDependency.Builder`
  `addSrcStageMask(VulkanPipelineStageFlag... elements)`
  Adds elements to `srcStageMask` set.
  `VulkanSubpassDependency`
  `build()`
  Builds a new `VulkanSubpassDependency`.
  `final VulkanSubpassDependency.Builder`
  `from(VulkanSubpassDependencyType instance)`
  Fill a builder with attribute values from the provided `VulkanSubpassDependencyType` instance.
  `final VulkanSubpassDependency.Builder`
  `setDependencyFlags(Iterable<VulkanDependencyFlag> elements)`
  Sets or replaces all elements for `dependencyFlags` set.
  `final VulkanSubpassDependency.Builder`
  `setDstAccessMask(Iterable<VulkanAccessFlag> elements)`
  Sets or replaces all elements for `dstAccessMask` set.
  `final VulkanSubpassDependency.Builder`
  `setDstStageMask(Iterable<VulkanPipelineStageFlag> elements)`
  Sets or replaces all elements for `dstStageMask` set.
  `final VulkanSubpassDependency.Builder`
  `setDstSubpass(int dstSubpass)`
  Initializes the value for the `dstSubpass` attribute.
  `final VulkanSubpassDependency.Builder`
  `setSrcAccessMask(Iterable<VulkanAccessFlag> elements)`
  Sets or replaces all elements for `srcAccessMask` set.
  `final VulkanSubpassDependency.Builder`
  `setSrcStageMask(Iterable<VulkanPipelineStageFlag> elements)`
  Sets or replaces all elements for `srcStageMask` set.
  `final VulkanSubpassDependency.Builder`
  `setSrcSubpass(int srcSubpass)`
  Initializes the value for the `srcSubpass` attribute.

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

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

- ## Method Details

  - ### from

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

  - ### setSrcSubpass

    public final VulkanSubpassDependency.Builder setSrcSubpass(int srcSubpass)
    Initializes the value for the `srcSubpass` attribute.
    Parameters:
      `srcSubpass` - The value for srcSubpass
    Returns:
      `this` builder for use in a chained invocation

  - ### setDstSubpass

    public final VulkanSubpassDependency.Builder setDstSubpass(int dstSubpass)
    Initializes the value for the `dstSubpass` attribute.
    Parameters:
      `dstSubpass` - The value for dstSubpass
    Returns:
      `this` builder for use in a chained invocation

  - ### addSrcStageMask

    public final VulkanSubpassDependency.Builder addSrcStageMask(VulkanPipelineStageFlag element)
    Adds one element to `srcStageMask` set.
    Parameters:
      `element` - A srcStageMask element
    Returns:
      `this` builder for use in a chained invocation

  - ### addSrcStageMask

    public final VulkanSubpassDependency.Builder addSrcStageMask(VulkanPipelineStageFlag... elements)
    Adds elements to `srcStageMask` set.
    Parameters:
      `elements` - An array of srcStageMask elements
    Returns:
      `this` builder for use in a chained invocation

  - ### setSrcStageMask

    public final VulkanSubpassDependency.Builder setSrcStageMask(Iterable<VulkanPipelineStageFlag> elements)
    Sets or replaces all elements for `srcStageMask` set.
    Parameters:
      `elements` - An iterable of srcStageMask elements
    Returns:
      `this` builder for use in a chained invocation

  - ### addAllSrcStageMask

    public final VulkanSubpassDependency.Builder addAllSrcStageMask(Iterable<VulkanPipelineStageFlag> elements)
    Adds elements to `srcStageMask` set.
    Parameters:
      `elements` - An iterable of srcStageMask elements
    Returns:
      `this` builder for use in a chained invocation

  - ### addDstStageMask

    public final VulkanSubpassDependency.Builder addDstStageMask(VulkanPipelineStageFlag element)
    Adds one element to `dstStageMask` set.
    Parameters:
      `element` - A dstStageMask element
    Returns:
      `this` builder for use in a chained invocation

  - ### addDstStageMask

    public final VulkanSubpassDependency.Builder addDstStageMask(VulkanPipelineStageFlag... elements)
    Adds elements to `dstStageMask` set.
    Parameters:
      `elements` - An array of dstStageMask elements
    Returns:
      `this` builder for use in a chained invocation

  - ### setDstStageMask

    public final VulkanSubpassDependency.Builder setDstStageMask(Iterable<VulkanPipelineStageFlag> elements)
    Sets or replaces all elements for `dstStageMask` set.
    Parameters:
      `elements` - An iterable of dstStageMask elements
    Returns:
      `this` builder for use in a chained invocation

  - ### addAllDstStageMask

    public final VulkanSubpassDependency.Builder addAllDstStageMask(Iterable<VulkanPipelineStageFlag> elements)
    Adds elements to `dstStageMask` set.
    Parameters:
      `elements` - An iterable of dstStageMask elements
    Returns:
      `this` builder for use in a chained invocation

  - ### addSrcAccessMask

    public final VulkanSubpassDependency.Builder addSrcAccessMask(VulkanAccessFlag element)
    Adds one element to `srcAccessMask` set.
    Parameters:
      `element` - A srcAccessMask element
    Returns:
      `this` builder for use in a chained invocation

  - ### addSrcAccessMask

    public final VulkanSubpassDependency.Builder addSrcAccessMask(VulkanAccessFlag... elements)
    Adds elements to `srcAccessMask` set.
    Parameters:
      `elements` - An array of srcAccessMask elements
    Returns:
      `this` builder for use in a chained invocation

  - ### setSrcAccessMask

    public final VulkanSubpassDependency.Builder setSrcAccessMask(Iterable<VulkanAccessFlag> elements)
    Sets or replaces all elements for `srcAccessMask` set.
    Parameters:
      `elements` - An iterable of srcAccessMask elements
    Returns:
      `this` builder for use in a chained invocation

  - ### addAllSrcAccessMask

    public final VulkanSubpassDependency.Builder addAllSrcAccessMask(Iterable<VulkanAccessFlag> elements)
    Adds elements to `srcAccessMask` set.
    Parameters:
      `elements` - An iterable of srcAccessMask elements
    Returns:
      `this` builder for use in a chained invocation

  - ### addDstAccessMask

    public final VulkanSubpassDependency.Builder addDstAccessMask(VulkanAccessFlag element)
    Adds one element to `dstAccessMask` set.
    Parameters:
      `element` - A dstAccessMask element
    Returns:
      `this` builder for use in a chained invocation

  - ### addDstAccessMask

    public final VulkanSubpassDependency.Builder addDstAccessMask(VulkanAccessFlag... elements)
    Adds elements to `dstAccessMask` set.
    Parameters:
      `elements` - An array of dstAccessMask elements
    Returns:
      `this` builder for use in a chained invocation

  - ### setDstAccessMask

    public final VulkanSubpassDependency.Builder setDstAccessMask(Iterable<VulkanAccessFlag> elements)
    Sets or replaces all elements for `dstAccessMask` set.
    Parameters:
      `elements` - An iterable of dstAccessMask elements
    Returns:
      `this` builder for use in a chained invocation

  - ### addAllDstAccessMask

    public final VulkanSubpassDependency.Builder addAllDstAccessMask(Iterable<VulkanAccessFlag> elements)
    Adds elements to `dstAccessMask` set.
    Parameters:
      `elements` - An iterable of dstAccessMask elements
    Returns:
      `this` builder for use in a chained invocation

  - ### addDependencyFlags

    public final VulkanSubpassDependency.Builder addDependencyFlags(VulkanDependencyFlag element)
    Adds one element to `dependencyFlags` set.
    Parameters:
      `element` - A dependencyFlags element
    Returns:
      `this` builder for use in a chained invocation

  - ### addDependencyFlags

    public final VulkanSubpassDependency.Builder addDependencyFlags(VulkanDependencyFlag... elements)
    Adds elements to `dependencyFlags` set.
    Parameters:
      `elements` - An array of dependencyFlags elements
    Returns:
      `this` builder for use in a chained invocation

  - ### setDependencyFlags

    public final VulkanSubpassDependency.Builder setDependencyFlags(Iterable<VulkanDependencyFlag> elements)
    Sets or replaces all elements for `dependencyFlags` set.
    Parameters:
      `elements` - An iterable of dependencyFlags elements
    Returns:
      `this` builder for use in a chained invocation

  - ### addAllDependencyFlags

    public final VulkanSubpassDependency.Builder addAllDependencyFlags(Iterable<VulkanDependencyFlag> elements)
    Adds elements to `dependencyFlags` set.
    Parameters:
      `elements` - An iterable of dependencyFlags elements
    Returns:
      `this` builder for use in a chained invocation

  - ### build

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