Class VulkanInstanceCreateInfo
java.lang.Object
com.io7m.jcoronado.api.VulkanInstanceCreateInfo
- All Implemented Interfaces:
VulkanInstanceCreateInfoType
Information required to create a Vulkan instance.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classBuilds instances of typeVulkanInstanceCreateInfo. -
Method Summary
Modifier and TypeMethodDescriptionbuilder()Creates a builder forVulkanInstanceCreateInfo.static VulkanInstanceCreateInfocopyOf(VulkanInstanceCreateInfoType instance) Creates an immutable copy of aVulkanInstanceCreateInfoTypevalue.booleanThis instance is equal to all instances ofVulkanInstanceCreateInfothat have equal attribute values.inthashCode()Computes a hash code from attributes:applicationInfo,enabledExtensions,enabledLayers,extensionInfo.static VulkanInstanceCreateInfoof(VulkanApplicationInfo applicationInfo, Iterable<String> enabledExtensions, Iterable<String> enabledLayers) Construct a new immutableVulkanInstanceCreateInfoinstance.static VulkanInstanceCreateInfoConstruct a new immutableVulkanInstanceCreateInfoinstance.toString()Prints the immutable valueVulkanInstanceCreateInfowith attribute values.final VulkanInstanceCreateInfoCopy the current immutable object by setting a value for theapplicationInfoattribute.final VulkanInstanceCreateInfowithEnabledExtensions(Iterable<String> elements) Copy the current immutable object with elements that replace the content ofenabledExtensions.final VulkanInstanceCreateInfowithEnabledExtensions(String... elements) Copy the current immutable object with elements that replace the content ofenabledExtensions.final VulkanInstanceCreateInfowithEnabledLayers(Iterable<String> elements) Copy the current immutable object with elements that replace the content ofenabledLayers.final VulkanInstanceCreateInfowithEnabledLayers(String... elements) Copy the current immutable object with elements that replace the content ofenabledLayers.final VulkanInstanceCreateInfowithExtensionInfo(VulkanInstanceExtensionInfoType... elements) Copy the current immutable object with elements that replace the content ofextensionInfo.final VulkanInstanceCreateInfowithExtensionInfo(Iterable<? extends VulkanInstanceExtensionInfoType> elements) Copy the current immutable object with elements that replace the content ofextensionInfo.
-
Method Details
-
applicationInfo
- Specified by:
applicationInfoin interfaceVulkanInstanceCreateInfoType- Returns:
- The application info
-
enabledExtensions
- Specified by:
enabledExtensionsin interfaceVulkanInstanceCreateInfoType- Returns:
- The names of all extensions that should be enabled
-
enabledLayers
- Specified by:
enabledLayersin interfaceVulkanInstanceCreateInfoType- Returns:
- The names of all layers that should be enabled
-
extensionInfo
- Specified by:
extensionInfoin interfaceVulkanInstanceCreateInfoType- Returns:
- The list of instance creation extensions
-
withApplicationInfo
Copy the current immutable object by setting a value for theapplicationInfoattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for applicationInfo- Returns:
- A modified copy of the
thisobject
-
withEnabledExtensions
Copy the current immutable object with elements that replace the content ofenabledExtensions.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withEnabledExtensions
Copy the current immutable object with elements that replace the content ofenabledExtensions. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of enabledExtensions elements to set- Returns:
- A modified copy of
thisobject
-
withEnabledLayers
Copy the current immutable object with elements that replace the content ofenabledLayers.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withEnabledLayers
Copy the current immutable object with elements that replace the content ofenabledLayers. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of enabledLayers elements to set- Returns:
- A modified copy of
thisobject
-
withExtensionInfo
public final VulkanInstanceCreateInfo withExtensionInfo(VulkanInstanceExtensionInfoType... elements) Copy the current immutable object with elements that replace the content ofextensionInfo.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withExtensionInfo
public final VulkanInstanceCreateInfo withExtensionInfo(Iterable<? extends VulkanInstanceExtensionInfoType> elements) Copy the current immutable object with elements that replace the content ofextensionInfo. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of extensionInfo elements to set- Returns:
- A modified copy of
thisobject
-
equals
-
hashCode
-
toString
-
of
public static VulkanInstanceCreateInfo of(VulkanApplicationInfo applicationInfo, Set<String> enabledExtensions, Set<String> enabledLayers) Construct a new immutableVulkanInstanceCreateInfoinstance.- Parameters:
applicationInfo- The value for theapplicationInfoattributeenabledExtensions- The value for theenabledExtensionsattributeenabledLayers- The value for theenabledLayersattribute- Returns:
- An immutable VulkanInstanceCreateInfo instance
-
of
public static VulkanInstanceCreateInfo of(VulkanApplicationInfo applicationInfo, Iterable<String> enabledExtensions, Iterable<String> enabledLayers) Construct a new immutableVulkanInstanceCreateInfoinstance.- Parameters:
applicationInfo- The value for theapplicationInfoattributeenabledExtensions- The value for theenabledExtensionsattributeenabledLayers- The value for theenabledLayersattribute- Returns:
- An immutable VulkanInstanceCreateInfo instance
-
copyOf
Creates an immutable copy of aVulkanInstanceCreateInfoTypevalue. Uses accessors to get values to initialize the new immutable instance. If an instance is already immutable, it is returned as is.- Parameters:
instance- The instance to copy- Returns:
- A copied immutable VulkanInstanceCreateInfo instance
-
builder
Creates a builder forVulkanInstanceCreateInfo.VulkanInstanceCreateInfo.builder() .setApplicationInfo(com.io7m.jcoronado.api.VulkanApplicationInfo) // requiredapplicationInfo.addEnabledExtensions|addAllEnabledExtensions(String) //enabledExtensionselements .addEnabledLayers|addAllEnabledLayers(String) //enabledLayerselements .addExtensionInfo|addAllExtensionInfo(com.io7m.jcoronado.api.VulkanInstanceExtensionInfoType) //extensionInfoelements .build();- Returns:
- A new VulkanInstanceCreateInfo builder
-