# Class VulkanSurfaceCapabilitiesKHR.Builder

java.lang.Object
com.io7m.jcoronado.extensions.khr_surface.api.VulkanSurfaceCapabilitiesKHR.Builder

Enclosing class:
  `VulkanSurfaceCapabilitiesKHR`

public static final class VulkanSurfaceCapabilitiesKHR.Builder extends Object
Builds instances of type `VulkanSurfaceCapabilitiesKHR`. 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 VulkanSurfaceCapabilitiesKHR.Builder`
  `addAllCurrentTransform(Iterable<VulkanSurfaceTransformFlagKHR> elements)`
  Adds elements to `currentTransform` set.
  `final VulkanSurfaceCapabilitiesKHR.Builder`
  `addAllSupportedCompositeAlpha(Iterable<VulkanCompositeAlphaFlagKHR> elements)`
  Adds elements to `supportedCompositeAlpha` set.
  `final VulkanSurfaceCapabilitiesKHR.Builder`
  `addAllSupportedTransforms(Iterable<VulkanSurfaceTransformFlagKHR> elements)`
  Adds elements to `supportedTransforms` set.
  `final VulkanSurfaceCapabilitiesKHR.Builder`
  `addAllSupportedUsageFlags(Iterable<VulkanImageUsageFlag> elements)`
  Adds elements to `supportedUsageFlags` set.
  `final VulkanSurfaceCapabilitiesKHR.Builder`
  `addCurrentTransform(VulkanSurfaceTransformFlagKHR element)`
  Adds one element to `currentTransform` set.
  `final VulkanSurfaceCapabilitiesKHR.Builder`
  `addCurrentTransform(VulkanSurfaceTransformFlagKHR... elements)`
  Adds elements to `currentTransform` set.
  `final VulkanSurfaceCapabilitiesKHR.Builder`
  `addSupportedCompositeAlpha(VulkanCompositeAlphaFlagKHR element)`
  Adds one element to `supportedCompositeAlpha` set.
  `final VulkanSurfaceCapabilitiesKHR.Builder`
  `addSupportedCompositeAlpha(VulkanCompositeAlphaFlagKHR... elements)`
  Adds elements to `supportedCompositeAlpha` set.
  `final VulkanSurfaceCapabilitiesKHR.Builder`
  `addSupportedTransforms(VulkanSurfaceTransformFlagKHR element)`
  Adds one element to `supportedTransforms` set.
  `final VulkanSurfaceCapabilitiesKHR.Builder`
  `addSupportedTransforms(VulkanSurfaceTransformFlagKHR... elements)`
  Adds elements to `supportedTransforms` set.
  `final VulkanSurfaceCapabilitiesKHR.Builder`
  `addSupportedUsageFlags(VulkanImageUsageFlag element)`
  Adds one element to `supportedUsageFlags` set.
  `final VulkanSurfaceCapabilitiesKHR.Builder`
  `addSupportedUsageFlags(VulkanImageUsageFlag... elements)`
  Adds elements to `supportedUsageFlags` set.
  `VulkanSurfaceCapabilitiesKHR`
  `build()`
  Builds a new `VulkanSurfaceCapabilitiesKHR`.
  `final VulkanSurfaceCapabilitiesKHR.Builder`
  `from(VulkanSurfaceCapabilitiesKHRType instance)`
  Fill a builder with attribute values from the provided `VulkanSurfaceCapabilitiesKHRType` instance.
  `final VulkanSurfaceCapabilitiesKHR.Builder`
  `setCurrentExtent(VulkanExtent2D currentExtent)`
  Initializes the value for the `currentExtent` attribute.
  `final VulkanSurfaceCapabilitiesKHR.Builder`
  `setCurrentTransform(Iterable<VulkanSurfaceTransformFlagKHR> elements)`
  Sets or replaces all elements for `currentTransform` set.
  `final VulkanSurfaceCapabilitiesKHR.Builder`
  `setMaxImageArrayLayers(int maxImageArrayLayers)`
  Initializes the value for the `maxImageArrayLayers` attribute.
  `final VulkanSurfaceCapabilitiesKHR.Builder`
  `setMaxImageCount(int maxImageCount)`
  Initializes the value for the `maxImageCount` attribute.
  `final VulkanSurfaceCapabilitiesKHR.Builder`
  `setMaxImageExtent(VulkanExtent2D maxImageExtent)`
  Initializes the value for the `maxImageExtent` attribute.
  `final VulkanSurfaceCapabilitiesKHR.Builder`
  `setMinImageCount(int minImageCount)`
  Initializes the value for the `minImageCount` attribute.
  `final VulkanSurfaceCapabilitiesKHR.Builder`
  `setMinImageExtent(VulkanExtent2D minImageExtent)`
  Initializes the value for the `minImageExtent` attribute.
  `final VulkanSurfaceCapabilitiesKHR.Builder`
  `setSupportedCompositeAlpha(Iterable<VulkanCompositeAlphaFlagKHR> elements)`
  Sets or replaces all elements for `supportedCompositeAlpha` set.
  `final VulkanSurfaceCapabilitiesKHR.Builder`
  `setSupportedTransforms(Iterable<VulkanSurfaceTransformFlagKHR> elements)`
  Sets or replaces all elements for `supportedTransforms` set.
  `final VulkanSurfaceCapabilitiesKHR.Builder`
  `setSupportedUsageFlags(Iterable<VulkanImageUsageFlag> elements)`
  Sets or replaces all elements for `supportedUsageFlags` set.

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

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

- ## Method Details

  - ### from

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

  - ### setMinImageCount

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

  - ### setMaxImageCount

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

  - ### setCurrentExtent

    public final VulkanSurfaceCapabilitiesKHR.Builder setCurrentExtent(VulkanExtent2D currentExtent)
    Initializes the value for the `currentExtent` attribute.
    Parameters:
      `currentExtent` - The value for currentExtent
    Returns:
      `this` builder for use in a chained invocation

  - ### setMinImageExtent

    public final VulkanSurfaceCapabilitiesKHR.Builder setMinImageExtent(VulkanExtent2D minImageExtent)
    Initializes the value for the `minImageExtent` attribute.
    Parameters:
      `minImageExtent` - The value for minImageExtent
    Returns:
      `this` builder for use in a chained invocation

  - ### setMaxImageExtent

    public final VulkanSurfaceCapabilitiesKHR.Builder setMaxImageExtent(VulkanExtent2D maxImageExtent)
    Initializes the value for the `maxImageExtent` attribute.
    Parameters:
      `maxImageExtent` - The value for maxImageExtent
    Returns:
      `this` builder for use in a chained invocation

  - ### setMaxImageArrayLayers

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

  - ### addSupportedTransforms

    public final VulkanSurfaceCapabilitiesKHR.Builder addSupportedTransforms(VulkanSurfaceTransformFlagKHR element)
    Adds one element to `supportedTransforms` set.
    Parameters:
      `element` - A supportedTransforms element
    Returns:
      `this` builder for use in a chained invocation

  - ### addSupportedTransforms

    public final VulkanSurfaceCapabilitiesKHR.Builder addSupportedTransforms(VulkanSurfaceTransformFlagKHR... elements)
    Adds elements to `supportedTransforms` set.
    Parameters:
      `elements` - An array of supportedTransforms elements
    Returns:
      `this` builder for use in a chained invocation

  - ### setSupportedTransforms

    public final VulkanSurfaceCapabilitiesKHR.Builder setSupportedTransforms(Iterable<VulkanSurfaceTransformFlagKHR> elements)
    Sets or replaces all elements for `supportedTransforms` set.
    Parameters:
      `elements` - An iterable of supportedTransforms elements
    Returns:
      `this` builder for use in a chained invocation

  - ### addAllSupportedTransforms

    public final VulkanSurfaceCapabilitiesKHR.Builder addAllSupportedTransforms(Iterable<VulkanSurfaceTransformFlagKHR> elements)
    Adds elements to `supportedTransforms` set.
    Parameters:
      `elements` - An iterable of supportedTransforms elements
    Returns:
      `this` builder for use in a chained invocation

  - ### addCurrentTransform

    public final VulkanSurfaceCapabilitiesKHR.Builder addCurrentTransform(VulkanSurfaceTransformFlagKHR element)
    Adds one element to `currentTransform` set.
    Parameters:
      `element` - A currentTransform element
    Returns:
      `this` builder for use in a chained invocation

  - ### addCurrentTransform

    public final VulkanSurfaceCapabilitiesKHR.Builder addCurrentTransform(VulkanSurfaceTransformFlagKHR... elements)
    Adds elements to `currentTransform` set.
    Parameters:
      `elements` - An array of currentTransform elements
    Returns:
      `this` builder for use in a chained invocation

  - ### setCurrentTransform

    public final VulkanSurfaceCapabilitiesKHR.Builder setCurrentTransform(Iterable<VulkanSurfaceTransformFlagKHR> elements)
    Sets or replaces all elements for `currentTransform` set.
    Parameters:
      `elements` - An iterable of currentTransform elements
    Returns:
      `this` builder for use in a chained invocation

  - ### addAllCurrentTransform

    public final VulkanSurfaceCapabilitiesKHR.Builder addAllCurrentTransform(Iterable<VulkanSurfaceTransformFlagKHR> elements)
    Adds elements to `currentTransform` set.
    Parameters:
      `elements` - An iterable of currentTransform elements
    Returns:
      `this` builder for use in a chained invocation

  - ### addSupportedCompositeAlpha

    public final VulkanSurfaceCapabilitiesKHR.Builder addSupportedCompositeAlpha(VulkanCompositeAlphaFlagKHR element)
    Adds one element to `supportedCompositeAlpha` set.
    Parameters:
      `element` - A supportedCompositeAlpha element
    Returns:
      `this` builder for use in a chained invocation

  - ### addSupportedCompositeAlpha

    public final VulkanSurfaceCapabilitiesKHR.Builder addSupportedCompositeAlpha(VulkanCompositeAlphaFlagKHR... elements)
    Adds elements to `supportedCompositeAlpha` set.
    Parameters:
      `elements` - An array of supportedCompositeAlpha elements
    Returns:
      `this` builder for use in a chained invocation

  - ### setSupportedCompositeAlpha

    public final VulkanSurfaceCapabilitiesKHR.Builder setSupportedCompositeAlpha(Iterable<VulkanCompositeAlphaFlagKHR> elements)
    Sets or replaces all elements for `supportedCompositeAlpha` set.
    Parameters:
      `elements` - An iterable of supportedCompositeAlpha elements
    Returns:
      `this` builder for use in a chained invocation

  - ### addAllSupportedCompositeAlpha

    public final VulkanSurfaceCapabilitiesKHR.Builder addAllSupportedCompositeAlpha(Iterable<VulkanCompositeAlphaFlagKHR> elements)
    Adds elements to `supportedCompositeAlpha` set.
    Parameters:
      `elements` - An iterable of supportedCompositeAlpha elements
    Returns:
      `this` builder for use in a chained invocation

  - ### addSupportedUsageFlags

    public final VulkanSurfaceCapabilitiesKHR.Builder addSupportedUsageFlags(VulkanImageUsageFlag element)
    Adds one element to `supportedUsageFlags` set.
    Parameters:
      `element` - A supportedUsageFlags element
    Returns:
      `this` builder for use in a chained invocation

  - ### addSupportedUsageFlags

    public final VulkanSurfaceCapabilitiesKHR.Builder addSupportedUsageFlags(VulkanImageUsageFlag... elements)
    Adds elements to `supportedUsageFlags` set.
    Parameters:
      `elements` - An array of supportedUsageFlags elements
    Returns:
      `this` builder for use in a chained invocation

  - ### setSupportedUsageFlags

    public final VulkanSurfaceCapabilitiesKHR.Builder setSupportedUsageFlags(Iterable<VulkanImageUsageFlag> elements)
    Sets or replaces all elements for `supportedUsageFlags` set.
    Parameters:
      `elements` - An iterable of supportedUsageFlags elements
    Returns:
      `this` builder for use in a chained invocation

  - ### addAllSupportedUsageFlags

    public final VulkanSurfaceCapabilitiesKHR.Builder addAllSupportedUsageFlags(Iterable<VulkanImageUsageFlag> elements)
    Adds elements to `supportedUsageFlags` set.
    Parameters:
      `elements` - An iterable of supportedUsageFlags elements
    Returns:
      `this` builder for use in a chained invocation

  - ### build

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