/** * Creates a new {@link AmountFormatContextBuilder}. * * @param formatQuery the base {@link AmountFormatQuery}, not {@code null}. */ private AmountFormatContextBuilder(AmountFormatQuery formatQuery) { importContext(formatQuery); }
/** * Creates a new {@link AmountFormatContextBuilder}. * * @param context the base {@link AmountFormatContext}, not {@code null}. */ private AmountFormatContextBuilder(AmountFormatContext context) { Objects.requireNonNull(context); importContext(context); }
@Override public Collection<MonetaryAmountFormat> getAmountFormats(AmountFormatQuery amountFormatQuery) { Objects.requireNonNull(amountFormatQuery, "AmountFormatContext required"); if (!amountFormatQuery.getProviderNames().isEmpty() && !amountFormatQuery.getProviderNames().contains(getProviderName())) { return Collections.emptySet(); } if (!(amountFormatQuery.getFormatName() == null || DEFAULT_STYLE.equals(amountFormatQuery.getFormatName()))) { return Collections.emptySet(); } AmountFormatContextBuilder builder = AmountFormatContextBuilder.of(DEFAULT_STYLE); if (amountFormatQuery.getLocale() != null) { builder.setLocale(amountFormatQuery.getLocale()); } builder.importContext(amountFormatQuery, false); builder.setMonetaryAmountFactory(amountFormatQuery.getMonetaryAmountFactory()); return Arrays.asList(new MonetaryAmountFormat[]{new DefaultMonetaryAmountFormat(builder.build())}); }