Module com.io7m.jcoronado.api
Package com.io7m.jcoronado.api
Class VulkanPipelineShaderStageCreateInfo
- java.lang.Object
-
- com.io7m.jcoronado.api.VulkanPipelineShaderStageCreateInfo
-
- All Implemented Interfaces:
VulkanPipelineShaderStageCreateInfoType
public final class VulkanPipelineShaderStageCreateInfo extends java.lang.Object implements VulkanPipelineShaderStageCreateInfoType
- See Also:
- "VkPipelineShaderStageCreateInfo"
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
VulkanPipelineShaderStageCreateInfo.Builder
Builds instances of typeVulkanPipelineShaderStageCreateInfo
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static VulkanPipelineShaderStageCreateInfo.Builder
builder()
Creates a builder forVulkanPipelineShaderStageCreateInfo
.static VulkanPipelineShaderStageCreateInfo
copyOf(VulkanPipelineShaderStageCreateInfoType instance)
Creates an immutable copy of aVulkanPipelineShaderStageCreateInfoType
value.boolean
equals(java.lang.Object another)
This instance is equal to all instances ofVulkanPipelineShaderStageCreateInfo
that have equal attribute values.java.util.Set<VulkanPipelineShaderStageCreateFlag>
flags()
int
hashCode()
Computes a hash code from attributes:flags
,stage
,module
,shaderEntryPoint
,specializationInfo
.VulkanShaderModuleType
module()
static VulkanPipelineShaderStageCreateInfo
of(java.lang.Iterable<VulkanPipelineShaderStageCreateFlag> flags, VulkanShaderStageFlag stage, VulkanShaderModuleType module, java.lang.String shaderEntryPoint, java.util.Optional<? extends VulkanSpecializationMap> specializationInfo)
Construct a new immutableVulkanPipelineShaderStageCreateInfo
instance.static VulkanPipelineShaderStageCreateInfo
of(java.util.Set<VulkanPipelineShaderStageCreateFlag> flags, VulkanShaderStageFlag stage, VulkanShaderModuleType module, java.lang.String shaderEntryPoint, java.util.Optional<VulkanSpecializationMap> specializationInfo)
Construct a new immutableVulkanPipelineShaderStageCreateInfo
instance.java.lang.String
shaderEntryPoint()
java.util.Optional<VulkanSpecializationMap>
specializationInfo()
VulkanShaderStageFlag
stage()
java.lang.String
toString()
Prints the immutable valueVulkanPipelineShaderStageCreateInfo
with attribute values.VulkanPipelineShaderStageCreateInfo
withFlags(VulkanPipelineShaderStageCreateFlag... elements)
Copy the current immutable object with elements that replace the content offlags
.VulkanPipelineShaderStageCreateInfo
withFlags(java.lang.Iterable<VulkanPipelineShaderStageCreateFlag> elements)
Copy the current immutable object with elements that replace the content offlags
.VulkanPipelineShaderStageCreateInfo
withModule(VulkanShaderModuleType value)
Copy the current immutable object by setting a value for themodule
attribute.VulkanPipelineShaderStageCreateInfo
withShaderEntryPoint(java.lang.String value)
Copy the current immutable object by setting a value for theshaderEntryPoint
attribute.VulkanPipelineShaderStageCreateInfo
withSpecializationInfo(VulkanSpecializationMap value)
Copy the current immutable object by setting a present value for the optionalspecializationInfo
attribute.VulkanPipelineShaderStageCreateInfo
withSpecializationInfo(java.util.Optional<? extends VulkanSpecializationMap> optional)
Copy the current immutable object by setting an optional value for thespecializationInfo
attribute.VulkanPipelineShaderStageCreateInfo
withStage(VulkanShaderStageFlag value)
Copy the current immutable object by setting a value for thestage
attribute.
-
-
-
Method Detail
-
flags
public java.util.Set<VulkanPipelineShaderStageCreateFlag> flags()
- Specified by:
flags
in interfaceVulkanPipelineShaderStageCreateInfoType
- Returns:
- Flags reserved for future use
-
stage
public VulkanShaderStageFlag stage()
- Specified by:
stage
in interfaceVulkanPipelineShaderStageCreateInfoType
- Returns:
- A single pipeline stage.
-
module
public VulkanShaderModuleType module()
- Specified by:
module
in interfaceVulkanPipelineShaderStageCreateInfoType
- Returns:
- A shader module containing the shader for the stage.
-
shaderEntryPoint
public java.lang.String shaderEntryPoint()
- Specified by:
shaderEntryPoint
in interfaceVulkanPipelineShaderStageCreateInfoType
- Returns:
- The entry point name of the shader for this stage.
-
specializationInfo
public java.util.Optional<VulkanSpecializationMap> specializationInfo()
- Specified by:
specializationInfo
in interfaceVulkanPipelineShaderStageCreateInfoType
- Returns:
- The optional specialization info
-
withFlags
public final VulkanPipelineShaderStageCreateInfo withFlags(VulkanPipelineShaderStageCreateFlag... elements)
Copy the current immutable object with elements that replace the content offlags
.- Parameters:
elements
- The elements to set- Returns:
- A modified copy of
this
object
-
withFlags
public final VulkanPipelineShaderStageCreateInfo withFlags(java.lang.Iterable<VulkanPipelineShaderStageCreateFlag> 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
this
object
-
withStage
public final VulkanPipelineShaderStageCreateInfo withStage(VulkanShaderStageFlag value)
Copy the current immutable object by setting a value for thestage
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for stage- Returns:
- A modified copy of the
this
object
-
withModule
public final VulkanPipelineShaderStageCreateInfo withModule(VulkanShaderModuleType value)
Copy the current immutable object by setting a value for themodule
attribute. A shallow reference equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for module- Returns:
- A modified copy of the
this
object
-
withShaderEntryPoint
public final VulkanPipelineShaderStageCreateInfo withShaderEntryPoint(java.lang.String value)
Copy the current immutable object by setting a value for theshaderEntryPoint
attribute. An equals check used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for shaderEntryPoint- Returns:
- A modified copy of the
this
object
-
withSpecializationInfo
public final VulkanPipelineShaderStageCreateInfo withSpecializationInfo(VulkanSpecializationMap value)
Copy the current immutable object by setting a present value for the optionalspecializationInfo
attribute.- Parameters:
value
- The value for specializationInfo- Returns:
- A modified copy of
this
object
-
withSpecializationInfo
public final VulkanPipelineShaderStageCreateInfo withSpecializationInfo(java.util.Optional<? extends VulkanSpecializationMap> optional)
Copy the current immutable object by setting an optional value for thespecializationInfo
attribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returningthis
.- Parameters:
optional
- A value for specializationInfo- Returns:
- A modified copy of
this
object
-
equals
public boolean equals(java.lang.Object another)
This instance is equal to all instances ofVulkanPipelineShaderStageCreateInfo
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:flags
,stage
,module
,shaderEntryPoint
,specializationInfo
.- Overrides:
hashCode
in classjava.lang.Object
- Returns:
- hashCode value
-
toString
public java.lang.String toString()
Prints the immutable valueVulkanPipelineShaderStageCreateInfo
with attribute values.- Overrides:
toString
in classjava.lang.Object
- Returns:
- A string representation of the value
-
of
public static VulkanPipelineShaderStageCreateInfo of(java.util.Set<VulkanPipelineShaderStageCreateFlag> flags, VulkanShaderStageFlag stage, VulkanShaderModuleType module, java.lang.String shaderEntryPoint, java.util.Optional<VulkanSpecializationMap> specializationInfo)
Construct a new immutableVulkanPipelineShaderStageCreateInfo
instance.- Parameters:
flags
- The value for theflags
attributestage
- The value for thestage
attributemodule
- The value for themodule
attributeshaderEntryPoint
- The value for theshaderEntryPoint
attributespecializationInfo
- The value for thespecializationInfo
attribute- Returns:
- An immutable VulkanPipelineShaderStageCreateInfo instance
-
of
public static VulkanPipelineShaderStageCreateInfo of(java.lang.Iterable<VulkanPipelineShaderStageCreateFlag> flags, VulkanShaderStageFlag stage, VulkanShaderModuleType module, java.lang.String shaderEntryPoint, java.util.Optional<? extends VulkanSpecializationMap> specializationInfo)
Construct a new immutableVulkanPipelineShaderStageCreateInfo
instance.- Parameters:
flags
- The value for theflags
attributestage
- The value for thestage
attributemodule
- The value for themodule
attributeshaderEntryPoint
- The value for theshaderEntryPoint
attributespecializationInfo
- The value for thespecializationInfo
attribute- Returns:
- An immutable VulkanPipelineShaderStageCreateInfo instance
-
copyOf
public static VulkanPipelineShaderStageCreateInfo copyOf(VulkanPipelineShaderStageCreateInfoType instance)
Creates an immutable copy of aVulkanPipelineShaderStageCreateInfoType
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 VulkanPipelineShaderStageCreateInfo instance
-
builder
public static VulkanPipelineShaderStageCreateInfo.Builder builder()
Creates a builder forVulkanPipelineShaderStageCreateInfo
.- Returns:
- A new VulkanPipelineShaderStageCreateInfo builder
-
-