Package com.pnfsoftware.jeb.core
Class Version
java.lang.Object
com.pnfsoftware.jeb.core.Version
- All Implemented Interfaces:
Comparable<Version>
Version number object. The syntax is as follows:
major.minor.buildid.timestamp.channel
or
major.minor-channelString.buildid.timestamp
.
Details:
- A valid version string must contain the fields major
, minor
and
buildid
- Timestamp format: YYYYMMDDhhmm
- Allowed channels: RELEASE(0,"")
, BETA(1,"beta")
, ALPHA(2,"alpha")
Examples of valid version strings:
1.0.0 1.0.2.201801021400 1.0.2.201801021400.0 1.0.2.201801021400.1 1.0.2.201801021400.2 1.2.123 1.2-beta.123 1.2-alpha.123 1.2-beta.123.201807140000Version objects can be persisted.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
static final int
static final int
static final int
static final int
-
Constructor Summary
ConstructorsConstructorDescriptionVersion
(int major, int minor) Create a new version object "major.minor.0.0".Version
(int major, int minor, int buildid) Create a new version object "major.minor.buildid.0".Version
(int major, int minor, int buildid, long timestamp) Create a new version object "major.minor.buildid.timestamp".Version
(int major, int minor, int buildid, long timestamp, int channel) Create a new version object "major.minor.buildid.timestamp".Copy constructor. -
Method Summary
Modifier and TypeMethodDescriptionint
int
int
int
static Version
create
(int major, int minor) Static builder, equivalent ofVersion(int, int)
.static Version
create
(int major, int minor, int buildid) Static builder, equivalent ofVersion(int, int, int)
.static Version
create
(int major, int minor, int buildid, long timestamp) Static builder, equivalent ofVersion(int, int, int, long)
.static Version
create
(int major, int minor, int buildid, long timestamp, int channel) Static builder, equivalent ofVersion(int, int, int, long, int)
.boolean
format
(boolean useChannelString) static Version
fromInt
(int val) Create a version object from an integer generated bytoInt()
.int
Get the build id number.int
Get the channel.static String
getChannelInfo
(int channel) static String
getChannelName
(int channel) static String[]
int
getMajor()
Get the major number.int
getMinor()
Get the minor number.long
Get the timestamp.int
hashCode()
boolean
like
(int major) Determine if the version is like "major.?.?.?"boolean
like
(int major, int minor) Determine if the version is like "major.minor.?.?"boolean
like
(int major, int minor, int buildid) Determine if the version is like "major.minor.buildid.?"static Version
Read a file which should contain a single string containing a version number.static Version
Parse a version string into a Version object.void
setBuildid
(int buildid) void
setChannel
(int channel) void
setMajor
(int major) void
setMinor
(int minor) void
setTimestamp
(long timestamp) int
toInt()
Generate a 4-byte integer representing the three most relevant components of this version object.toString()
Same asformat(true)
.
-
Field Details
-
RELEASE
public static final int RELEASE- See Also:
-
BETA
public static final int BETA- See Also:
-
ALPHA
public static final int ALPHA- See Also:
-
CHANNEL_STABLE
public static final int CHANNEL_STABLE- See Also:
-
CHANNEL_MOST_UNSTABLE
public static final int CHANNEL_MOST_UNSTABLE- See Also:
-
-
Constructor Details
-
Version
Copy constructor.- Parameters:
v
- a version object
-
Version
public Version(int major, int minor) Create a new version object "major.minor.0.0".- Parameters:
major
- zero or positive numberminor
- zero or positive number
-
Version
public Version(int major, int minor, int buildid) Create a new version object "major.minor.buildid.0".- Parameters:
major
- zero or positive numberminor
- zero or positive numberbuildid
- zero or positive number
-
Version
public Version(int major, int minor, int buildid, long timestamp) Create a new version object "major.minor.buildid.timestamp".- Parameters:
major
- zero or positive numberminor
- zero or positive numberbuildid
- zero or positive numbertimestamp
- zero or positive number
-
Version
public Version(int major, int minor, int buildid, long timestamp, int channel) Create a new version object "major.minor.buildid.timestamp".- Parameters:
major
- zero or positive numberminor
- zero or positive numberbuildid
- zero or positive numbertimestamp
- zero or positive numberchannel
- optional; 0=release, 1=beta, 2=alpha
-
-
Method Details
-
getChannelName
-
getChannelInfo
-
getChannelNames
-
create
Static builder, equivalent ofVersion(int, int)
.- Parameters:
major
-minor
-- Returns:
-
create
Static builder, equivalent ofVersion(int, int, int)
.- Parameters:
major
-minor
-buildid
-- Returns:
-
create
Static builder, equivalent ofVersion(int, int, int, long)
.- Parameters:
major
-minor
-buildid
-timestamp
-- Returns:
-
create
Static builder, equivalent ofVersion(int, int, int, long, int)
.- Parameters:
major
-minor
-buildid
-timestamp
-channel
-- Returns:
-
getMajor
public int getMajor()Get the major number.- Returns:
-
getMinor
public int getMinor()Get the minor number.- Returns:
-
getBuildid
public int getBuildid()Get the build id number.- Returns:
-
getTimestamp
public long getTimestamp()Get the timestamp.- Returns:
-
getChannel
public int getChannel()Get the channel.- Returns:
-
getChannelString
-
hashCode
public int hashCode() -
equals
-
compareTo
- Specified by:
compareTo
in interfaceComparable<Version>
-
compareToIgnoreTimestamp
-
compareToIgnoreChannel
-
compareToIgnoreTimestampAndChannel
-
like
public boolean like(int major) Determine if the version is like "major.?.?.?"- Parameters:
major
-- Returns:
-
like
public boolean like(int major, int minor) Determine if the version is like "major.minor.?.?"- Parameters:
major
-minor
-- Returns:
-
like
public boolean like(int major, int minor, int buildid) Determine if the version is like "major.minor.buildid.?"- Parameters:
major
-minor
-buildid
-- Returns:
-
format
- Parameters:
useChannelString
- true to format the channel (if present) as a string appended to the Minor version number; else, the channel value, if non 0, will be appended to the version Timestamp- Returns:
-
formatCompact
-
toString
Same asformat(true)
. -
parseFromString
Parse a version string into a Version object.- Parameters:
s
- a string- Returns:
- a version object, null on error
-
parseFromFile
Read a file which should contain a single string containing a version number.- Parameters:
f
- a file- Returns:
- the version object, null on error
-
toInt
public int toInt()Generate a 4-byte integer representing the three most relevant components of this version object. The resulting int is as such: {00AABBCC} where AA=getMajor()
, BB=getMinor()
, CC=getBuildid()
. If any of AA, BB, CC exceeds 255, it is truncated to 255.- Returns:
- a version-int
-
fromInt
Create a version object from an integer generated bytoInt()
.- Parameters:
val
- a version-int, as generated bytoInt()
- Returns:
- a version Object
-
setMajor
public void setMajor(int major) -
setMinor
public void setMinor(int minor) -
setBuildid
public void setBuildid(int buildid) -
setTimestamp
public void setTimestamp(long timestamp) -
setChannel
public void setChannel(int channel)
-