# Class VulkanPhysicalDeviceFeatures.Builder

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

Enclosing class:
  `VulkanPhysicalDeviceFeatures`

public static final class VulkanPhysicalDeviceFeatures.Builder extends Object
Builds instances of type `VulkanPhysicalDeviceFeatures`. 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
  `VulkanPhysicalDeviceFeatures`
  `build()`
  Builds a new `VulkanPhysicalDeviceFeatures`.
  `final VulkanPhysicalDeviceFeatures.Builder`
  `from(VulkanPhysicalDeviceFeaturesType instance)`
  Fill a builder with attribute values from the provided `VulkanPhysicalDeviceFeaturesType` instance.
  `final VulkanPhysicalDeviceFeatures.Builder`
  `setFeatures10(VulkanPhysicalDeviceFeatures10 features10)`
  Initializes the value for the `features10` attribute.
  `final VulkanPhysicalDeviceFeatures.Builder`
  `setFeatures11(VulkanPhysicalDeviceFeatures11 features11)`
  Initializes the value for the `features11` attribute.
  `final VulkanPhysicalDeviceFeatures.Builder`
  `setFeatures12(VulkanPhysicalDeviceFeatures12 features12)`
  Initializes the value for the `features12` attribute.
  `final VulkanPhysicalDeviceFeatures.Builder`
  `setFeatures13(VulkanPhysicalDeviceFeatures13 features13)`
  Initializes the value for the `features13` attribute.

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

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

- ## Method Details

  - ### from

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

  - ### setFeatures10

    public final VulkanPhysicalDeviceFeatures.Builder setFeatures10(VulkanPhysicalDeviceFeatures10 features10)
    Initializes the value for the `features10` attribute.
    Parameters:
      `features10` - The value for features10
    Returns:
      `this` builder for use in a chained invocation

  - ### setFeatures11

    public final VulkanPhysicalDeviceFeatures.Builder setFeatures11(VulkanPhysicalDeviceFeatures11 features11)
    Initializes the value for the `features11` attribute.
    Parameters:
      `features11` - The value for features11
    Returns:
      `this` builder for use in a chained invocation

  - ### setFeatures12

    public final VulkanPhysicalDeviceFeatures.Builder setFeatures12(VulkanPhysicalDeviceFeatures12 features12)
    Initializes the value for the `features12` attribute.
    Parameters:
      `features12` - The value for features12
    Returns:
      `this` builder for use in a chained invocation

  - ### setFeatures13

    public final VulkanPhysicalDeviceFeatures.Builder setFeatures13(VulkanPhysicalDeviceFeatures13 features13)
    Initializes the value for the `features13` attribute.
    Parameters:
      `features13` - The value for features13
    Returns:
      `this` builder for use in a chained invocation

  - ### build

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