Class FormatVersion
java.lang.Object
com.io7m.coffeepick.runtime.parser.spi.FormatVersion
- All Implemented Interfaces:
FormatVersionType
,java.lang.Comparable<FormatVersionType>
public final class FormatVersion extends java.lang.Object implements FormatVersionType
A format version.
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
FormatVersion.Builder
Builds instances of typeFormatVersion
. -
Method Summary
Modifier and Type Method Description static FormatVersion.Builder
builder()
Creates a builder forFormatVersion
.static FormatVersion
copyOf(FormatVersionType instance)
Creates an immutable copy of aFormatVersionType
value.boolean
equals(java.lang.Object another)
This instance is equal to all instances ofFormatVersion
that have equal attribute values.int
hashCode()
Computes a hash code from attributes:major
,minor
.int
major()
int
minor()
static FormatVersion
of(int major, int minor)
Construct a new immutableFormatVersion
instance.java.lang.String
toString()
Prints the immutable valueFormatVersion
with attribute values.FormatVersion
withMajor(int value)
Copy the current immutable object by setting a value for themajor
attribute.FormatVersion
withMinor(int value)
Copy the current immutable object by setting a value for theminor
attribute.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.io7m.coffeepick.runtime.parser.spi.FormatVersionType
compareTo, toHumanString
-
Method Details
-
major
public int major()- Specified by:
major
in interfaceFormatVersionType
- Returns:
- The major number for a format
-
minor
public int minor()- Specified by:
minor
in interfaceFormatVersionType
- Returns:
- The minor number for a format
-
withMajor
Copy the current immutable object by setting a value for themajor
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for major- Returns:
- A modified copy of the
this
object
-
withMinor
Copy the current immutable object by setting a value for theminor
attribute. A value equality check is used to prevent copying of the same value by returningthis
.- Parameters:
value
- A new value for minor- Returns:
- A modified copy of the
this
object
-
equals
public boolean equals(java.lang.Object another)This instance is equal to all instances ofFormatVersion
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:major
,minor
.- Overrides:
hashCode
in classjava.lang.Object
- Returns:
- hashCode value
-
toString
public java.lang.String toString()Prints the immutable valueFormatVersion
with attribute values.- Overrides:
toString
in classjava.lang.Object
- Returns:
- A string representation of the value
-
of
Construct a new immutableFormatVersion
instance.- Parameters:
major
- The value for themajor
attributeminor
- The value for theminor
attribute- Returns:
- An immutable FormatVersion instance
-
copyOf
Creates an immutable copy of aFormatVersionType
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 FormatVersion instance
-
builder
Creates a builder forFormatVersion
.FormatVersion.builder() .setMajor(int) // required
major
.setMinor(int) // requiredminor
.build();- Returns:
- A new FormatVersion builder
-