Class VulkanImageSubresource.Builder

java.lang.Object
com.io7m.jcoronado.api.VulkanImageSubresource.Builder
Enclosing class:
VulkanImageSubresource

public static final class VulkanImageSubresource.Builder extends Object
Builds instances of type VulkanImageSubresource. 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 Details

    • from

      Fill a builder with attribute values from the provided VulkanImageSubresourceType 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
    • addAspectMask

      public final VulkanImageSubresource.Builder addAspectMask(VulkanImageAspectFlag element)
      Adds one element to aspectMask set.
      Parameters:
      element - A aspectMask element
      Returns:
      this builder for use in a chained invocation
    • addAspectMask

      public final VulkanImageSubresource.Builder addAspectMask(VulkanImageAspectFlag... elements)
      Adds elements to aspectMask set.
      Parameters:
      elements - An array of aspectMask elements
      Returns:
      this builder for use in a chained invocation
    • setAspectMask

      public final VulkanImageSubresource.Builder setAspectMask(Iterable<VulkanImageAspectFlag> elements)
      Sets or replaces all elements for aspectMask set.
      Parameters:
      elements - An iterable of aspectMask elements
      Returns:
      this builder for use in a chained invocation
    • addAllAspectMask

      public final VulkanImageSubresource.Builder addAllAspectMask(Iterable<VulkanImageAspectFlag> elements)
      Adds elements to aspectMask set.
      Parameters:
      elements - An iterable of aspectMask elements
      Returns:
      this builder for use in a chained invocation
    • setMipLevel

      public final VulkanImageSubresource.Builder setMipLevel(int mipLevel)
      Initializes the value for the mipLevel attribute.

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

      Parameters:
      mipLevel - The value for mipLevel
      Returns:
      this builder for use in a chained invocation
    • setArrayLayer

      public final VulkanImageSubresource.Builder setArrayLayer(int arrayLayer)
      Initializes the value for the arrayLayer attribute.

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

      Parameters:
      arrayLayer - The value for arrayLayer
      Returns:
      this builder for use in a chained invocation
    • build

      public VulkanImageSubresource build()
      Returns:
      An immutable instance of VulkanImageSubresource
      Throws:
      IllegalStateException - if any required attributes are missing