Package org.apache.http.util
Class VersionInfo
java.lang.Object
org.apache.http.util.VersionInfo
Provides access to version information for HTTP components.
Static methods are used to extract version information from property
files that are automatically packaged with HTTP component release JARs.
All available version information is provided in strings, where the string format is informal and subject to change without notice. Version information is provided for debugging output and interpretation by humans, not for automated processing in applications.
- Since:
- 4.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final String
The classloader from which the version info was obtained.private final String
The module from the version info.private final String
The package that contains the version information.private final String
The release from the version info.private final String
The timestamp from the version info.static final String
static final String
static final String
static final String
A string constant for unavailable information.static final String
The filename of the version information files. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected static VersionInfo
fromMap
(String pckg, Map<?, ?> info, ClassLoader clsldr) Instantiates version information from properties.final String
Obtains the classloader used to read the version information.final String
Obtains the name of the versioned module or informal unit.final String
Obtains the package name.final String
Obtains the release of the versioned module or informal unit.final String
Obtains the timestamp of the versioned module or informal unit.static String
getUserAgent
(String name, String pkg, Class<?> cls) Sets the user agent to"<name>/<release> (Java/<java.version>)"
.static VersionInfo[]
loadVersionInfo
(String[] pckgs, ClassLoader clsldr) Loads version information for a list of packages.static VersionInfo
loadVersionInfo
(String pckg, ClassLoader clsldr) Loads version information for a package.toString()
Provides the version information in human-readable format.
-
Field Details
-
UNAVAILABLE
A string constant for unavailable information.- See Also:
-
VERSION_PROPERTY_FILE
The filename of the version information files.- See Also:
-
PROPERTY_MODULE
- See Also:
-
PROPERTY_RELEASE
- See Also:
-
PROPERTY_TIMESTAMP
- See Also:
-
infoPackage
The package that contains the version information. -
infoModule
The module from the version info. -
infoRelease
The release from the version info. -
infoTimestamp
The timestamp from the version info. -
infoClassloader
The classloader from which the version info was obtained.
-
-
Constructor Details
-
VersionInfo
Instantiates version information.- Parameters:
pckg
- the packagemodule
- the module, ornull
release
- the release, ornull
time
- the build time, ornull
clsldr
- the class loader, ornull
-
-
Method Details
-
getPackage
Obtains the package name. The package name identifies the module or informal unit.- Returns:
- the package name, never
null
-
getModule
Obtains the name of the versioned module or informal unit. This data is read from the version information for the package.- Returns:
- the module name, never
null
-
getRelease
Obtains the release of the versioned module or informal unit. This data is read from the version information for the package.- Returns:
- the release version, never
null
-
getTimestamp
Obtains the timestamp of the versioned module or informal unit. This data is read from the version information for the package.- Returns:
- the timestamp, never
null
-
getClassloader
Obtains the classloader used to read the version information. This is just thetoString
output of the classloader, since the version information should not keep a reference to the classloader itself. That could prevent garbage collection.- Returns:
- the classloader description, never
null
-
toString
Provides the version information in human-readable format. -
loadVersionInfo
Loads version information for a list of packages.- Parameters:
pckgs
- the packages for which to load version infoclsldr
- the classloader to load from, ornull
for the thread context classloader- Returns:
- the version information for all packages found,
never
null
-
loadVersionInfo
Loads version information for a package.- Parameters:
pckg
- the package for which to load version information, for example "org.apache.http". The package name should NOT end with a dot.clsldr
- the classloader to load from, ornull
for the thread context classloader- Returns:
- the version information for the argument package, or
null
if not available
-
fromMap
Instantiates version information from properties.- Parameters:
pckg
- the package for the version informationinfo
- the map from string keys to string values, for exampleProperties
clsldr
- the classloader, ornull
- Returns:
- the version information
-
getUserAgent
Sets the user agent to"<name>/<release> (Java/<java.version>)"
.For example:
"Apache-HttpClient/4.3 (Java/1.6.0_35)"
- Parameters:
name
- the component name, like "Apache-HttpClient".pkg
- the package for which to load version information, for example "org.apache.http". The package name should NOT end with a dot.cls
- the class' class loader to load from, ornull
for the thread context class loader- Since:
- 4.3
-