Package com.fasterxml.jackson.core.util

# Class VersionUtil

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

public class VersionUtil extends Object
Functionality for supporting exposing of component `Version`s. 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

Constructors
Modifier
Constructor
Description
`protected`
`VersionUtil()`

## Method Summary

Modifier and Type
Method
Description
`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)`
Deprecated.
Since 2.12 simply use `versionFor(Class)` instead
`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 final void`
`throwInternal()`
`static final <T> T`
`throwInternalReturnAny()`
`Version`
`version()`
Deprecated.
`static Version`
`versionFor(Class<?> cls)`
Loads version information by introspecting a class named "PackageVersion" in the same package as the given class.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### VersionUtil

protected VersionUtil()

## Method Details

### version

@Deprecated public Version version()
Deprecated.

### versionFor

public static Version versionFor(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 "empty" `Version` returned by `Version.unknownVersion()`.

Parameters:
  `cls` - Class for which to look version information
Returns:
  Version information discovered if any; `Version.unknownVersion()` if none

### packageVersionFor

@Deprecated public static Version packageVersionFor(Class<?> cls)
Deprecated.
Since 2.12 simply use `versionFor(Class)` instead
Alias of `versionFor(Class)`.

Parameters:
  `cls` - Class for which to look version information
Returns:
  Version information discovered if any; `Version.unknownVersion()` if none

### 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.

Parameters:
  `s` - Version String to parse
  `groupId` - Maven group id to include with version
  `artifactId` - Maven artifact id to include with version
Returns:
  Version instance constructed from parsed components, if successful; `Version.unknownVersion()` if parsing of components fail

### parseVersionPart

protected static int parseVersionPart(String s)

### throwInternal

public static final void throwInternal()

### throwInternalReturnAny

public static final <T> T throwInternalReturnAny()