Package com.google.android.exoplayer2.source.dash.manifest

## Class UrlTemplate

- java.lang.Object
- - com.google.android.exoplayer2.source.dash.manifest.UrlTemplate

-     public final class UrlTemplate
      extends Object

  A template from which URLs can be built.

  URLs are built according to the substitution rules defined in ISO/IEC 23009-1:2014 5.3.9.4.4.

- - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `String` | `buildUri​(String representationId, long segmentNumber, int bandwidth, long time)` | Constructs a Uri from the template, substituting in the provided arguments.
    `static UrlTemplate` | `compile​(String template)` | Compile an instance from the provided template string.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### compile

          public static UrlTemplate compile​(String template)

      Compile an instance from the provided template string.
      Parameters:
        `template` - The template.
      Returns:
        The compiled instance.
      Throws:
        `IllegalArgumentException` - If the template string is malformed.

    - #### buildUri

          public String buildUri​(String representationId,
                                 long segmentNumber,
                                 int bandwidth,
                                 long time)

      Constructs a Uri from the template, substituting in the provided arguments.

      Arguments whose corresponding identifiers are not present in the template will be ignored.

      Parameters:
        `representationId` - The representation identifier.
        `segmentNumber` - The segment number.
        `bandwidth` - The bandwidth.
        `time` - The time as specified by the segment timeline.
      Returns:
        The built Uri.