public static Class<?>[] getRawTypes(Type[] types) { if (types.length == 0) { return Arrays2.EMPTY_CLASS_ARRAY; } Class<?>[] result = new Class<?>[types.length]; for (int i = 0; i < types.length; i++) { result[i] = TYPE_TO_CLASS_FUNCTION.apply(types[i]); } return result; }
@Override public final R next() { return function.apply(iterator.next()); }
@Override public V getValue(final K key) { ValueHolder<V> value = map.get(key); if (value == null) { value = function.apply(key); ValueHolder<V> previous = map.putIfAbsent(key, value); if (previous != null) { value = previous; } // finally, check that we are not over the bound if (maxSize != null && size() > maxSize) { clear(); } } return value.get(); }
private <T> Iterable<T> createDynamicAccessibleIterable(final Function<BeanManagerImpl, Iterable<T>> transform) { return Iterables.concat(flatMap(getAccessibleManagers(), transform), transform.apply(this)); }
private <T> BeansXml merge(Iterable<? extends T> items, Function<T, BeansXml> function, boolean removeDuplicates) { List<Metadata<String>> alternatives = new ArrayList<Metadata<String>>(); List<Metadata<String>> alternativeStereotypes = new ArrayList<Metadata<String>>(); List<Metadata<String>> decorators = new ArrayList<Metadata<String>>(); List<Metadata<String>> interceptors = new ArrayList<Metadata<String>>(); List<Metadata<Filter>> includes = new ArrayList<Metadata<Filter>>(); List<Metadata<Filter>> excludes = new ArrayList<Metadata<Filter>>(); boolean isTrimmed = false; URL beansXmlUrl = null; for (T item : items) { BeansXml beansXml = function.apply(item); addTo(alternatives, beansXml.getEnabledAlternativeClasses(), removeDuplicates); addTo(alternativeStereotypes, beansXml.getEnabledAlternativeStereotypes(), removeDuplicates); addTo(decorators, beansXml.getEnabledDecorators(), removeDuplicates); addTo(interceptors, beansXml.getEnabledInterceptors(), removeDuplicates); includes.addAll(beansXml.getScanning().getIncludes()); excludes.addAll(beansXml.getScanning().getExcludes()); if (beansXml instanceof TrimmableBeansXml) { isTrimmed = ((TrimmableBeansXml) beansXml).isTrimmed(); } /* * provided we are merging the content of multiple XML files, getBeansXml() returns an * InputStream representing the last one */ beansXmlUrl = beansXml.getUrl(); } return new BeansXmlImpl(alternatives, alternativeStereotypes, decorators, interceptors, new ScanningImpl(includes, excludes), beansXmlUrl, BeanDiscoveryMode.ALL, null, isTrimmed); }
includes = new ArrayList<Predicate<String>>(includeFilters.size()); for (Metadata<Filter> includeFilter : includeFilters) { includes.add(filterToPredicateFunction.apply(includeFilter)); excludes = new ArrayList<Predicate<String>>(excludeFilters.size()); for (Metadata<Filter> excludeFilter : excludeFilters) { excludes.add(filterToPredicateFunction.apply(excludeFilter));