com.fasterxml.jackson.core.util
Class VersionUtil

java.lang.Object
  extended by com.fasterxml.jackson.core.util.VersionUtil

public class VersionUtil
extends Object

Functionality for supporting exposing of component Versions. Also contains other misc methods that have no other place to live in.

Note that this class can be used in two roles: first, as a static utility class for loading purposes, and second, as a singleton loader of per-module version information.

Note that method for accessing version information changed between versions 2.1 and 2.2; earlier code used file named "VERSION.txt"; but this has serious performance issues on some platforms (Android), so a replacement system was implemented to use class generation and dynamic class loading.

Note that functionality for reading "VERSION.txt" was removed completely from Jackson 2.6.


Constructor Summary
protected VersionUtil()
           
 
Method Summary
static Version mavenVersionFor(ClassLoader cl, String groupId, String artifactId)
          Deprecated. Since 2.6: functionality not used by any official Jackson component, should be moved out if anyone needs it
static Version packageVersionFor(Class<?> cls)
          Loads version information by introspecting a class named "PackageVersion" in the same package as the given class.
static Version parseVersion(String s, String groupId, String artifactId)
          Method used by PackageVersion classes to decode version injected by Maven build.
protected static int parseVersionPart(String s)
           
static void throwInternal()
           
 Version version()
           
static Version versionFor(Class<?> cls)
          Helper method that will try to load version information for specified class.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

VersionUtil

protected VersionUtil()
Method Detail

version

public Version version()

versionFor

public static Version versionFor(Class<?> cls)
Helper method that will try to load version information for specified class. Implementation is as follows: First, tries to load version info from a class named "PackageVersion" in the same package as the class. If no version information is found, Version.unknownVersion() is returned.


packageVersionFor

public static Version packageVersionFor(Class<?> cls)
Loads version information by introspecting a class named "PackageVersion" in the same package as the given class.

If the class could not be found or does not have a public static Version field named "VERSION", returns null.


mavenVersionFor

@Deprecated
public static Version mavenVersionFor(ClassLoader cl,
                                                 String groupId,
                                                 String artifactId)
Deprecated. Since 2.6: functionality not used by any official Jackson component, should be moved out if anyone needs it

Will attempt to load the maven version for the given groupId and artifactId. Maven puts a pom.properties file in META-INF/maven/groupId/artifactId, containing the groupId, artifactId and version of the library.

Parameters:
cl - the ClassLoader to load the pom.properties file from
groupId - the groupId of the library
artifactId - the artifactId of the library
Returns:
The version

parseVersion

public static Version parseVersion(String s,
                                   String groupId,
                                   String artifactId)
Method used by PackageVersion classes to decode version injected by Maven build.


parseVersionPart

protected static int parseVersionPart(String s)

throwInternal

public static final void throwInternal()


Copyright © 2008-2016 FasterXML. All Rights Reserved.