Package com.io7m.smfj.core
Class SMFFormatVersion
- java.lang.Object
-
- com.io7m.smfj.core.SMFFormatVersion
-
- All Implemented Interfaces:
SMFFormatVersionType
,java.lang.Comparable<SMFFormatVersionType>
public final class SMFFormatVersion extends java.lang.Object implements SMFFormatVersionType
A format version.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
SMFFormatVersion.Builder
Builds instances of typeSMFFormatVersion
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static SMFFormatVersion.Builder
builder()
Creates a builder forSMFFormatVersion
.static SMFFormatVersion
copyOf(SMFFormatVersionType instance)
Creates an immutable copy of aSMFFormatVersionType
value.boolean
equals(java.lang.Object another)
This instance is equal to all instances ofSMFFormatVersion
that have equal attribute values.int
hashCode()
Computes a hash code from attributes:major
,minor
.int
major()
int
minor()
static SMFFormatVersion
of(int major, int minor)
Construct a new immutableSMFFormatVersion
instance.java.lang.String
toString()
Prints the immutable valueSMFFormatVersion
with attribute values.SMFFormatVersion
withMajor(int value)
Copy the current immutable object by setting a value for themajor
attribute.SMFFormatVersion
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.smfj.core.SMFFormatVersionType
compareTo, toHumanString
-
-
-
-
Method Detail
-
major
public int major()
- Specified by:
major
in interfaceSMFFormatVersionType
- Returns:
- The major number for a format
-
minor
public int minor()
- Specified by:
minor
in interfaceSMFFormatVersionType
- Returns:
- The minor number for a format
-
withMajor
public final SMFFormatVersion withMajor(int value)
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
public final SMFFormatVersion withMinor(int value)
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 ofSMFFormatVersion
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 valueSMFFormatVersion
with attribute values.- Overrides:
toString
in classjava.lang.Object
- Returns:
- A string representation of the value
-
of
public static SMFFormatVersion of(int major, int minor)
Construct a new immutableSMFFormatVersion
instance.- Parameters:
major
- The value for themajor
attributeminor
- The value for theminor
attribute- Returns:
- An immutable SMFFormatVersion instance
-
copyOf
public static SMFFormatVersion copyOf(SMFFormatVersionType instance)
Creates an immutable copy of aSMFFormatVersionType
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 SMFFormatVersion instance
-
builder
public static SMFFormatVersion.Builder builder()
Creates a builder forSMFFormatVersion
.SMFFormatVersion.builder() .setMajor(int) // required
major
.setMinor(int) // requiredminor
.build();- Returns:
- A new SMFFormatVersion builder
-
-