org.nuiton.util
Class VersionUtil

java.lang.Object
  extended by org.nuiton.util.VersionUtil

public class VersionUtil
extends Object

Class of usefull methods on Version objects. There is some factory methods : valueOf(XXX) to obtain a new version. Some methods to transform a version (since version are immutable, we can not modify Version's property) :

   - inc(Version) : to increment a version
   - dec(Version) : to decrement a version
   - addClassifier(Version, String, Integer) : to add a classifier to a version
   - removeClassifier(Version) : to remove a classifier from a version
 

Since:
1.1.0
Author:
chemit

Nested Class Summary
static class VersionUtil.VersionComparator
          L'implantation d'un comparateur de versions permettant de controler l'ordre du numero de version, classifier et numero de classifer.
 
Field Summary
static VersionUtil.VersionComparator DEFAULT_VERSION_COMPARATOR
          Shared instance of default version comparator.
static String SNAPSHOT_SUFFIX
          The snapshot suffix.
static Pattern VERSION_PATTERN
          Pattern pour detecter une version.
 
Constructor Summary
VersionUtil()
           
 
Method Summary
static Version addClassifier(Version version, String classifier, Integer classifierNumber)
          Construction d'une nouvelle version avec un classifier a partir d'une version donnee.
static boolean equals(String version0, String version1)
          Tests if two versions are equals.
static List<Version> filterVersions(Set<Version> versions, Version min, Version max, boolean includeMin, boolean includeMax)
          Filter versions.
static boolean greaterThan(String version0, String version1)
          Tests if the first version is greater than the second version.
static Version inc(Version v)
          Incremente le numero de version donnee, seul le dernier constituant est incremente: 1.2.3.4 -> 1.2.3.5; null -> 1; 0 -> 1.
static void main(String... args)
          Trier un ensemble de versions données en entrees On affiche le resultat dans la console
static Version removeClassifier(Version version)
          Construction d'une nouvelle version sans classifier a partir d'une version donnee (sans classifier).
static String removeSnapshot(String version)
          Remove the suffix -SNAPSHOT stamp from a version (if any).
static boolean smallerThan(String version0, String version1)
          Tests if the first version is smaller than the second version.
static Version valueOf(int... numbers)
          Recuperation d'une instance de version simple (sans classifier).
static Version valueOf(String version)
          Recuperation d'une instance de version a partir de sa version textuelle.
static Version valueOf(String classifier, Integer classifierNumber, int... numbers)
          Recuperation d'une instance de version.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

VERSION_PATTERN

public static final Pattern VERSION_PATTERN
Pattern pour detecter une version. Le pattern possède toujours 3 groupes de captures. - Le groupe 1 est le nombre de la version - Le groupe 2 est le classifier (peut-etre null) - Le groupe 3 est le numéro de classifier (peut-etre null) Dans le cas d'une version simple (sans classifier), le groupe 2 et 3 sont null.


DEFAULT_VERSION_COMPARATOR

public static final VersionUtil.VersionComparator DEFAULT_VERSION_COMPARATOR
Shared instance of default version comparator.

See Also:
VersionUtil.VersionComparator

SNAPSHOT_SUFFIX

public static final String SNAPSHOT_SUFFIX
The snapshot suffix.

See Also:
Constant Field Values
Constructor Detail

VersionUtil

public VersionUtil()
Method Detail

valueOf

public static Version valueOf(int... numbers)
Recuperation d'une instance de version simple (sans classifier).

Parameters:
numbers - les nombres de la version
Returns:
l'instance de la version requise

valueOf

public static Version valueOf(String classifier,
                              Integer classifierNumber,
                              int... numbers)
Recuperation d'une instance de version.

Parameters:
classifier - le classifier (peut-etre null)
classifierNumber - la version du classifier (doit etre null si le classifier est null)
numbers - les nombres de la version
Returns:
l'instance de la version requise

valueOf

public static Version valueOf(String version)
Recuperation d'une instance de version a partir de sa version textuelle.

Parameters:
version - la representation textuelle de la version
Returns:
l'instance de la version requise

addClassifier

public static Version addClassifier(Version version,
                                    String classifier,
                                    Integer classifierNumber)
                             throws NullPointerException,
                                    IllegalArgumentException
Construction d'une nouvelle version avec un classifier a partir d'une version donnee.

Parameters:
version - la version de base (sans classifier)
classifier - le classifier a ajouter
classifierNumber - la version du classifier a ajouter
Returns:
l'instance de la version requise
Throws:
NullPointerException - si le classifier ou le classifierNumber est null.
IllegalArgumentException - si la version donnee contient deja un classifier.

removeClassifier

public static Version removeClassifier(Version version)
                                throws IllegalArgumentException
Construction d'une nouvelle version sans classifier a partir d'une version donnee (sans classifier).

Parameters:
version - la version de base (avec classifier)
Returns:
l'instance de la version requise
Throws:
IllegalArgumentException - si la version donnee contient deja un classifier.

inc

public static Version inc(Version v)
Incremente le numero de version donnee, seul le dernier constituant est incremente: 1.2.3.4 -> 1.2.3.5; null -> 1; 0 -> 1. Si la version a un classifier, alors c'est la version du classifier qui change : 1.1-alpha-12 -> 1.1-alpha-13

Parameters:
v - la version a incrementer
Returns:
la nouvelle version

removeSnapshot

public static String removeSnapshot(String version)
                             throws NullPointerException
Remove the suffix -SNAPSHOT stamp from a version (if any).

Parameters:
version - the string representation of the version
Returns:
the string representation of the given version without the -SNAPSHOT suffix (if any).
Throws:
NullPointerException - if version is null

filterVersions

public static List<Version> filterVersions(Set<Version> versions,
                                           Version min,
                                           Version max,
                                           boolean includeMin,
                                           boolean includeMax)
Filter versions.

Parameters:
versions - versions to filter
min - min version to accept
max - max version to accept
includeMin - flag to include min version
includeMax - flag to include max version
Returns:
versions between min and max

equals

public static boolean equals(String version0,
                             String version1)
Tests if two versions are equals.

Parameters:
version0 - the first version
version1 - the second version
Returns:
true if versions are equals, false otherwise.

smallerThan

public static boolean smallerThan(String version0,
                                  String version1)
Tests if the first version is smaller than the second version.

Parameters:
version0 - the first version
version1 - the second version
Returns:
true if version0 is before version1, false otherwise.

greaterThan

public static boolean greaterThan(String version0,
                                  String version1)
Tests if the first version is greater than the second version.

Parameters:
version0 - the first version
version1 - the second version
Returns:
true if version0 is after version1, false otherwise.

main

public static void main(String... args)
Trier un ensemble de versions données en entrees On affiche le resultat dans la console

Parameters:
args - les versions


Copyright © 2004-2010 CodeLutin. All Rights Reserved.