Class VulkanPushConstantRange.Builder

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

public static final class VulkanPushConstantRange.Builder extends Object
Builds instances of type VulkanPushConstantRange. 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 VulkanPushConstantRangeType 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
    • addStageFlags

      public final VulkanPushConstantRange.Builder addStageFlags(VulkanShaderStageFlag element)
      Adds one element to stageFlags set.
      Parameters:
      element - A stageFlags element
      Returns:
      this builder for use in a chained invocation
    • addStageFlags

      public final VulkanPushConstantRange.Builder addStageFlags(VulkanShaderStageFlag... elements)
      Adds elements to stageFlags set.
      Parameters:
      elements - An array of stageFlags elements
      Returns:
      this builder for use in a chained invocation
    • setStageFlags

      public final VulkanPushConstantRange.Builder setStageFlags(Iterable<VulkanShaderStageFlag> elements)
      Sets or replaces all elements for stageFlags set.
      Parameters:
      elements - An iterable of stageFlags elements
      Returns:
      this builder for use in a chained invocation
    • addAllStageFlags

      public final VulkanPushConstantRange.Builder addAllStageFlags(Iterable<VulkanShaderStageFlag> elements)
      Adds elements to stageFlags set.
      Parameters:
      elements - An iterable of stageFlags elements
      Returns:
      this builder for use in a chained invocation
    • setOffset

      public final VulkanPushConstantRange.Builder setOffset(int offset)
      Initializes the value for the offset attribute.

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

      Parameters:
      offset - The value for offset
      Returns:
      this builder for use in a chained invocation
    • setSize

      public final VulkanPushConstantRange.Builder setSize(int size)
      Initializes the value for the size attribute.

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

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

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