diff options
Diffstat (limited to 'src/main/java/org/openslx/virtualization/Version.java')
-rw-r--r-- | src/main/java/org/openslx/virtualization/Version.java | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/src/main/java/org/openslx/virtualization/Version.java b/src/main/java/org/openslx/virtualization/Version.java index 7d4d016..efc23af 100644 --- a/src/main/java/org/openslx/virtualization/Version.java +++ b/src/main/java/org/openslx/virtualization/Version.java @@ -133,6 +133,19 @@ public class Version implements Comparable<Version> } /** + * Returns a version from a list of supported versions filtered by its given filter predicate. + * + * @param byFilter filter predicate. + * @param supportedVersions list of supported versions. + * @return version from a list of supported versions filtered by its given filter predicate. + */ + private static Version getInstanceByPredicateFromVersions( Predicate<Version> byFilter, + List<Version> supportedVersions ) + { + return supportedVersions.stream().filter( byFilter ).findFirst().orElse( null ); + } + + /** * Returns a version from a list of supported versions by its given major version. * * @param major version. @@ -142,7 +155,22 @@ public class Version implements Comparable<Version> public static Version getInstanceByMajorFromVersions( short major, List<Version> supportedVersions ) { final Predicate<Version> byMajor = version -> major == version.getMajor(); - return supportedVersions.stream().filter( byMajor ).findFirst().orElse( null ); + return Version.getInstanceByPredicateFromVersions( byMajor, supportedVersions ); + } + + /** + * Returns a version from a list of supported versions by its given major and minor version. + * + * @param major version. + * @param minor version. + * @param supportedVersions list of supported versions. + * @return version from a list of supported versions by its given major and minor version. + */ + public static Version getInstanceByMajorMinorFromVersions( short major, short minor, + List<Version> supportedVersions ) + { + final Predicate<Version> byMajorMinor = version -> major == version.getMajor() && minor == version.getMinor(); + return supportedVersions.stream().filter( byMajorMinor ).findFirst().orElse( null ); } @Override |