/*
 * Copyright (c) 2012, 2013, Werner Keil, Credit Suisse (Anatole Tresch). Licensed under the Apache
 * License, Version 2.0 (the "License"); you may not use this file except in compliance with the
 * License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
 * Unless required by applicable law or agreed to in writing, software distributed under the License
 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied. See the License for the specific language governing permissions and limitations under
 * the License. Contributors: Anatole Tresch - initial version.
 */
package org.javamoney.adopjsr;

import javax.money.MonetaryAmount;
import javax.money.MonetaryRoundings;
import java.util.Collection;

/**
 * Access roundings based on currency, as well as using customized rounding.
 *
 * @see MonetaryRoundings
 * Created by Anatole on 08.03.14.
 */
public class Rounding{

    /**
     * Round Amounts with the default rounding.
     *
     * @return the rounded amount
     * @see javax.money.MonetaryRoundings
     */
    public MonetaryAmount roundWithDefaultRounding(MonetaryAmount amount){
        // TODO implement this
        return null;
    }


    /**
     * Round Amounts with a cash rounding.<p/>
     * <b>Hint: </b>Set the 'cashRounding' property to {@code true},
     * when accessing the rounding.
     *
     * @return the rounded amount
     * @see javax.money.MonetaryRoundings
     * @see javax.money.RoundingContext
     */
    public MonetaryAmount roundForCash(MonetaryAmount amount){
        // TODO implement this
        return null;
    }

    /**
     * Round Amounts with a mathematical rounding:
     * <ul>
     * <li>Use {@link java.math.RoundingMode#HALF_UP}</li>
     * <li>Use a scale of 3</li>
     * </ul><p/>
     * <b>Hint: </b>Pass the according MathContext as a parameter.
     *
     * @return the rounded amount
     * @see javax.money.MonetaryContext
     */
    public MonetaryAmount roundMathematical(MonetaryAmount amount){
        // TODO implement this
        return null;
    }

    /**
     * Evaluate which roundings are currently available in the system.
     * @return the array of rounding ids currently known.
     */
    public Collection<String> getKnownRoundings(){
        // TODO implement this
        return null;
    }

    /**
     * Register your own custom rounding. The test will check, if your rounding is available and perform a test
     * rounding.
     *
     * @return the rounding name of your custom rounding.
     */
    public String getCustomRoundingName(){
        // TODO implement this
        return null;
    }
}

/*
 * Copyright (c) 2012, 2013, Werner Keil, Credit Suisse (Anatole Tresch). Licensed under the Apache
 * License, Version 2.0 (the "License"); you may not use this file except in compliance with the
 * License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
 * Unless required by applicable law or agreed to in writing, software distributed under the License
 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied. See the License for the specific language governing permissions and limitations under
 * the License. Contributors: Anatole Tresch - initial version.
 */
package org.javamoney.adopjsr;

import javax.money.MonetaryAmount;
import javax.money.Monetary;
import java.util.Collection;

/**
 * Access roundings based on currency, as well as using customized rounding.
 *
 * @see javax.money.Monetary
 * Created by Anatole on 08.03.14.
 */
public class Rounding{

    /**
     * Round Amounts with the default rounding.
     *
     * @return the rounded amount
     * @see javax.money.Monetary
     */
    public MonetaryAmount roundWithDefaultRounding(MonetaryAmount amount){
        // TODO implement this
        return null;
    }


    /**
     * Round Amounts with a cash rounding.<p/>
     * <b>Hint: </b>Set the 'cashRounding' property to {@code true},
     * when accessing the rounding.
     *
     * @return the rounded amount
     * @see javax.money.Monetary
     * @see javax.money.RoundingContext
     */
    public MonetaryAmount roundForCash(MonetaryAmount amount){
        // TODO implement this
        return null;
    }

    /**
     * Round Amounts with a mathematical rounding:
     * <ul>
     * <li>Use {@link java.math.RoundingMode#HALF_UP}</li>
     * <li>Use a scale of 3</li>
     * </ul><p/>
     * <b>Hint: </b>Pass the according MathContext as a parameter.
     *
     * @return the rounded amount
     * @see javax.money.MonetaryContext
     */
    public MonetaryAmount roundMathematical(MonetaryAmount amount){
        // TODO implement this
        return null;
    }

    /**
     * Evaluate which roundings are currently available in the system.
     * @return the array of rounding ids currently known.
     */
    public Collection<String> getKnownRoundings(){
        // TODO implement this
        return null;
    }

    /**
     * Register your own custom rounding. The test will check, if your rounding is available and perform a test
     * rounding.
     *
     * @return the rounding name of your custom rounding.
     */
    public String getCustomRoundingName(){
        // TODO implement this
        return null;
    }
}

Fix Rounding.java after new API release change