- java.lang.Object
-
- com.io7m.jcoronado.api.VulkanApplicationInfo
-
- All Implemented Interfaces:
VulkanApplicationInfoType
public final class VulkanApplicationInfo extends java.lang.Object implements VulkanApplicationInfoType
A description of the application that is using Vulkan.- See Also:
- "VkApplicationInfo"
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
VulkanApplicationInfo.Builder
Builds instances of typeVulkanApplicationInfo
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
applicationName()
int
applicationVersion()
static VulkanApplicationInfo.Builder
builder()
Creates a builder forVulkanApplicationInfo
.static VulkanApplicationInfo
copyOf(VulkanApplicationInfoType instance)
Creates an immutable copy of aVulkanApplicationInfoType
value.java.lang.String
engineName()
int
engineVersion()
boolean
equals(java.lang.Object another)
This instance is equal to all instances ofVulkanApplicationInfo
that have equal attribute values.int
hashCode()
Computes a hash code from attributes:applicationName
,applicationVersion
,engineName
,engineVersion
,vulkanAPIVersion
.static VulkanApplicationInfo
of(java.lang.String applicationName, int applicationVersion, java.lang.String engineName, int engineVersion, int vulkanAPIVersion)
Construct a new immutableVulkanApplicationInfo
instance.java.lang.String
toString()
Prints the immutable valueVulkanApplicationInfo
with attribute values.int
vulkanAPIVersion()
VulkanApplicationInfo
withApplicationName(java.lang.String value)
Copy the current immutable object by setting a value for theapplicationName
attribute.VulkanApplicationInfo
withApplicationVersion(int value)
Copy the current immutable object by setting a value for theapplicationVersion
attribute.VulkanApplicationInfo
withEngineName(java.lang.String value)
Copy the current immutable object by setting a value for theengineName
attribute.VulkanApplicationInfo
withEngineVersion(int value)
Copy the current immutable object by setting a value for theengineVersion
attribute.VulkanApplicationInfo
withVulkanAPIVersion(int value)
Copy the current immutable object by setting a value for thevulkanAPIVersion
attribute.
-
-
-
Method Detail
-
applicationName
public java.lang.String applicationName()
- Specified by:
applicationName
in interfaceVulkanApplicationInfoType
- Returns:
- The application name
-
applicationVersion
public int applicationVersion()
- Specified by:
applicationVersion
in interfaceVulkanApplicationInfoType
- Returns:
- The application version
-
engineName
public java.lang.String engineName()
- Specified by:
engineName
in interfaceVulkanApplicationInfoType
- Returns:
- The engine name
-
engineVersion
public int engineVersion()
- Specified by:
engineVersion
in interfaceVulkanApplicationInfoType
- Returns:
- The engine version
-
vulkanAPIVersion
public int vulkanAPIVersion()
- Specified by:
vulkanAPIVersion
in interfaceVulkanApplicationInfoType
- Returns:
- The minimum required version of the Vulkan API
- See Also:
VulkanVersions
-
withApplicationName
public final VulkanApplicationInfo withApplicationName(java.lang.String value)
Copy the current immutable object by setting a value for theapplicationName
attribute. 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
this
object
-
withApplicationVersion
public final VulkanApplicationInfo withApplicationVersion(int value)
Copy the current immutable object by setting a value for theapplicationVersion
attribute. 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
this
object
-
withEngineName
public final VulkanApplicationInfo withEngineName(java.lang.String value)
Copy the current immutable object by setting a value for theengineName
attribute. 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
this
object
-
withEngineVersion
public final VulkanApplicationInfo withEngineVersion(int value)
Copy the current immutable object by setting a value for theengineVersion
attribute. 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
this
object
-
withVulkanAPIVersion
public final VulkanApplicationInfo withVulkanAPIVersion(int value)
Copy the current immutable object by setting a value for thevulkanAPIVersion
attribute. 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
this
object
-
equals
public boolean equals(java.lang.Object another)
This instance is equal to all instances ofVulkanApplicationInfo
that have equal attribute values.- Overrides:
equals
in classjava.lang.Object
- Returns:
true
ifthis
is equal toanother
instance
-
hashCode
public int hashCode()
Computes a hash code from attributes:applicationName
,applicationVersion
,engineName
,engineVersion
,vulkanAPIVersion
.- Overrides:
hashCode
in classjava.lang.Object
- Returns:
- hashCode value
-
toString
public java.lang.String toString()
Prints the immutable valueVulkanApplicationInfo
with attribute values.- Overrides:
toString
in classjava.lang.Object
- Returns:
- A string representation of the value
-
of
public static VulkanApplicationInfo of(java.lang.String applicationName, int applicationVersion, java.lang.String engineName, int engineVersion, int vulkanAPIVersion)
Construct a new immutableVulkanApplicationInfo
instance.- Parameters:
applicationName
- The value for theapplicationName
attributeapplicationVersion
- The value for theapplicationVersion
attributeengineName
- The value for theengineName
attributeengineVersion
- The value for theengineVersion
attributevulkanAPIVersion
- The value for thevulkanAPIVersion
attribute- Returns:
- An immutable VulkanApplicationInfo instance
-
copyOf
public static VulkanApplicationInfo copyOf(VulkanApplicationInfoType instance)
Creates an immutable copy of aVulkanApplicationInfoType
value. 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
public static VulkanApplicationInfo.Builder builder()
Creates a builder forVulkanApplicationInfo
.- Returns:
- A new VulkanApplicationInfo builder
-
-