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; 014import javax.money.spi.MonetaryAmountFactoryProviderSpi.QueryInclusionPolicy; 015 016import org.javamoney.moneta.RoundedMoney; 017 018/** 019 * Implementation of {@link MonetaryAmountFactoryProviderSpi} creating instances of 020 * {@link RoundedMoneyAmountFactory}. 021 * 022 * @author Anatole Tresch 023 */ 024public final class RoundedMoneyAmountFactoryProvider implements 025 MonetaryAmountFactoryProviderSpi<RoundedMoney> { 026 027 @Override 028 public Class<RoundedMoney> getAmountType() { 029 return RoundedMoney.class; 030 } 031 032 @Override 033 public MonetaryAmountFactory<RoundedMoney> createMonetaryAmountFactory() { 034 return new RoundedMoneyAmountFactory(); 035 } 036 037 /* 038 * (non-Javadoc) 039 * @see javax.money.spi.MonetaryAmountFactoryProviderSpi#getQueryInclusionPolicy() 040 */ 041 @Override 042 public QueryInclusionPolicy getQueryInclusionPolicy() { 043 return QueryInclusionPolicy.DIRECT_REFERENCE_ONLY; 044 } 045 046 @Override 047 public MonetaryContext getDefaultMonetaryContext() { 048 return RoundedMoneyAmountFactory.DEFAULT_CONTEXT; 049 } 050 051 @Override 052 public MonetaryContext getMaximalMonetaryContext() { 053 return RoundedMoneyAmountFactory.MAX_CONTEXT; 054 } 055 056}