Module com.io7m.jcoronado.api
Package com.io7m.jcoronado.api
Class VulkanDescriptorSetLayoutBinding.Builder
- java.lang.Object
-
- com.io7m.jcoronado.api.VulkanDescriptorSetLayoutBinding.Builder
-
- Enclosing class:
- VulkanDescriptorSetLayoutBinding
public static final class VulkanDescriptorSetLayoutBinding.Builder extends java.lang.Object
Builds instances of typeVulkanDescriptorSetLayoutBinding
. 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 VulkanDescriptorSetLayoutBinding.Builder from(VulkanDescriptorSetLayoutBindingType instance)
Fill a builder with attribute values from the providedVulkanDescriptorSetLayoutBindingType
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
-
setBinding
public final VulkanDescriptorSetLayoutBinding.Builder setBinding(int binding)
Initializes the value for thebinding
attribute.- Parameters:
binding
- The value for binding- Returns:
this
builder for use in a chained invocation
-
setDescriptorType
public final VulkanDescriptorSetLayoutBinding.Builder setDescriptorType(VulkanDescriptorType descriptorType)
Initializes the value for thedescriptorType
attribute.- Parameters:
descriptorType
- The value for descriptorType- Returns:
this
builder for use in a chained invocation
-
setDescriptorCount
public final VulkanDescriptorSetLayoutBinding.Builder setDescriptorCount(int descriptorCount)
Initializes the value for thedescriptorCount
attribute.- Parameters:
descriptorCount
- The value for descriptorCount- Returns:
this
builder for use in a chained invocation
-
addStageFlags
public final VulkanDescriptorSetLayoutBinding.Builder addStageFlags(VulkanShaderStageFlag element)
Adds one element tostageFlags
set.- Parameters:
element
- A stageFlags element- Returns:
this
builder for use in a chained invocation
-
addStageFlags
public final VulkanDescriptorSetLayoutBinding.Builder addStageFlags(VulkanShaderStageFlag... elements)
Adds elements tostageFlags
set.- Parameters:
elements
- An array of stageFlags elements- Returns:
this
builder for use in a chained invocation
-
setStageFlags
public final VulkanDescriptorSetLayoutBinding.Builder setStageFlags(java.lang.Iterable<VulkanShaderStageFlag> elements)
Sets or replaces all elements forstageFlags
set.- Parameters:
elements
- An iterable of stageFlags elements- Returns:
this
builder for use in a chained invocation
-
addAllStageFlags
public final VulkanDescriptorSetLayoutBinding.Builder addAllStageFlags(java.lang.Iterable<VulkanShaderStageFlag> elements)
Adds elements tostageFlags
set.- Parameters:
elements
- An iterable of stageFlags elements- Returns:
this
builder for use in a chained invocation
-
addImmutableSamplers
public final VulkanDescriptorSetLayoutBinding.Builder addImmutableSamplers(VulkanSamplerType element)
Adds one element toimmutableSamplers
list.- Parameters:
element
- A immutableSamplers element- Returns:
this
builder for use in a chained invocation
-
addImmutableSamplers
public final VulkanDescriptorSetLayoutBinding.Builder addImmutableSamplers(VulkanSamplerType... elements)
Adds elements toimmutableSamplers
list.- Parameters:
elements
- An array of immutableSamplers elements- Returns:
this
builder for use in a chained invocation
-
setImmutableSamplers
public final VulkanDescriptorSetLayoutBinding.Builder setImmutableSamplers(java.lang.Iterable<? extends VulkanSamplerType> elements)
Sets or replaces all elements forimmutableSamplers
list.- Parameters:
elements
- An iterable of immutableSamplers elements- Returns:
this
builder for use in a chained invocation
-
addAllImmutableSamplers
public final VulkanDescriptorSetLayoutBinding.Builder addAllImmutableSamplers(java.lang.Iterable<? extends VulkanSamplerType> elements)
Adds elements toimmutableSamplers
list.- Parameters:
elements
- An iterable of immutableSamplers elements- Returns:
this
builder for use in a chained invocation
-
build
public VulkanDescriptorSetLayoutBinding build()
Builds a newVulkanDescriptorSetLayoutBinding
.- Returns:
- An immutable instance of VulkanDescriptorSetLayoutBinding
- Throws:
java.lang.IllegalStateException
- if any required attributes are missing
-
-