Package org.apache.avalon.framework
Class Version
- java.lang.Object
-
- org.apache.avalon.framework.Version
-
- All Implemented Interfaces:
java.io.Serializable
public final class Version extends java.lang.Object implements java.io.Serializable
This class is used to hold version information pertaining to a Component or interface. The version number of aComponent
is made up of three dot-separated fields: "major.minor.micro" The major, minor and micro fields are integer numbers represented in decimal notation and have the following meaning:- major - When the major version changes (in ex. from "1.5.12" to "2.0.0"), then backward compatibility with previous releases is not granted.
- minor - When the minor version changes (in ex. from "1.5.12" to "1.6.0"), then backward compatibility with previous releases is granted, but something changed in the implementation of the Component. (ie it methods could have been added)
- micro - When the micro version changes (in ex. from "1.5.12" to "1.5.13"), then the the changes are small forward compatible bug fixes or documentation modifications etc.
- Version:
- CVS $Revision: 1.26 $ $Date: 2003/02/11 16:19:27 $
- Author:
- Avalon Development Team
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description Version(int major, int minor, int micro)
Create a new instance of aVersion
object with the specified version numbers.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
complies(Version other)
Check thisVersion
against another for compliancy (compatibility).boolean
equals(java.lang.Object other)
Indicates whether some other object is "equal to" thisVersion
.boolean
equals(Version other)
Check thisVersion
against another for equality.int
getMajor()
Retrieve major component of version.int
getMicro()
Retrieve micro component of version.int
getMinor()
Retrieve minor component of version.static Version
getVersion(java.lang.String version)
Parse a version out of a string.java.lang.String
toString()
Overload toString to report version correctly.
-
-
-
Method Detail
-
getVersion
public static Version getVersion(java.lang.String version) throws java.lang.NumberFormatException, java.lang.IllegalArgumentException
Parse a version out of a string. The version string format is. . where both minor and micro are optional. - Parameters:
version
- The input version string- Returns:
- the new Version object
- Throws:
java.lang.NumberFormatException
- if an error occursjava.lang.IllegalArgumentException
- if an error occurs- Since:
- 4.1
-
getMajor
public int getMajor()
Retrieve major component of version.- Returns:
- the major component of version
- Since:
- 4.1
-
getMinor
public int getMinor()
Retrieve minor component of version.- Returns:
- the minor component of version
- Since:
- 4.1
-
getMicro
public int getMicro()
Retrieve micro component of version.- Returns:
- the micro component of version.
- Since:
- 4.1
-
equals
public boolean equals(Version other)
Check thisVersion
against another for equality. If thisVersion
is compatible with the specified one, then true is returned, otherwise false.- Parameters:
other
- The otherVersion
object to be compared with this for equality.- Returns:
- true if this
Version
is compatible with the specified one - Since:
- 4.1
-
equals
public boolean equals(java.lang.Object other)
Indicates whether some other object is "equal to" thisVersion
. Returns true if the other object is an instance ofVersion
and has the same major, minor, and micro components.- Overrides:
equals
in classjava.lang.Object
- Parameters:
other
- anObject
value- Returns:
- true if the other object is equal to this
Version
-
complies
public boolean complies(Version other)
Check thisVersion
against another for compliancy (compatibility). If thisVersion
is compatible with the specified one, then true is returned, otherwise false. Be careful when using this method since, in example, version 1.3.7 is compliant to version 1.3.6, while the opposite is not. The following example displays the expected behaviour and results of version.final Version v1 = new Version( 1, 3 , 6 ); final Version v2 = new Version( 1, 3 , 7 ); final Version v3 = new Version( 1, 4 , 0 ); final Version v4 = new Version( 2, 0 , 1 ); assert( v1.complies( v1 ) ); assert( ! v1.complies( v2 ) ); assert( v2.complies( v1 ) ); assert( ! v1.complies( v3 ) ); assert( v3.complies( v1 ) ); assert( ! v1.complies( v4 ) ); assert( ! v4.complies( v1 ) );
- Parameters:
other
- The otherVersion
object to be compared with this for compliancy (compatibility).- Returns:
- true if this
Version
is compatible with the specified one
-
toString
public java.lang.String toString()
Overload toString to report version correctly.- Overrides:
toString
in classjava.lang.Object
- Returns:
- the dot seperated version string
-
-