Class PVolumeSizeI<S>
java.lang.Object
com.io7m.jregions.core.parameterized.sizes.PVolumeSizeI<S>
- Type Parameters:
S
- A phantom type parameter indicating the coordinate space of the volume
- All Implemented Interfaces:
PVolumeSizeIType<S>
,VolumeSizeValuesIType
The size of a volume with
int
coordinates.-
Nested Class Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic <S> PVolumeSizeI.Builder<S>
builder()
Creates a builder forPVolumeSizeI
.static <S> PVolumeSizeI<S>
copyOf
(PVolumeSizeIType<S> instance) Creates an immutable copy of aPVolumeSizeIType
value.boolean
This instance is equal to all instances ofPVolumeSizeI
that have equal attribute values.int
hashCode()
Computes a hash code from attributes:sizeX
,sizeY
,sizeZ
.static <S> PVolumeSizeI<S>
of
(int sizeX, int sizeY, int sizeZ) Construct a new immutablePVolumeSizeI
instance.int
sizeX()
int
sizeY()
int
sizeZ()
toString()
Prints the immutable valuePVolumeSizeI
with attribute values.final PVolumeSizeI<S>
withSizeX
(int value) Copy the current immutable object by setting a value for thesizeX
attribute.final PVolumeSizeI<S>
withSizeY
(int value) Copy the current immutable object by setting a value for thesizeY
attribute.final PVolumeSizeI<S>
withSizeZ
(int value) Copy the current immutable object by setting a value for thesizeZ
attribute.
-
Method Details
-
sizeX
public int sizeX()- Specified by:
sizeX
in interfacePVolumeSizeIType<S>
- Specified by:
sizeX
in interfaceVolumeSizeValuesIType
- Returns:
- The value of the
sizeX
attribute
-
sizeY
public int sizeY()- Specified by:
sizeY
in interfacePVolumeSizeIType<S>
- Specified by:
sizeY
in interfaceVolumeSizeValuesIType
- Returns:
- The value of the
sizeY
attribute
-
sizeZ
public int sizeZ()- Specified by:
sizeZ
in interfacePVolumeSizeIType<S>
- Specified by:
sizeZ
in interfaceVolumeSizeValuesIType
- Returns:
- The value of the
sizeZ
attribute
-
withSizeX
Copy the current immutable object by setting a value for thesizeX
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for sizeX- Returns:
- A modified copy of the
this
object
-
withSizeY
Copy the current immutable object by setting a value for thesizeY
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for sizeY- Returns:
- A modified copy of the
this
object
-
withSizeZ
Copy the current immutable object by setting a value for thesizeZ
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for sizeZ- Returns:
- A modified copy of the
this
object
-
equals
This instance is equal to all instances ofPVolumeSizeI
that have equal attribute values. -
hashCode
public int hashCode()Computes a hash code from attributes:sizeX
,sizeY
,sizeZ
. -
toString
Prints the immutable valuePVolumeSizeI
with attribute values. -
of
Construct a new immutablePVolumeSizeI
instance.- Type Parameters:
S
- generic parameter S- Parameters:
sizeX
- The value for thesizeX
attributesizeY
- The value for thesizeY
attributesizeZ
- The value for thesizeZ
attribute- Returns:
- An immutable PVolumeSizeI instance
-
copyOf
Creates an immutable copy of aPVolumeSizeIType
value. Uses accessors to get values to initialize the new immutable instance. If an instance is already immutable, it is returned as is.- Type Parameters:
S
- generic parameter S- Parameters:
instance
- The instance to copy- Returns:
- A copied immutable PVolumeSizeI instance
-
builder
Creates a builder forPVolumeSizeI
.PVolumeSizeI.<S>builder() .setSizeX(int) // required
sizeX
.setSizeY(int) // requiredsizeY
.setSizeZ(int) // requiredsizeZ
.build();- Type Parameters:
S
- generic parameter S- Returns:
- A new PVolumeSizeI builder
-