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.convert.internal; 017 018import java.net.MalformedURLException; 019 020import javax.money.convert.ConversionContext; 021import javax.money.convert.ProviderContext; 022import javax.money.convert.ProviderContextBuilder; 023import javax.money.convert.RateType; 024 025/** 026 * This class implements an {@link javax.money.convert.ExchangeRateProvider} that loads data from 027 * the European Central Bank data feed (XML). It loads the current exchange 028 * rates. The provider loads all data up to 1999 into its 029 * historic data cache. 030 * 031 * @author Anatole Tresch 032 * @author Werner Keil 033 * @author otaviojava 034 */ 035public class ECBCurrentRateProvider extends AbstractECBCurrentRateProvider { 036 037 /** 038 * The data id used for the LoaderService. 039 */ 040 private static final String DATA_ID = ECBCurrentRateProvider.class.getSimpleName(); 041 /** 042 * The {@link ConversionContext} of this provider. 043 */ 044 private static final ProviderContext CONTEXT = 045 ProviderContextBuilder.of("ECB", RateType.DEFERRED).set("providerDescription", "European Central Bank") 046 .set("days", 1).build(); 047 048 public ECBCurrentRateProvider() throws MalformedURLException { 049 super(CONTEXT); 050 } 051 052 @Override 053 public String getDataId() { 054 return DATA_ID; 055 } 056 057}