/*
* Copyright (c) 2012-2017 Anatole Tresch.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package org.javamoney.cdi;
import org.javamoney.cdi.api.ConversionSpec;
import javax.enterprise.context.Dependent;
import javax.inject.Inject;
import javax.money.convert.CurrencyConversion;
import javax.money.convert.ExchangeRate;
import javax.money.convert.ExchangeRateProvider;
import javax.money.convert.RateType;
import java.util.Collection;
/**
* Test bean for injection of rate related beans and providers.
*/
@Dependent
public class RateInjectedBean {
@Inject @ConversionSpec(rateTypes = RateType.DEFERRED)
ExchangeRateProvider deferredProvider;
@Inject @ConversionSpec(providers = "ECB")
ExchangeRateProvider ecbProvider;
@Inject @ConversionSpec(termCurrency = "EUR")
CurrencyConversion euroConverter;
@Inject
Collection<ExchangeRateProvider> allProviders;
@Inject @ConversionSpec(providers = "ECB")
Collection<ExchangeRateProvider> ecbProviderAsList;
@Inject @ConversionSpec(rateTypes = RateType.HISTORIC)
Collection<ExchangeRateProvider> allHistoricProviders;
@Inject @ConversionSpec(baseCurrency = "CHF", termCurrency = "EUR",
rateTypes = RateType.DEFERRED)
ExchangeRate chfEurRate;
@Inject @ConversionSpec(baseCurrency = "CHF", termCurrency = "EUR")
Collection<ExchangeRate> allChfEurRates;
}