W3cubDocs

/OpenJDK 21

Enum Class ClassFileFormatVersion

java.lang.Object
java.lang.Enum<ClassFileFormatVersion>
java.lang.reflect.ClassFileFormatVersion
All Implemented Interfaces:
Serializable, Comparable<ClassFileFormatVersion>, Constable
public enum ClassFileFormatVersion extends Enum<ClassFileFormatVersion>
Class file format versions of the Java virtual machine. See the appropriate edition of The Java Virtual Machine Specification for information about a particular class file format version.

Note that additional class file format version constants will be added to model future releases of the Java Virtual Machine Specification.

API Note:
The complete version used in a class file includes a major version and a minor version; this enum only models the major version. A Java virtual machine implementation is required to support a range of major versions; see the corresponding edition of the The Java Virtual Machine Specification for details.
Since:
20
See Also:

Nested Class Summary

Nested classes/interfaces declared in class java.lang.Enum

Enum.EnumDesc<E extends Enum<E>>

Enum Constant Summary

Enum Constant Description
RELEASE_0
The original version.
RELEASE_1
The version recognized by the Java Platform 1.1.
RELEASE_10
The version introduced by the Java Platform, Standard Edition 10.
RELEASE_11
The version introduced by the Java Platform, Standard Edition 11.
RELEASE_12
The version introduced by the Java Platform, Standard Edition 12.
RELEASE_13
The version introduced by the Java Platform, Standard Edition 13.
RELEASE_14
The version introduced by the Java Platform, Standard Edition 14.
RELEASE_15
The version introduced by the Java Platform, Standard Edition 15.
RELEASE_16
The version introduced by the Java Platform, Standard Edition 16.
RELEASE_17
The version introduced by the Java Platform, Standard Edition 17.
RELEASE_18
The version introduced by the Java Platform, Standard Edition 18.
RELEASE_19
The version introduced by the Java Platform, Standard Edition 19.
RELEASE_2
The version introduced by the Java 2 Platform, Standard Edition, v 1.2.
RELEASE_20
The version introduced by the Java Platform, Standard Edition 20.
RELEASE_21
The version introduced by the Java Platform, Standard Edition 21.
RELEASE_3
The version introduced by the Java 2 Platform, Standard Edition, v 1.3.
RELEASE_4
The version introduced by the Java 2 Platform, Standard Edition, v 1.4.
RELEASE_5
The version introduced by the Java 2 Platform, Standard Edition 5.0.
RELEASE_6
The version introduced by the Java Platform, Standard Edition 6.
RELEASE_7
The version introduced by the Java Platform, Standard Edition 7.
RELEASE_8
The version introduced by the Java Platform, Standard Edition 8.
RELEASE_9
The version introduced by the Java Platform, Standard Edition 9.

Method Summary

Modifier and Type Method Description
static ClassFileFormatVersion fromMajor(int major)
Returns the latest class file format version whose major class file version matches the argument.
static ClassFileFormatVersion latest()
Returns the latest class file format version.
int major()
Returns the major class file version as an integer.
Runtime.Version runtimeVersion()
Returns the least runtime version that supports this class file format version; otherwise null.
static ClassFileFormatVersion valueOf(Runtime.Version rv)
Returns the latest class file format version that is usable under the runtime version argument.
static ClassFileFormatVersion valueOf(String name)
Returns the enum constant of this class with the specified name.
static ClassFileFormatVersion[] values()
Returns an array containing the constants of this enum class, in the order they are declared.

Methods declared in class java.lang.Object

getClass, notify, notifyAll, wait, wait, wait

Enum Constant Details

RELEASE_0

public static final ClassFileFormatVersion RELEASE_0
The original version. The format described in The Java Virtual Specification, First Edition.

RELEASE_1

public static final ClassFileFormatVersion RELEASE_1
The version recognized by the Java Platform 1.1.
API Note:
While RELEASE_0 and RELEASE_1 have the same major version, several additional attributes were defined for RELEASE_1 (JVMS 4.7).

RELEASE_2

public static final ClassFileFormatVersion RELEASE_2
The version introduced by the Java 2 Platform, Standard Edition, v 1.2. The format described in The Java Virtual Machine Specification, Second Edition, which includes the ACC_STRICT access flag.

RELEASE_3

public static final ClassFileFormatVersion RELEASE_3
The version introduced by the Java 2 Platform, Standard Edition, v 1.3.

RELEASE_4

public static final ClassFileFormatVersion RELEASE_4
The version introduced by the Java 2 Platform, Standard Edition, v 1.4.

RELEASE_5

public static final ClassFileFormatVersion RELEASE_5
The version introduced by the Java 2 Platform, Standard Edition 5.0.
See Also:

RELEASE_6

