- java.lang.Object
-
- com.io7m.jcoronado.api.VulkanFormatProperties.Builder
-
- Enclosing class:
- VulkanFormatProperties
public static final class VulkanFormatProperties.Builder extends java.lang.Object
Builds instances of typeVulkanFormatProperties
. 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 VulkanFormatProperties.Builder from(VulkanFormatPropertiesType instance)
Fill a builder with attribute values from the providedVulkanFormatPropertiesType
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
-
addLinearTilingFeatures
public final VulkanFormatProperties.Builder addLinearTilingFeatures(VulkanFormatFeatureFlag element)
Adds one element tolinearTilingFeatures
set.- Parameters:
element
- A linearTilingFeatures element- Returns:
this
builder for use in a chained invocation
-
addLinearTilingFeatures
public final VulkanFormatProperties.Builder addLinearTilingFeatures(VulkanFormatFeatureFlag... elements)
Adds elements tolinearTilingFeatures
set.- Parameters:
elements
- An array of linearTilingFeatures elements- Returns:
this
builder for use in a chained invocation
-
setLinearTilingFeatures
public final VulkanFormatProperties.Builder setLinearTilingFeatures(java.lang.Iterable<VulkanFormatFeatureFlag> elements)
Sets or replaces all elements forlinearTilingFeatures
set.- Parameters:
elements
- An iterable of linearTilingFeatures elements- Returns:
this
builder for use in a chained invocation
-
addAllLinearTilingFeatures
public final VulkanFormatProperties.Builder addAllLinearTilingFeatures(java.lang.Iterable<VulkanFormatFeatureFlag> elements)
Adds elements tolinearTilingFeatures
set.- Parameters:
elements
- An iterable of linearTilingFeatures elements- Returns:
this
builder for use in a chained invocation
-
addOptimalTilingFeatures
public final VulkanFormatProperties.Builder addOptimalTilingFeatures(VulkanFormatFeatureFlag element)
Adds one element tooptimalTilingFeatures
set.- Parameters:
element
- A optimalTilingFeatures element- Returns:
this
builder for use in a chained invocation
-
addOptimalTilingFeatures
public final VulkanFormatProperties.Builder addOptimalTilingFeatures(VulkanFormatFeatureFlag... elements)
Adds elements tooptimalTilingFeatures
set.- Parameters:
elements
- An array of optimalTilingFeatures elements- Returns:
this
builder for use in a chained invocation
-
setOptimalTilingFeatures
public final VulkanFormatProperties.Builder setOptimalTilingFeatures(java.lang.Iterable<VulkanFormatFeatureFlag> elements)
Sets or replaces all elements foroptimalTilingFeatures
set.- Parameters:
elements
- An iterable of optimalTilingFeatures elements- Returns:
this
builder for use in a chained invocation
-
addAllOptimalTilingFeatures
public final VulkanFormatProperties.Builder addAllOptimalTilingFeatures(java.lang.Iterable<VulkanFormatFeatureFlag> elements)
Adds elements tooptimalTilingFeatures
set.- Parameters:
elements
- An iterable of optimalTilingFeatures elements- Returns:
this
builder for use in a chained invocation
-
addBufferFeatures
public final VulkanFormatProperties.Builder addBufferFeatures(VulkanFormatFeatureFlag element)
Adds one element tobufferFeatures
set.- Parameters:
element
- A bufferFeatures element- Returns:
this
builder for use in a chained invocation
-
addBufferFeatures
public final VulkanFormatProperties.Builder addBufferFeatures(VulkanFormatFeatureFlag... elements)
Adds elements tobufferFeatures
set.- Parameters:
elements
- An array of bufferFeatures elements- Returns:
this
builder for use in a chained invocation
-
setBufferFeatures
public final VulkanFormatProperties.Builder setBufferFeatures(java.lang.Iterable<VulkanFormatFeatureFlag> elements)
Sets or replaces all elements forbufferFeatures
set.- Parameters:
elements
- An iterable of bufferFeatures elements- Returns:
this
builder for use in a chained invocation
-
addAllBufferFeatures
public final VulkanFormatProperties.Builder addAllBufferFeatures(java.lang.Iterable<VulkanFormatFeatureFlag> elements)
Adds elements tobufferFeatures
set.- Parameters:
elements
- An iterable of bufferFeatures elements- Returns:
this
builder for use in a chained invocation
-
build
public VulkanFormatProperties build()
Builds a newVulkanFormatProperties
.- Returns:
- An immutable instance of VulkanFormatProperties
- Throws:
java.lang.IllegalStateException
- if any required attributes are missing
-
-