Class Version

java.lang.Object
org.opensearch.Version
All Implemented Interfaces:
Comparable<Version>, ToXContent, ToXContentFragment
Direct Known Subclasses:
LegacyESVersion

@PublicApi(since="1.0.0") public class Version extends Object implements Comparable<Version>, ToXContentFragment
OpenSearch Version Class
Opensearch.api:
  • Field Details

    • V_EMPTY_ID

      public static final int V_EMPTY_ID
      See Also:
    • V_EMPTY

      public static final Version V_EMPTY
    • V_1_0_0

      public static final Version V_1_0_0
    • V_1_1_0

      public static final Version V_1_1_0
    • V_1_2_0

      public static final Version V_1_2_0
    • V_1_2_1

      public static final Version V_1_2_1
    • V_1_2_2

      public static final Version V_1_2_2
    • V_1_2_3

      public static final Version V_1_2_3
    • V_1_2_4

      public static final Version V_1_2_4
    • V_1_2_5

      public static final Version V_1_2_5
    • V_1_3_0

      public static final Version V_1_3_0
    • V_1_3_1

      public static final Version V_1_3_1
    • V_1_3_2

      public static final Version V_1_3_2
    • V_1_3_3

      public static final Version V_1_3_3
    • V_1_3_4

      public static final Version V_1_3_4
    • V_1_3_5

      public static final Version V_1_3_5
    • V_1_3_6

      public static final Version V_1_3_6
    • V_1_3_7

      public static final Version V_1_3_7
    • V_1_3_8

      public static final Version V_1_3_8
    • V_1_3_9

      public static final Version V_1_3_9
    • V_1_3_10

      public static final Version V_1_3_10
    • V_1_3_11

      public static final Version V_1_3_11
    • V_1_3_12

      public static final Version V_1_3_12
    • V_1_3_13

      public static final Version V_1_3_13
    • V_1_3_14

      public static final Version V_1_3_14
    • V_2_0_0

      public static final Version V_2_0_0
    • V_2_0_1

      public static final Version V_2_0_1
    • V_2_0_2

      public static final Version V_2_0_2
    • V_2_1_0

      public static final Version V_2_1_0
    • V_2_1_1

      public static final Version V_2_1_1
    • V_2_2_0

      public static final Version V_2_2_0
    • V_2_2_1

      public static final Version V_2_2_1
    • V_2_2_2

      public static final Version V_2_2_2
    • V_2_3_0

      public static final Version V_2_3_0
    • V_2_3_1

      public static final Version V_2_3_1
    • V_2_4_0

      public static final Version V_2_4_0
    • V_2_4_1

      public static final Version V_2_4_1
    • V_2_4_2

      public static final Version V_2_4_2
    • V_2_5_0

      public static final Version V_2_5_0
    • V_2_5_1

      public static final Version V_2_5_1
    • V_2_6_0

      public static final Version V_2_6_0
    • V_2_6_1

      public static final Version V_2_6_1
    • V_2_7_0

      public static final Version V_2_7_0
    • V_2_7_1

      public static final Version V_2_7_1
    • V_2_8_0

      public static final Version V_2_8_0
    • V_2_8_1

      public static final Version V_2_8_1
    • V_2_9_0

      public static final Version V_2_9_0
    • V_2_9_1

      public static final Version V_2_9_1
    • V_2_10_0

      public static final Version V_2_10_0
    • V_2_10_1

      public static final Version V_2_10_1
    • V_2_11_0

      public static final Version V_2_11_0
    • CURRENT

      public static final Version CURRENT
    • MASK

      public static final int MASK
      See Also:
    • id

      public final int id
    • major

      public final byte major
    • minor

      public final byte minor
    • revision

      public final byte revision
    • build

      public final byte build
    • luceneVersion

      public final org.apache.lucene.util.Version luceneVersion
  • Method Details

    • fromId

      public static Version fromId(int id)
    • computeLegacyID

      public static int computeLegacyID(int major, int minor, int revision, int build)
    • computeID

      public static int computeID(int major, int minor, int revision, int build)
    • min

      public static Version min(Version version1, Version version2)
      Returns the minimum version between the 2.
    • max

      public static Version max(Version version1, Version version2)
      Returns the maximum version between the 2
    • fromString

      public static Version fromString(String version)
      Returns the version given its string representation, current version if the argument is null or empty
    • after

      public boolean after(Version version)
    • onOrAfter

      public boolean onOrAfter(Version version)
    • before

      public boolean before(Version version)
    • onOrBefore

      public boolean onOrBefore(Version version)
    • compareMajor

      public int compareMajor(Version other)
    • compareTo

      public int compareTo(Version other)
      Specified by:
      compareTo in interface Comparable<Version>
    • toXContent

      public XContentBuilder toXContent(XContentBuilder builder, ToXContent.Params params) throws IOException
      Specified by:
      toXContent in interface ToXContent
      Throws:
      IOException
    • minimumCompatibilityVersion

      public Version minimumCompatibilityVersion()
      Returns the minimum compatible version based on the current version. Ie a node needs to have at least the return version in order to communicate with a node running the current version. The returned version is in most of the cases the smallest major version release unless the current version is a beta or RC release then the version itself is returned.
    • computeMinCompatVersion

      protected Version computeMinCompatVersion()
    • maskId

      protected int maskId(int id)
      this is used to ensure the version id for new versions of OpenSearch are always less than the predecessor versions
    • minimumIndexCompatibilityVersion

      public Version minimumIndexCompatibilityVersion()
      Returns the minimum created index version that this version supports. Indices created with lower versions can't be used with this version. This should also be used for file based serialization backwards compatibility ie. on serialization code that is used to read / write file formats like transaction logs, cluster state, and index metadata.
    • isCompatible

      public boolean isCompatible(Version version)
      Returns true iff both version are compatible. Otherwise false
    • main

      public static void main(String[] args)
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • isBeta

      public boolean isBeta()
    • isAlpha

      public boolean isAlpha()
      Returns true iff this version is an alpha version Note: This has been introduced in version 5 of the OpenSearch predecessor. Previous versions will never have an alpha version.
    • isRC

      public boolean isRC()
    • isRelease

      public boolean isRelease()
    • getDeclaredVersions

      public static List<Version> getDeclaredVersions(Class<?> versionClass)
      Extracts a sorted list of declared version constants from a class. The argument would normally be Version.class but is exposed for testing with other classes-containing-version-constants.
    • stringHasLength

      public static boolean stringHasLength(String str)
      Check that the given String is neither null nor of length 0. Note: Will return true for a String that purely consists of whitespace.