Class VulkanShaderModuleCreateInfo
java.lang.Object
com.io7m.jcoronado.api.VulkanShaderModuleCreateInfo
- All Implemented Interfaces:
VulkanShaderModuleCreateInfoType
public final class VulkanShaderModuleCreateInfo
extends Object
implements VulkanShaderModuleCreateInfoType
The type of Vulkan image view creation information.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classBuilds instances of typeVulkanShaderModuleCreateInfo. -
Method Summary
Modifier and TypeMethodDescriptionbuilder()Creates a builder forVulkanShaderModuleCreateInfo.static VulkanShaderModuleCreateInfocopyOf(VulkanShaderModuleCreateInfoType instance) Creates an immutable copy of aVulkanShaderModuleCreateInfoTypevalue.data()booleanThis instance is equal to all instances ofVulkanShaderModuleCreateInfothat have equal attribute values.flags()inthashCode()Computes a hash code from attributes:flags,data,size.static VulkanShaderModuleCreateInfoof(Iterable<VulkanShaderModuleCreateFlag> flags, ByteBuffer data, long size) Construct a new immutableVulkanShaderModuleCreateInfoinstance.static VulkanShaderModuleCreateInfoof(Set<VulkanShaderModuleCreateFlag> flags, ByteBuffer data, long size) Construct a new immutableVulkanShaderModuleCreateInfoinstance.longsize()toString()Prints the immutable valueVulkanShaderModuleCreateInfowith attribute values.withData(ByteBuffer value) Copy the current immutable object by setting a value for thedataattribute.withFlags(VulkanShaderModuleCreateFlag... elements) Copy the current immutable object with elements that replace the content offlags.withFlags(Iterable<VulkanShaderModuleCreateFlag> elements) Copy the current immutable object with elements that replace the content offlags.withSize(long value) Copy the current immutable object by setting a value for thesizeattribute.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.io7m.jcoronado.api.VulkanShaderModuleCreateInfoType
checkPreconditions
-
Method Details
-
flags
- Specified by:
flagsin interfaceVulkanShaderModuleCreateInfoType- Returns:
- The module creation flags
-
data
- Specified by:
datain interfaceVulkanShaderModuleCreateInfoType- Returns:
- The shader module bytecode
-
size
public long size()- Specified by:
sizein interfaceVulkanShaderModuleCreateInfoType- Returns:
- The shader code size
-
withFlags
Copy the current immutable object with elements that replace the content offlags.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withFlags
public final VulkanShaderModuleCreateInfo withFlags(Iterable<VulkanShaderModuleCreateFlag> elements) Copy the current immutable object with elements that replace the content offlags. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of flags elements to set- Returns:
- A modified copy of
thisobject
-
withData
Copy the current immutable object by setting a value for thedataattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for data- Returns:
- A modified copy of the
thisobject
-
withSize
Copy the current immutable object by setting a value for thesizeattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for size- Returns:
- A modified copy of the
thisobject
-
equals
-
hashCode
-
toString
-
of
public static VulkanShaderModuleCreateInfo of(Set<VulkanShaderModuleCreateFlag> flags, ByteBuffer data, long size) Construct a new immutableVulkanShaderModuleCreateInfoinstance.- Parameters:
flags- The value for theflagsattributedata- The value for thedataattributesize- The value for thesizeattribute- Returns:
- An immutable VulkanShaderModuleCreateInfo instance
-
of
public static VulkanShaderModuleCreateInfo of(Iterable<VulkanShaderModuleCreateFlag> flags, ByteBuffer data, long size) Construct a new immutableVulkanShaderModuleCreateInfoinstance.- Parameters:
flags- The value for theflagsattributedata- The value for thedataattributesize- The value for thesizeattribute- Returns:
- An immutable VulkanShaderModuleCreateInfo instance
-
copyOf
Creates an immutable copy of aVulkanShaderModuleCreateInfoTypevalue. 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 VulkanShaderModuleCreateInfo instance
-
builder
Creates a builder forVulkanShaderModuleCreateInfo.VulkanShaderModuleCreateInfo.builder() .addFlags|addAllFlags(com.io7m.jcoronado.api.VulkanShaderModuleCreateFlag) //flagselements .setData(java.nio.ByteBuffer) // requireddata.setSize(long) // requiredsize.build();- Returns:
- A new VulkanShaderModuleCreateInfo builder
-