private <T> T pickInstance(T[] instances, T defaultValue) { return pickInstance(Arrays.asList(instances), defaultValue); }
@Generates private Locale generateLocale() { return pickInstance(Locale.getAvailableLocales(), Locale.US); }
@Generates private Class<?> generateClass() { return pickInstance( ImmutableList.of( int.class, long.class, void.class, Object.class, Object[].class, Iterable.class), Object.class); }
@Generates private Currency generateCurrency() { try { Method method = Currency.class.getMethod("getAvailableCurrencies"); @SuppressWarnings("unchecked") // getAvailableCurrencies() returns Set<Currency>. Set<Currency> currencies = (Set<Currency>) method.invoke(null); return pickInstance(currencies, Currency.getInstance(Locale.US)); } catch (NoSuchMethodException | InvocationTargetException notJava7) { return preJava7FreshCurrency(); } catch (IllegalAccessException impossible) { throw new AssertionError(impossible); } }
@Generates private Charset generateCharset() { return pickInstance(Charset.availableCharsets().values(), Charsets.UTF_8); }
Class<?> rawType = type.getRawType(); List<Object> samples = sampleInstances.get(rawType); Object sample = pickInstance(samples, null); if (sample != null) { return sample; return pickInstance(rawType.getEnumConstants(), null);
private <T> T pickInstance(T[] instances, T defaultValue) { return pickInstance(Arrays.asList(instances), defaultValue); }
@Generates private Class<?> generateClass() { return pickInstance( ImmutableList.of( int.class, long.class, void.class, Object.class, Object[].class, Iterable.class), Object.class); }
@Generates private Locale generateLocale() { return pickInstance(Locale.getAvailableLocales(), Locale.US); }
@Generates private Currency generateCurrency() { try { Method method = Currency.class.getMethod("getAvailableCurrencies"); @SuppressWarnings("unchecked") // getAvailableCurrencies() returns Set<Currency>. Set<Currency> currencies = (Set<Currency>) method.invoke(null); return pickInstance(currencies, Currency.getInstance(Locale.US)); } catch (NoSuchMethodException | InvocationTargetException notJava7) { return preJava7FreshCurrency(); } catch (IllegalAccessException impossible) { throw new AssertionError(impossible); } }
@Generates private Charset generateCharset() { return pickInstance(Charset.availableCharsets().values(), Charsets.UTF_8); }
Class<?> rawType = type.getRawType(); List<Object> samples = sampleInstances.get(rawType); Object sample = pickInstance(samples, null); if (sample != null) { return sample; return pickInstance(rawType.getEnumConstants(), null);