001/** 002 * Copyright (c) 2012, 2014, Credit Suisse (Anatole Tresch), Werner Keil and others by the @author tag. 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 005 * use this file except in compliance with the License. You may obtain a copy of 006 * the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 012 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 013 * License for the specific language governing permissions and limitations under 014 * the License. 015 */ 016package org.javamoney.moneta.internal.convert; 017 018import javax.money.convert.ConversionContext; 019import javax.money.convert.ProviderContext; 020import javax.money.convert.ProviderContextBuilder; 021import javax.money.convert.RateType; 022 023/** 024 * This class implements an {@link javax.money.convert.ExchangeRateProvider} that loads data from 025 * the European Central Bank data feed (XML). It loads the current exchange 026 * rates. The provider loads all data up to 1999 into its 027 * historic data cache. 028 * 029 * @author Anatole Tresch 030 * @author Werner Keil 031 * @author otaviojava 032 */ 033public class ECBCurrentRateProvider extends ECBAbstractRateProvider { 034 035 /** 036 * The data id used for the LoaderService. 037 */ 038 private static final String DATA_ID = ECBCurrentRateProvider.class.getSimpleName(); 039 /** 040 * The {@link ConversionContext} of this provider. 041 */ 042 private static final ProviderContext CONTEXT = 043 ProviderContextBuilder.of("ECB", RateType.DEFERRED).set("providerDescription", "European Central Bank") 044 .set("days", 1).build(); 045 046 public ECBCurrentRateProvider() { 047 super(CONTEXT); 048 } 049 050 @Override 051 public String getDataId() { 052 return DATA_ID; 053 } 054}