/** * Finds {@link Compatibility} instances between (and not inclusive of) the specified versions. */ public Compatibilities betweenReleases(final String start, final String end) { return beforeRelease(end).afterRelease(start); }
public List<Compatibility> match() { final Compatibility[] enumArray = (Compatibility[]) compatibility.getEnumConstants(); final List<Compatibility> enums = Arrays.asList(enumArray); final Pattern pattern = Pattern.compile(configuredAs); final List<Compatibility> thisMatch = enums.stream() .filter(c -> beforeRelease(c, releaseVersionBefore)) .filter(c -> afterRelease(c, releaseVersionAfter)) .filter(c -> beforeIo(c, ioVersionBefore)) .filter(c -> afterIo(c, ioVersionAfter)) .filter(c -> pattern.matcher(c.getConfiguration()).matches()) .collect(Collectors.toList()); final List<Compatibility> matches = new ArrayList<>(thisMatch); compatibilitiesToJoin.forEach(c -> matches.addAll(c.match())); return matches; }