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