Class VulkanMemoryHeap.Builder

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

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

      public final VulkanMemoryHeap.Builder from(VulkanMemoryHeapType instance)
      Fill a builder with attribute values from the provided VulkanMemoryHeapType 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
    • setIndex

      public final VulkanMemoryHeap.Builder setIndex(VulkanMemoryHeapIndex index)
      Initializes the value for the index attribute.
      Parameters:
      index - The value for index
      Returns:
      this builder for use in a chained invocation
    • setSize

      public final VulkanMemoryHeap.Builder setSize(long 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
    • addFlags

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

      public final VulkanMemoryHeap.Builder addFlags(VulkanMemoryHeapFlag... 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 VulkanMemoryHeap.Builder setFlags(Iterable<VulkanMemoryHeapFlag> 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 VulkanMemoryHeap.Builder addAllFlags(Iterable<VulkanMemoryHeapFlag> elements)
      Adds elements to flags set.
      Parameters:
      elements - An iterable of flags elements
      Returns:
      this builder for use in a chained invocation
    • build

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