// © 2017 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html#License
package com.ibm.icu.number;

/**
 * A class that defines the simple notation style to be used when formatting numbers in NumberFormatter.
 *
 * <p>
 * This class exposes no public functionality. To create a SimpleNotation, use one of the factory methods
 * in {@link Notation}.
 *
 * @draft ICU 60
 * @provisional This API might change or be removed in a future release.
 * @see NumberFormatter
 */
public class SimpleNotation extends Notation {
    /* package-private */ SimpleNotation() {
    }
}