# Class VulkanPipelineDepthStencilStateCreateInfo.Builder

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

Enclosing class:
  `VulkanPipelineDepthStencilStateCreateInfo`

public static final class VulkanPipelineDepthStencilStateCreateInfo.Builder extends Object
Builds instances of type `VulkanPipelineDepthStencilStateCreateInfo`. 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 VulkanPipelineDepthStencilStateCreateInfo.Builder`
  `addAllFlags(Iterable<VulkanPipelineDepthStencilStateCreateFlag> elements)`
  Adds elements to `flags` set.
  `final VulkanPipelineDepthStencilStateCreateInfo.Builder`
  `addFlags(VulkanPipelineDepthStencilStateCreateFlag element)`
  Adds one element to `flags` set.
  `final VulkanPipelineDepthStencilStateCreateInfo.Builder`
  `addFlags(VulkanPipelineDepthStencilStateCreateFlag... elements)`
  Adds elements to `flags` set.
  `VulkanPipelineDepthStencilStateCreateInfo`
  `build()`
  Builds a new `VulkanPipelineDepthStencilStateCreateInfo`.
  `final VulkanPipelineDepthStencilStateCreateInfo.Builder`
  `from(VulkanPipelineDepthStencilStateCreateInfoType instance)`
  Fill a builder with attribute values from the provided `VulkanPipelineDepthStencilStateCreateInfoType` instance.
  `final VulkanPipelineDepthStencilStateCreateInfo.Builder`
  `setBack(VulkanStencilOpState back)`
  Initializes the value for the `back` attribute.
  `final VulkanPipelineDepthStencilStateCreateInfo.Builder`
  `setDepthBoundsTestEnable(boolean depthBoundsTestEnable)`
  Initializes the value for the `depthBoundsTestEnable` attribute.
  `final VulkanPipelineDepthStencilStateCreateInfo.Builder`
  `setDepthCompareOp(VulkanCompareOp depthCompareOp)`
  Initializes the value for the `depthCompareOp` attribute.
  `final VulkanPipelineDepthStencilStateCreateInfo.Builder`
  `setDepthTestEnable(boolean depthTestEnable)`
  Initializes the value for the `depthTestEnable` attribute.
  `final VulkanPipelineDepthStencilStateCreateInfo.Builder`
  `setDepthWriteEnable(boolean depthWriteEnable)`
  Initializes the value for the `depthWriteEnable` attribute.
  `final VulkanPipelineDepthStencilStateCreateInfo.Builder`
  `setFlags(Iterable<VulkanPipelineDepthStencilStateCreateFlag> elements)`
  Sets or replaces all elements for `flags` set.
  `final VulkanPipelineDepthStencilStateCreateInfo.Builder`
  `setFront(VulkanStencilOpState front)`
  Initializes the value for the `front` attribute.
  `final VulkanPipelineDepthStencilStateCreateInfo.Builder`
  `setMaxDepthBounds(float maxDepthBounds)`
  Initializes the value for the `maxDepthBounds` attribute.
  `final VulkanPipelineDepthStencilStateCreateInfo.Builder`
  `setMinDepthBounds(float minDepthBounds)`
  Initializes the value for the `minDepthBounds` attribute.
  `final VulkanPipelineDepthStencilStateCreateInfo.Builder`
  `setStencilTestEnable(boolean stencilTestEnable)`
  Initializes the value for the `stencilTestEnable` attribute.

  ### Methods inherited from class Object

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

- ## Method Details

  - ### from

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

  - ### addFlags

    public final VulkanPipelineDepthStencilStateCreateInfo.Builder addFlags(VulkanPipelineDepthStencilStateCreateFlag element)
    Adds one element to `flags` set.
    Parameters:
      `element` - A flags element
    Returns:
      `this` builder for use in a chained invocation

  - ### addFlags

    public final VulkanPipelineDepthStencilStateCreateInfo.Builder addFlags(VulkanPipelineDepthStencilStateCreateFlag... elements)
    Adds elements to `flags` set.
    Parameters:
      `elements` - An array of flags elements
    Returns:
      `this` builder for use in a chained invocation

  - ### setFlags

    public final VulkanPipelineDepthStencilStateCreateInfo.Builder setFlags(Iterable<VulkanPipelineDepthStencilStateCreateFlag> elements)
    Sets or replaces all elements for `flags` set.
    Parameters:
      `elements` - An iterable of flags elements
    Returns:
      `this` builder for use in a chained invocation

  - ### addAllFlags

    public final VulkanPipelineDepthStencilStateCreateInfo.Builder addAllFlags(Iterable<VulkanPipelineDepthStencilStateCreateFlag> elements)
    Adds elements to `flags` set.
    Parameters:
      `elements` - An iterable of flags elements
    Returns:
      `this` builder for use in a chained invocation

  - ### setDepthTestEnable

    public final VulkanPipelineDepthStencilStateCreateInfo.Builder setDepthTestEnable(boolean depthTestEnable)
    Initializes the value for the `depthTestEnable` attribute.

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

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

  - ### setDepthWriteEnable

    public final VulkanPipelineDepthStencilStateCreateInfo.Builder setDepthWriteEnable(boolean depthWriteEnable)
    Initializes the value for the `depthWriteEnable` attribute.

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

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

  - ### setDepthCompareOp

    public final VulkanPipelineDepthStencilStateCreateInfo.Builder setDepthCompareOp(VulkanCompareOp depthCompareOp)
    Initializes the value for the `depthCompareOp` attribute.

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

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

  - ### setDepthBoundsTestEnable

    public final VulkanPipelineDepthStencilStateCreateInfo.Builder setDepthBoundsTestEnable(boolean depthBoundsTestEnable)
    Initializes the value for the `depthBoundsTestEnable` attribute.

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

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

  - ### setStencilTestEnable

    public final VulkanPipelineDepthStencilStateCreateInfo.Builder setStencilTestEnable(boolean stencilTestEnable)
    Initializes the value for the `stencilTestEnable` attribute.

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

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

  - ### setFront

    public final VulkanPipelineDepthStencilStateCreateInfo.Builder setFront(VulkanStencilOpState front)
    Initializes the value for the `front` attribute.

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

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

  - ### setBack

    public final VulkanPipelineDepthStencilStateCreateInfo.Builder setBack(VulkanStencilOpState back)
    Initializes the value for the `back` attribute.

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

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

  - ### setMinDepthBounds

    public final VulkanPipelineDepthStencilStateCreateInfo.Builder setMinDepthBounds(float minDepthBounds)
    Initializes the value for the `minDepthBounds` attribute.

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

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

  - ### setMaxDepthBounds

    public final VulkanPipelineDepthStencilStateCreateInfo.Builder setMaxDepthBounds(float maxDepthBounds)
    Initializes the value for the `maxDepthBounds` attribute.

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

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

  - ### build

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