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 classSMFFormatVersion.BuilderBuilds instances of typeSMFFormatVersion.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static SMFFormatVersion.Builderbuilder()Creates a builder forSMFFormatVersion.static SMFFormatVersioncopyOf(SMFFormatVersionType instance)Creates an immutable copy of aSMFFormatVersionTypevalue.booleanequals(java.lang.Object another)This instance is equal to all instances ofSMFFormatVersionthat have equal attribute values.inthashCode()Computes a hash code from attributes:major,minor.intmajor()intminor()static SMFFormatVersionof(int major, int minor)Construct a new immutableSMFFormatVersioninstance.java.lang.StringtoString()Prints the immutable valueSMFFormatVersionwith attribute values.SMFFormatVersionwithMajor(int value)Copy the current immutable object by setting a value for themajorattribute.SMFFormatVersionwithMinor(int value)Copy the current immutable object by setting a value for theminorattribute.-
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:
majorin interfaceSMFFormatVersionType- Returns:
- The major number for a format
-
minor
public int minor()
- Specified by:
minorin 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 themajorattribute. 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
thisobject
-
withMinor
public final SMFFormatVersion withMinor(int value)
Copy the current immutable object by setting a value for theminorattribute. 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
thisobject
-
equals
public boolean equals(java.lang.Object another)
This instance is equal to all instances ofSMFFormatVersionthat have equal attribute values.- Overrides:
equalsin classjava.lang.Object- Returns:
trueifthisis equal toanotherinstance
-
hashCode
public int hashCode()
Computes a hash code from attributes:major,minor.- Overrides:
hashCodein classjava.lang.Object- Returns:
- hashCode value
-
toString
public java.lang.String toString()
Prints the immutable valueSMFFormatVersionwith attribute values.- Overrides:
toStringin classjava.lang.Object- Returns:
- A string representation of the value
-
of
public static SMFFormatVersion of(int major, int minor)
Construct a new immutableSMFFormatVersioninstance.- Parameters:
major- The value for themajorattributeminor- The value for theminorattribute- Returns:
- An immutable SMFFormatVersion instance
-
copyOf
public static SMFFormatVersion copyOf(SMFFormatVersionType instance)
Creates an immutable copy of aSMFFormatVersionTypevalue. 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) // requiredmajor.setMinor(int) // requiredminor.build();- Returns:
- A new SMFFormatVersion builder
-
-