Module com.io7m.jcoronado.api
Package com.io7m.jcoronado.api
Class VulkanImageFormatProperties.Builder
- java.lang.Object
-
- com.io7m.jcoronado.api.VulkanImageFormatProperties.Builder
-
- Enclosing class:
- VulkanImageFormatProperties
public static final class VulkanImageFormatProperties.Builder extends java.lang.Object
Builds instances of typeVulkanImageFormatProperties
. Initialize attributes and then invoke thebuild()
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
-
-
-
Method Detail
-
from
public final VulkanImageFormatProperties.Builder from(VulkanImageFormatPropertiesType instance)
Fill a builder with attribute values from the providedVulkanImageFormatPropertiesType
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
-
setMaxExtent
public final VulkanImageFormatProperties.Builder setMaxExtent(VulkanExtent3D maxExtent)
Initializes the value for themaxExtent
attribute.- Parameters:
maxExtent
- The value for maxExtent- Returns:
this
builder for use in a chained invocation
-
setMaxMipLevels
public final VulkanImageFormatProperties.Builder setMaxMipLevels(int maxMipLevels)
Initializes the value for themaxMipLevels
attribute.- Parameters:
maxMipLevels
- The value for maxMipLevels- Returns:
this
builder for use in a chained invocation
-
setMaxArrayLayers
public final VulkanImageFormatProperties.Builder setMaxArrayLayers(int maxArrayLayers)
Initializes the value for themaxArrayLayers
attribute.- Parameters:
maxArrayLayers
- The value for maxArrayLayers- Returns:
this
builder for use in a chained invocation
-
addSampleCounts
public final VulkanImageFormatProperties.Builder addSampleCounts(VulkanSampleCountFlag element)
Adds one element tosampleCounts
set.- Parameters:
element
- A sampleCounts element- Returns:
this
builder for use in a chained invocation
-
addSampleCounts
public final VulkanImageFormatProperties.Builder addSampleCounts(VulkanSampleCountFlag... elements)
Adds elements tosampleCounts
set.- Parameters:
elements
- An array of sampleCounts elements- Returns:
this
builder for use in a chained invocation
-
setSampleCounts
public final VulkanImageFormatProperties.Builder setSampleCounts(java.lang.Iterable<VulkanSampleCountFlag> elements)
Sets or replaces all elements forsampleCounts
set.- Parameters:
elements
- An iterable of sampleCounts elements- Returns:
this
builder for use in a chained invocation
-
addAllSampleCounts
public final VulkanImageFormatProperties.Builder addAllSampleCounts(java.lang.Iterable<VulkanSampleCountFlag> elements)
Adds elements tosampleCounts
set.- Parameters:
elements
- An iterable of sampleCounts elements- Returns:
this
builder for use in a chained invocation
-
setMaxResourceSize
public final VulkanImageFormatProperties.Builder setMaxResourceSize(long maxResourceSize)
Initializes the value for themaxResourceSize
attribute.- Parameters:
maxResourceSize
- The value for maxResourceSize- Returns:
this
builder for use in a chained invocation
-
build
public VulkanImageFormatProperties build()
Builds a newVulkanImageFormatProperties
.- Returns:
- An immutable instance of VulkanImageFormatProperties
- Throws:
java.lang.IllegalStateException
- if any required attributes are missing
-
-