Class VulkanApplicationInfo
java.lang.Object
com.io7m.jcoronado.api.VulkanApplicationInfo
- All Implemented Interfaces:
VulkanApplicationInfoType
A description of the application that is using Vulkan.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classBuilds instances of typeVulkanApplicationInfo. -
Method Summary
Modifier and TypeMethodDescriptionintbuilder()Creates a builder forVulkanApplicationInfo.static VulkanApplicationInfocopyOf(VulkanApplicationInfoType instance) Creates an immutable copy of aVulkanApplicationInfoTypevalue.intbooleanThis instance is equal to all instances ofVulkanApplicationInfothat have equal attribute values.inthashCode()Computes a hash code from attributes:applicationName,applicationVersion,engineName,engineVersion,vulkanAPIVersion.static VulkanApplicationInfoof(String applicationName, int applicationVersion, String engineName, int engineVersion, int vulkanAPIVersion) Construct a new immutableVulkanApplicationInfoinstance.toString()Prints the immutable valueVulkanApplicationInfowith attribute values.intfinal VulkanApplicationInfowithApplicationName(String value) Copy the current immutable object by setting a value for theapplicationNameattribute.final VulkanApplicationInfowithApplicationVersion(int value) Copy the current immutable object by setting a value for theapplicationVersionattribute.final VulkanApplicationInfowithEngineName(String value) Copy the current immutable object by setting a value for theengineNameattribute.final VulkanApplicationInfowithEngineVersion(int value) Copy the current immutable object by setting a value for theengineVersionattribute.final VulkanApplicationInfowithVulkanAPIVersion(int value) Copy the current immutable object by setting a value for thevulkanAPIVersionattribute.
-
Method Details
-
applicationName
- Specified by:
applicationNamein interfaceVulkanApplicationInfoType- Returns:
- The application name
-
applicationVersion
public int applicationVersion()- Specified by:
applicationVersionin interfaceVulkanApplicationInfoType- Returns:
- The application version
-
engineName
- Specified by:
engineNamein interfaceVulkanApplicationInfoType- Returns:
- The engine name
-
engineVersion
public int engineVersion()- Specified by:
engineVersionin interfaceVulkanApplicationInfoType- Returns:
- The engine version
-
vulkanAPIVersion
public int vulkanAPIVersion()- Specified by:
vulkanAPIVersionin interfaceVulkanApplicationInfoType- Returns:
- The minimum required version of the Vulkan API
- See Also:
-
withApplicationName
Copy the current immutable object by setting a value for theapplicationNameattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for applicationName- Returns:
- A modified copy of the
thisobject
-
withApplicationVersion
Copy the current immutable object by setting a value for theapplicationVersionattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for applicationVersion- Returns:
- A modified copy of the
thisobject
-
withEngineName
Copy the current immutable object by setting a value for theengineNameattribute. An equals check used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for engineName- Returns:
- A modified copy of the
thisobject
-
withEngineVersion
Copy the current immutable object by setting a value for theengineVersionattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for engineVersion- Returns:
- A modified copy of the
thisobject
-
withVulkanAPIVersion
Copy the current immutable object by setting a value for thevulkanAPIVersionattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for vulkanAPIVersion- Returns:
- A modified copy of the
thisobject
-
equals
-
hashCode
-
toString
-
of
public static VulkanApplicationInfo of(String applicationName, int applicationVersion, String engineName, int engineVersion, int vulkanAPIVersion) Construct a new immutableVulkanApplicationInfoinstance.- Parameters:
applicationName- The value for theapplicationNameattributeapplicationVersion- The value for theapplicationVersionattributeengineName- The value for theengineNameattributeengineVersion- The value for theengineVersionattributevulkanAPIVersion- The value for thevulkanAPIVersionattribute- Returns:
- An immutable VulkanApplicationInfo instance
-
copyOf
Creates an immutable copy of aVulkanApplicationInfoTypevalue. 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 VulkanApplicationInfo instance
-
builder
Creates a builder forVulkanApplicationInfo.VulkanApplicationInfo.builder() .setApplicationName(String) // requiredapplicationName.setApplicationVersion(int) // requiredapplicationVersion.setEngineName(String) // requiredengineName.setEngineVersion(int) // requiredengineVersion.setVulkanAPIVersion(int) // requiredvulkanAPIVersion.build();- Returns:
- A new VulkanApplicationInfo builder
-