001/* 002 * ObjectLab, http://www.objectlab.co.uk/open is sponsoring the ObjectLab Kit. 003 * 004 * Based in London, we are world leaders in the design and development 005 * of bespoke applications for the securities financing markets. 006 * 007 * <a href="http://www.objectlab.co.uk/open">Click here to learn more</a> 008 * ___ _ _ _ _ _ 009 * / _ \| |__ (_) ___ ___| |_| | __ _| |__ 010 * | | | | '_ \| |/ _ \/ __| __| | / _` | '_ \ 011 * | |_| | |_) | | __/ (__| |_| |__| (_| | |_) | 012 * \___/|_.__// |\___|\___|\__|_____\__,_|_.__/ 013 * |__/ 014 * 015 * www.ObjectLab.co.uk 016 * 017 * Copyright 2006 the original author or authors. 018 * 019 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 020 * use this file except in compliance with the License. You may obtain a copy of 021 * the License at 022 * 023 * http://www.apache.org/licenses/LICENSE-2.0 024 * 025 * Unless required by applicable law or agreed to in writing, software 026 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 027 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 028 * License for the specific language governing permissions and limitations under 029 * the License. 030 */package net.objectlab.kit.datecalc.common.ccy; 031 032import java.util.Set; 033 034import net.objectlab.kit.datecalc.common.WorkingWeek; 035 036/** 037 * According to http://www.londonfx.co.uk/valdates.html, some currencies should 038 * take into account USD holidays for T+1 (whilst calculating the Spot Date). 039 * 040 * @author Benoit Xhenseval 041 * @since 1.4.0 042 */ 043public interface CurrencyCalculatorConfig { 044 /** 045 * @param crossCcy the cross currency used 046 * @return set of currency code subject to CrossCcy Holidays for T+1. (for USD, typically MXN/CLP/ARS). 047 */ 048 Set<String> getCurrenciesSubjectToCrossCcyForT1(String crossCcy); 049 050 /** 051 * Return a default Mon-Fri for most, but some might be Sun-Thu (Arabic countries). 052 * @param currency 053 * @return the WorkingWeek registered for this currency other the default Mon-Fri. 054 */ 055 WorkingWeek getWorkingWeek(String currency); 056}