public static final ClassFileFormatVersion RELEASE_6
The version introduced by the Java Platform, Standard Edition 6.
See Also:

RELEASE_7

public static final ClassFileFormatVersion RELEASE_7
The version introduced by the Java Platform, Standard Edition 7.
See Also:

RELEASE_8

public static final ClassFileFormatVersion RELEASE_8
The version introduced by the Java Platform, Standard Edition 8.
See Also:

RELEASE_9

public static final ClassFileFormatVersion RELEASE_9
The version introduced by the Java Platform, Standard Edition 9.
See Also:

RELEASE_10

public static final ClassFileFormatVersion RELEASE_10
The version introduced by the Java Platform, Standard Edition 10.
See Also:

RELEASE_11

public static final ClassFileFormatVersion RELEASE_11
The version introduced by the Java Platform, Standard Edition 11.
See Also:

RELEASE_12

public static final ClassFileFormatVersion RELEASE_12
The version introduced by the Java Platform, Standard Edition 12.
See Also:

RELEASE_13

public static final ClassFileFormatVersion RELEASE_13
The version introduced by the Java Platform, Standard Edition 13.
See Also:

RELEASE_14

public static final ClassFileFormatVersion RELEASE_14
The version introduced by the Java Platform, Standard Edition 14.
See Also:

RELEASE_15

public static final ClassFileFormatVersion RELEASE_15
The version introduced by the Java Platform, Standard Edition 15.
See Also:

RELEASE_16

public static final ClassFileFormatVersion RELEASE_16
The version introduced by the Java Platform, Standard Edition 16.
See Also:

RELEASE_17

public static final ClassFileFormatVersion RELEASE_17
The version introduced by the Java Platform, Standard Edition 17. Additions in this release include sealed classes and restoration of always-strict floating-point semantics.
See Also:

RELEASE_18

public static final ClassFileFormatVersion RELEASE_18
The version introduced by the Java Platform, Standard Edition 18.
See Also:

RELEASE_19

public static final ClassFileFormatVersion RELEASE_19
The version introduced by the Java Platform, Standard Edition 19.
See Also:

RELEASE_20

public static final ClassFileFormatVersion RELEASE_20
The version introduced by the Java Platform, Standard Edition 20.
See Also:

RELEASE_21

public static final ClassFileFormatVersion RELEASE_21
The version introduced by the Java Platform, Standard Edition 21.
Since:
21
See Also:

Method Details

values

public static ClassFileFormatVersion[] values()
Returns an array containing the constants of this enum class, in the order they are declared.
Returns:
an array containing the constants of this enum class, in the order they are declared

valueOf

public static ClassFileFormatVersion valueOf(String name)
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
Parameters:
name - the name of the enum constant to be returned.
Returns:
the enum constant with the specified name
Throws:
IllegalArgumentException - if this enum class has no constant with the specified name
NullPointerException - if the argument is null

latest

public static ClassFileFormatVersion latest()
Returns the latest class file format version.
Returns:
the latest class file format version

major

public int major()
Returns the major class file version as an integer.
Returns:
the major class file version as an integer
See Java Virtual Machine Specification:
4.1 The ClassFile Structure

valueOf

public static ClassFileFormatVersion valueOf(Runtime.Version rv)
Returns the latest class file format version that is usable under the runtime version argument. If the runtime version's feature is greater than the feature of the runtime version of the latest class file format version, an IllegalArgumentException is thrown.

Because the class file format versions of the Java platform have so far followed a linear progression, only the feature component of a runtime version is queried to determine the mapping to a class file format version. If that linearity changes in the future, other components of the runtime version may influence the result.

API Note:
An expression to convert from a string value, for example "17", to the corresponding class file format version, RELEASE_17, is:
ClassFileFormatVersion.valueOf(Runtime.Version.parse("17"))
Parameters:
rv - runtime version to map to a class file format version
Returns:
the latest class file format version that is usable under the runtime version argument
Throws:
IllegalArgumentException - if the feature of version argument is greater than the feature of the platform version.

runtimeVersion

public Runtime.Version runtimeVersion()
Returns the least runtime version that supports this class file format version; otherwise null. The returned runtime version has a feature large enough to support this class file format version and has no other elements set. Class file format versions greater than or equal to RELEASE_6 have non-null results.
Returns:
the least runtime version that supports this class file format version; otherwise null

fromMajor

public static ClassFileFormatVersion fromMajor(int major)
Returns the latest class file format version whose major class file version matches the argument.
Parameters:
major - the major class file version as an integer
Returns:
the latest class file format version whose major class file version matches the argument
Throws:
IllegalArgumentException - if the argument is outside of the range of major class file versions

© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/reflect/ClassFileFormatVersion.html