# Interface RepresentativeFraction

All Known Implementing Classes:
  `DefaultRepresentativeFraction`

@UML(identifier="MD_RepresentativeFraction", specification=ISO_19115) public interface RepresentativeFraction
A scale defined as the inverse of a denominator. This is derived from ISO 19103 `Scale` where denominator = 1 / scale.

Implementations are encouraged to extend `Number` in a manner equivalent to:

>      class MyRepresentedFraction extends Number implements RepresentedFraction {
>          ...
>          public double doubleValue() {
>              return 1.0 / (double) denominator;
>          }
>          public float floatValue() {
>              return 1.0f / (float) denominator;
>          }
>          public long longValue() {
>              return 1 / denominator; // Result is zero except for denominator=[0,1].
>          }
>          ...
>      }

Since:
  2.1

- ## Method Summary

  Modifier and Type
  Method
  Description
  `double`
  `doubleValue()`
  Returns the scale value in a form usable for computation.
  `boolean`
  `equals(Object other)`
  Compares this representative fraction with the specified object for equality.
  `long`
  `getDenominator()`
  The number below the line in a vulgar fraction.
  `int`
  `hashCode()`
  Returns a hash value for this representative fraction.

- ## Method Details

  - ### doubleValue

    double doubleValue()
    Returns the scale value in a form usable for computation.
    Returns:
      `1.0 / (double) getDenominator()`
    Since:
      2.2

  - ### getDenominator

    @UML(identifier="denominator", obligation=MANDATORY, specification=ISO_19115) long getDenominator()
    The number below the line in a vulgar fraction.
    Returns:
      The denominator.

  - ### equals

    boolean equals(Object other)
    Compares this representative fraction with the specified object for equality. `RepresentativeFraction` is a data object - `equals` is defined according to `getDenominator()`;

    Implementations should match the following:

    >     public boolean equals(Object object) {
    >         if (object instanceof RepresentativeFraction) {
    >             final RepresentativeFraction that = (RepresentativeFraction) object;
    >             return getDenominator() == that.getDenominator();
    >         }
    >         return false;
    >     }

    Overrides:
      `equals` in class `Object`
    Parameters:
      `other` - The object to compare with.
    Returns:
      `true` if `other` is a `RepresentedFraction` with the same denominator value.

  - ### hashCode

    int hashCode()
    Returns a hash value for this representative fraction. `RepresentativeFraction` is a data object - `hashcode` is defined according to `getDenominator()`.

    Implementations should match the following:

    >     public int hashCode() {
    >         return (int) getDenominator();
    >     }

    Overrides:
      `hashCode` in class `Object`
    Returns:
      A hash code value for this representative fraction.