Module com.io7m.jcoronado.api
Package com.io7m.jcoronado.api
Class VulkanPipelineShaderStageCreateInfo.Builder
- java.lang.Object
-
- com.io7m.jcoronado.api.VulkanPipelineShaderStageCreateInfo.Builder
-
- Enclosing class:
- VulkanPipelineShaderStageCreateInfo
public static final class VulkanPipelineShaderStageCreateInfo.Builder extends java.lang.Object
Builds instances of typeVulkanPipelineShaderStageCreateInfo
. 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 VulkanPipelineShaderStageCreateInfo.Builder from(VulkanPipelineShaderStageCreateInfoType instance)
Fill a builder with attribute values from the providedVulkanPipelineShaderStageCreateInfoType
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
-
addFlags
public final VulkanPipelineShaderStageCreateInfo.Builder addFlags(VulkanPipelineShaderStageCreateFlag element)
Adds one element toflags
set.- Parameters:
element
- A flags element- Returns:
this
builder for use in a chained invocation
-
addFlags
public final VulkanPipelineShaderStageCreateInfo.Builder addFlags(VulkanPipelineShaderStageCreateFlag... elements)
Adds elements toflags
set.- Parameters:
elements
- An array of flags elements- Returns:
this
builder for use in a chained invocation
-
setFlags
public final VulkanPipelineShaderStageCreateInfo.Builder setFlags(java.lang.Iterable<VulkanPipelineShaderStageCreateFlag> elements)
Sets or replaces all elements forflags
set.- Parameters:
elements
- An iterable of flags elements- Returns:
this
builder for use in a chained invocation
-
addAllFlags
public final VulkanPipelineShaderStageCreateInfo.Builder addAllFlags(java.lang.Iterable<VulkanPipelineShaderStageCreateFlag> elements)
Adds elements toflags
set.- Parameters:
elements
- An iterable of flags elements- Returns:
this
builder for use in a chained invocation
-
setStage
public final VulkanPipelineShaderStageCreateInfo.Builder setStage(VulkanShaderStageFlag stage)
Initializes the value for thestage
attribute.- Parameters:
stage
- The value for stage- Returns:
this
builder for use in a chained invocation
-
setModule
public final VulkanPipelineShaderStageCreateInfo.Builder setModule(VulkanShaderModuleType module)
Initializes the value for themodule
attribute.- Parameters:
module
- The value for module- Returns:
this
builder for use in a chained invocation
-
setShaderEntryPoint
public final VulkanPipelineShaderStageCreateInfo.Builder setShaderEntryPoint(java.lang.String shaderEntryPoint)
Initializes the value for theshaderEntryPoint
attribute.- Parameters:
shaderEntryPoint
- The value for shaderEntryPoint- Returns:
this
builder for use in a chained invocation
-
setSpecializationInfo
public final VulkanPipelineShaderStageCreateInfo.Builder setSpecializationInfo(VulkanSpecializationMap specializationInfo)
Initializes the optional valuespecializationInfo
to specializationInfo.- Parameters:
specializationInfo
- The value for specializationInfo- Returns:
this
builder for chained invocation
-
setSpecializationInfo
public final VulkanPipelineShaderStageCreateInfo.Builder setSpecializationInfo(java.util.Optional<? extends VulkanSpecializationMap> specializationInfo)
Initializes the optional valuespecializationInfo
to specializationInfo.- Parameters:
specializationInfo
- The value for specializationInfo- Returns:
this
builder for use in a chained invocation
-
build
public VulkanPipelineShaderStageCreateInfo build()
Builds a newVulkanPipelineShaderStageCreateInfo
.- Returns:
- An immutable instance of VulkanPipelineShaderStageCreateInfo
- Throws:
java.lang.IllegalStateException
- if any required attributes are missing
-
-