.. java:import:: com.vdurmont.semver4j Semver Version ======= .. java:package:: ru.bitec.gs.automation.util :noindex: .. java:type:: public class Version implements Comparable Класс для утилит по работе с версиями. Использует алгоритмы парсинга строки и сравнения из библиотеки SemVer. Constructors ------------ Version ^^^^^^^ .. java:constructor:: public Version(Semver semver) :outertype: Version Methods ------- compareTo ^^^^^^^^^ .. java:method:: @Override public int compareTo(Version version) :outertype: Version Метод определяет приоритет при сравнении двух версий. При сравнении версий не учитывается :java:ref:`getBuild() `. .. parsed-literal:: new SemVer("1.2.3+4").compareTo(new SemVer("1.2.3+5")) == 0, т.к. `build` не сравниваются. Разница в поведении методов :java:ref:`compareTo(ru.bitec.gs.automation.util.Version) ` и :java:ref:`equals(java.lang.Object) ` обусловлена их разными целями: ``compareTo``\ : Определяет порядок версий (приоритет) для целей управления зависимостями, совместимости и выбора подходящей версии. Метка сборки не имеет значения в этом контексте. ``equals``\ : Проверяет идентичность версий, включая все их компоненты, чтобы гарантировать, что два объекта представляют одну и ту же версию. :param version: the object to be compared. :return: .. seealso:: | :java:ref:`equals(Object) ` compareVersions ^^^^^^^^^^^^^^^ .. java:method:: public static int compareVersions(String version1, String version2) :outertype: Version Сравнивает две строки, содержащих версии, используя метод :java:ref:`compareTo(Version) `. :param version1: версия 1 :param version2: версия 2 :return: результат сравнения .. seealso:: | :java:ref:`Comparable.compareTo(Object) ` equals ^^^^^^ .. java:method:: @Override public boolean equals(Object o) :outertype: Version Метод выполняет проверку эквивалентности двух объектов. При при проверке эквивалентности учитываются все части версии. .. parsed-literal:: new SemVer("1.2.3+4").equals(new SemVer("1.2.3+5")) == false, т.к. сравниваются строки. :param o: объект с которым сравнивается текущий :return: true, если версии эквивалентны, иначе false. getBuild ^^^^^^^^ .. java:method:: public String getBuild() :outertype: Version Returns the build of the version. Example: for "1.2.3-ms4+sha98450956" = "sha98450956" Example: for "1.2.3+sha98450956" = "sha98450956" :return: the build of the version getMajor ^^^^^^^^ .. java:method:: public Integer getMajor() :outertype: Version Returns the major part of the version. Example: for "1.2.3" = 1 :return: the major part of the version getMinor ^^^^^^^^ .. java:method:: public Integer getMinor() :outertype: Version Returns the minor part of the version. Example: for "1.2.3" = 2 :return: the minor part of the version getRelease ^^^^^^^^^^ .. java:method:: public Integer getRelease() :outertype: Version Returns the release part of the version. Example: for "1.2.3" = 3 :return: the release part of the version getSuffixTokens ^^^^^^^^^^^^^^^ .. java:method:: public String[] getSuffixTokens() :outertype: Version Returns the suffix of the version. Example: for "1.2.3-ms.4+sha98450956" = {"ms", "4"} Example: for "1.2.3-ms4+sha98450956" = {"ms4"} :return: the suffix of the version getValue ^^^^^^^^ .. java:method:: public String getValue() :outertype: Version Returns the version as a String :return: the version as a String hashCode ^^^^^^^^ .. java:method:: @Override public int hashCode() :outertype: Version parse ^^^^^ .. java:method:: public static Version parse(String version) :outertype: Version Создаёт новый экземпляр :java:ref:`Version ` на основе строки. Примеры допустимых форматов: * 1.2.3 * 1.2.3+5 * 1.2.3-ms4 * 1.2.3-rc4 * 1.2.3-rc.4 * 1.2.3-ms.4 * 1.2.3-ms.4+5 Примеры НЕ допустимых форматов: * 1 * 1.2 * 1.2.3.4 :param version: Строковое представление версии. :return: новый экземпляр :java:ref:`Version `. .. seealso:: | :java:ref:`Application.getServerVersion() ` | :java:ref:`LibraryManifest.getLibraryVersion() ` | :java:ref:`LibraryManifest.getServerMinimalVersions() ` toString ^^^^^^^^ .. java:method:: @Override public String toString() :outertype: Version