Interface PriceIndex

  • All Superinterfaces:
    FloatingRateIndex, Index, Named
    All Known Implementing Classes:
    ImmutablePriceIndex

    public interface PriceIndex
    extends FloatingRateIndex, Named
    An index of prices.

    A price index is a normalized average of the prices of goods and/or services. Well-known price indices are published by Governments, such as the Consumer Price Index. The annualized percentage change in the index is a measure of inflation.

    This interface represents a price index for a specific region. The index is typically published monthly in arrears, however some regions choose quarterly publication.

    The most common implementations are provided in PriceIndices.

    All implementations of this interface must be immutable and thread-safe.

    • Method Detail

      • of

        static PriceIndex of​(java.lang.String uniqueName)
        Obtains an instance from the specified unique name.
        Parameters:
        uniqueName - the unique name
        Returns:
        the index
        Throws:
        java.lang.IllegalArgumentException - if the name is not known
      • extendedEnum

        static ExtendedEnum<PriceIndex> extendedEnum()
        Gets the extended enum helper.

        This helper allows instances of the index to be looked up. It also provides the complete set of available instances.

        Returns:
        the extended enum helper
      • getRegion

        Country getRegion()
        Gets the region that the index is defined for.
        Returns:
        the region of the index
      • getDayCount

        default DayCount getDayCount()
        Gets the day count convention of the index, which is '1/1'.
        Specified by:
        getDayCount in interface FloatingRateIndex
        Returns:
        the day count convention
      • getPublicationFrequency

        Frequency getPublicationFrequency()
        Gets the frequency that the index is published.

        Most price indices are published monthly, but some are published quarterly.

        Returns:
        the frequency of publication of the index
      • getName

        java.lang.String getName()
        Gets the name that uniquely identifies this index.

        This name is used in serialization and can be parsed using of(String).

        Specified by:
        getName in interface Index
        Specified by:
        getName in interface Named
        Returns:
        the unique name