001/* 002 * CREDIT SUISSE IS WILLING TO LICENSE THIS SPECIFICATION TO YOU ONLY UPON THE CONDITION THAT YOU 003 * ACCEPT ALL OF THE TERMS CONTAINED IN THIS AGREEMENT. PLEASE READ THE TERMS AND CONDITIONS OF THIS 004 * AGREEMENT CAREFULLY. BY DOWNLOADING THIS SPECIFICATION, YOU ACCEPT THE TERMS AND CONDITIONS OF 005 * THE AGREEMENT. IF YOU ARE NOT WILLING TO BE BOUND BY IT, SELECT THE "DECLINE" BUTTON AT THE 006 * BOTTOM OF THIS PAGE. Specification: JSR-354 Money and Currency API ("Specification") Copyright 007 * (c) 2012-2013, Credit Suisse All rights reserved. 008 */ 009package org.javamoney.moneta.internal; 010 011import javax.money.MonetaryAmountFactory; 012import javax.money.MonetaryContext; 013import javax.money.spi.MonetaryAmountFactoryProviderSpi; 014 015import org.javamoney.moneta.FastMoney; 016 017/** 018 * Implementation of {@link MonetaryAmountFactoryProviderSpi} creating instances of 019 * {@link FastMoneyAmountFactory}. 020 * 021 * @author Anatole Tresch 022 */ 023public final class FastMoneyAmountFactoryProvider implements 024 MonetaryAmountFactoryProviderSpi<FastMoney> { 025 026 @Override 027 public Class<FastMoney> getAmountType() { 028 return FastMoney.class; 029 } 030 031 @Override 032 public MonetaryAmountFactory<FastMoney> createMonetaryAmountFactory() { 033 // TODO ensure context! 034 return new FastMoneyAmountFactory(); 035 } 036 037 /* 038 * (non-Javadoc) 039 * @see javax.money.spi.MonetaryAmountFactoryProviderSpi#getQueryInclusionPolicy() 040 */ 041 @Override 042 public QueryInclusionPolicy getQueryInclusionPolicy() { 043 return QueryInclusionPolicy.ALWAYS; 044 } 045 046 @Override 047 public MonetaryContext getDefaultMonetaryContext() { 048 return FastMoneyAmountFactory.DEFAULT_CONTEXT; 049 } 050 051 @Override 052 public MonetaryContext getMaximalMonetaryContext() { 053 return FastMoneyAmountFactory.MAX_CONTEXT; 054 } 055 056}