@Override public TemplateBuilderImpl apply(TemplateBuilderImpl input) { return input.imageChooser(input.imageChooserFromOrdering(sorterPreferringNonNullArch)); } };
@Override public TemplateBuilderImpl apply(TemplateBuilderImpl input) { return input.imageChooser(new Function<Iterable<? extends Image>, Image>() { @Override public Image apply(Iterable<? extends Image> input) { return Iterables.find(input, new Predicate<Image>() { @Override public boolean apply(Image input) { return input.getName() != null && input.getName().contains("alternate"); } }); } }); } };
@Override public TemplateBuilderImpl apply(TemplateBuilderImpl input) { return input.imageChooser(input.imageChooserFromOrdering(new Ordering<Image>() { private int score(Image img) { if (img.getName().contains("alternate")) return 10; return 0; } @Override public int compare(Image left, Image right) { return score(left) - score(right); } })); } };
/** * * @param hardware * @param supportedImages * @throws NoSuchElementException * if there's no image that matches the predicate */ protected Image resolveImage(final Hardware hardware, Iterable<? extends Image> supportedImages) { Predicate<Image> imagePredicate = new Predicate<Image>() { @Override public boolean apply(Image arg0) { return hardware.supportsImage().apply(arg0); } @Override public String toString() { return "hardware(" + hardware + ").supportsImage()"; } }; try { Iterable<? extends Image> matchingImages = filter(supportedImages, imagePredicate); if (logger.isTraceEnabled()) logger.trace("<< matched images(%s)", transform(matchingImages, imageToId)); return imageChooser().apply(matchingImages); } catch (NoSuchElementException exception) { throw throwNoSuchElementExceptionAfterLoggingImageIds(format("no image matched params: %s", toString()), supportedImages); } }
/** * * @param hardware * @param supportedImages * @throws NoSuchElementException * if there's no image that matches the predicate */ protected Image resolveImage(final Hardware hardware, Iterable<? extends Image> supportedImages) { Predicate<Image> imagePredicate = new Predicate<Image>() { @Override public boolean apply(Image arg0) { return hardware.supportsImage().apply(arg0); } @Override public String toString() { return "hardware(" + hardware + ").supportsImage()"; } }; try { Iterable<? extends Image> matchingImages = filter(supportedImages, imagePredicate); if (logger.isTraceEnabled()) logger.trace("<< matched images(%s)", transform(matchingImages, imageToId)); return imageChooser().apply(matchingImages); } catch (NoSuchElementException exception) { throw throwNoSuchElementExceptionAfterLoggingImageIds(format("no image matched params: %s", toString()), supportedImages); } }
/** * * @param hardware * @param supportedImages * @throws NoSuchElementException * if there's no image that matches the predicate */ protected Image resolveImage(final Hardware hardware, Iterable<? extends Image> supportedImages) { Predicate<Image> imagePredicate = new Predicate<Image>() { @Override public boolean apply(Image arg0) { return hardware.supportsImage().apply(arg0); } @Override public String toString() { return "hardware(" + hardware + ").supportsImage()"; } }; try { Iterable<? extends Image> matchingImages = filter(supportedImages, imagePredicate); if (logger.isTraceEnabled()) logger.trace("<< matched images(%s)", transform(matchingImages, imageToId)); return imageChooser().apply(matchingImages); } catch (NoSuchElementException exception) { throwNoSuchElementExceptionAfterLoggingImageIds(format("no image matched params: %s", toString()), supportedImages); assert false; return null; } }