001/** 002 * Copyright (c) 2012, 2015, 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.function; 017 018import static java.util.Objects.requireNonNull; 019 020import javax.money.CurrencyUnit; 021import javax.money.MonetaryAmount; 022import javax.money.MonetaryOperator; 023 024import org.javamoney.moneta.RoundedMoney; 025 026/** 027 * The default implementation to {@link MonetaryRoundedFactory}, this implementation returns the {@link RoundedMoney}. 028 * @see {@link MonetaryRoundedFactory#create(Number, CurrencyUnit)} 029 * @author Otavio Santana 030 * @deprecated Do not use, access is only provided for backward compatibility and will be removed. 031 */ 032@Deprecated 033public class DefaultMonetaryRoundedFactory implements MonetaryRoundedFactory, org.javamoney.moneta.MonetaryRoundedFactory { 034 035 private final MonetaryOperator roundingOperator; 036 037 public DefaultMonetaryRoundedFactory(MonetaryOperator roundingOperator) { 038 this.roundingOperator = roundingOperator; 039 } 040 041 @Override 042 public MonetaryAmount create(Number number, CurrencyUnit currencyUnit) { 043 return RoundedMoney.of(requireNonNull(number), requireNonNull(currencyUnit), roundingOperator); 044 } 045 046 @Override 047 public MonetaryOperator getRoundingOperator() { 048 return roundingOperator; 049 } 050 051 @Override 052 public String toString() { 053 StringBuilder sb = new StringBuilder(); 054 sb.append(DefaultMonetaryRoundedFactory.class.getName()).append('{') 055 .append("roundingOperator: ").append(roundingOperator).append('}'); 056 return sb.toString(); 057 } 058 059}