Class VulkanInstanceCreateInfo.Builder
java.lang.Object
com.io7m.jcoronado.api.VulkanInstanceCreateInfo.Builder
- Enclosing class:
VulkanInstanceCreateInfo
Builds instances of type
VulkanInstanceCreateInfo.
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 Summary
Modifier and TypeMethodDescriptionaddAllEnabledExtensions(Iterable<String> elements) Adds elements toenabledExtensionsset.addAllEnabledLayers(Iterable<String> elements) Adds elements toenabledLayersset.addAllExtensionInfo(Iterable<? extends VulkanInstanceExtensionInfoType> elements) Adds elements toextensionInfolist.addEnabledExtensions(String element) Adds one element toenabledExtensionsset.addEnabledExtensions(String... elements) Adds elements toenabledExtensionsset.addEnabledLayers(String element) Adds one element toenabledLayersset.addEnabledLayers(String... elements) Adds elements toenabledLayersset.Adds one element toextensionInfolist.addExtensionInfo(VulkanInstanceExtensionInfoType... elements) Adds elements toextensionInfolist.build()Builds a newVulkanInstanceCreateInfo.from(VulkanInstanceCreateInfoType instance) Fill a builder with attribute values from the providedVulkanInstanceCreateInfoTypeinstance.setApplicationInfo(VulkanApplicationInfo applicationInfo) Initializes the value for theapplicationInfoattribute.setEnabledExtensions(Iterable<String> elements) Sets or replaces all elements forenabledExtensionsset.setEnabledLayers(Iterable<String> elements) Sets or replaces all elements forenabledLayersset.setExtensionInfo(Iterable<? extends VulkanInstanceExtensionInfoType> elements) Sets or replaces all elements forextensionInfolist.
-
Method Details
-
from
Fill a builder with attribute values from the providedVulkanInstanceCreateInfoTypeinstance. 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:
thisbuilder for use in a chained invocation
-
setApplicationInfo
public final VulkanInstanceCreateInfo.Builder setApplicationInfo(VulkanApplicationInfo applicationInfo) Initializes the value for theapplicationInfoattribute.- Parameters:
applicationInfo- The value for applicationInfo- Returns:
thisbuilder for use in a chained invocation
-
addEnabledExtensions
Adds one element toenabledExtensionsset.- Parameters:
element- A enabledExtensions element- Returns:
thisbuilder for use in a chained invocation
-
addEnabledExtensions
Adds elements toenabledExtensionsset.- Parameters:
elements- An array of enabledExtensions elements- Returns:
thisbuilder for use in a chained invocation
-
setEnabledExtensions
Sets or replaces all elements forenabledExtensionsset.- Parameters:
elements- An iterable of enabledExtensions elements- Returns:
thisbuilder for use in a chained invocation
-
addAllEnabledExtensions
Adds elements toenabledExtensionsset.- Parameters:
elements- An iterable of enabledExtensions elements- Returns:
thisbuilder for use in a chained invocation
-
addEnabledLayers
Adds one element toenabledLayersset.- Parameters:
element- A enabledLayers element- Returns:
thisbuilder for use in a chained invocation
-
addEnabledLayers
Adds elements toenabledLayersset.- Parameters:
elements- An array of enabledLayers elements- Returns:
thisbuilder for use in a chained invocation
-
setEnabledLayers
Sets or replaces all elements forenabledLayersset.- Parameters:
elements- An iterable of enabledLayers elements- Returns:
thisbuilder for use in a chained invocation
-
addAllEnabledLayers
Adds elements toenabledLayersset.- Parameters:
elements- An iterable of enabledLayers elements- Returns:
thisbuilder for use in a chained invocation
-
addExtensionInfo
public final VulkanInstanceCreateInfo.Builder addExtensionInfo(VulkanInstanceExtensionInfoType element) Adds one element toextensionInfolist.- Parameters:
element- A extensionInfo element- Returns:
thisbuilder for use in a chained invocation
-
addExtensionInfo
public final VulkanInstanceCreateInfo.Builder addExtensionInfo(VulkanInstanceExtensionInfoType... elements) Adds elements toextensionInfolist.- Parameters:
elements- An array of extensionInfo elements- Returns:
thisbuilder for use in a chained invocation
-
setExtensionInfo
public final VulkanInstanceCreateInfo.Builder setExtensionInfo(Iterable<? extends VulkanInstanceExtensionInfoType> elements) Sets or replaces all elements forextensionInfolist.- Parameters:
elements- An iterable of extensionInfo elements- Returns:
thisbuilder for use in a chained invocation
-
addAllExtensionInfo
public final VulkanInstanceCreateInfo.Builder addAllExtensionInfo(Iterable<? extends VulkanInstanceExtensionInfoType> elements) Adds elements toextensionInfolist.- Parameters:
elements- An iterable of extensionInfo elements- Returns:
thisbuilder for use in a chained invocation
-
build
Builds a newVulkanInstanceCreateInfo.- Returns:
- An immutable instance of VulkanInstanceCreateInfo
- Throws:
IllegalStateException- if any required attributes are missing
-