com.brightcove.player.edge

## Class Catalog.AbstractBuilder<T extends Catalog.AbstractBuilder<T>>

- java.lang.Object
- - com.brightcove.player.edge.Catalog.AbstractBuilder<T>

- Direct Known Subclasses:
    AbstractOfflineCatalog.Builder, Catalog.Builder
  Enclosing class:
    Catalog

      protected abstract static class Catalog.AbstractBuilder<T extends Catalog.AbstractBuilder<T>>
      extends java.lang.Object

  An abstract Builder which sets the bases to create the Catalog object.

- - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `AbstractBuilder(EventEmitter eventEmitter, java.lang.String account)`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Catalog` | `build()` Builds the Catalog object.
    `protected abstract T` | `self()` Returns the instance of itself.
    `T` | `setBaseURL(java.lang.String baseURL)` Sets the base url used to make Catalog request to retrieve the Videos and Playlists.
    `T` | `setPolicy(java.lang.String policy)` Sets the Poly Key associated with the Account
    `T` | `setProperties(java.util.Map<java.lang.String,java.lang.String> properties)` Sets the properties Map.

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

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

- - ### Constructor Detail

    - #### AbstractBuilder

          protected AbstractBuilder(@NonNull
                                    EventEmitter eventEmitter,
                                    @NonNull
                                    java.lang.String account)

  - ### Method Detail

    - #### self

          protected abstract T self()

      Returns the instance of itself. This is a part of the pattern to set the Builder ready for inheritance.

    - #### setPolicy

          public T setPolicy(@NonNull
                             java.lang.String policy)

      Sets the Poly Key associated with the Account
      Parameters:
        `policy` - the policy key
      Returns:
        this builder

    - #### setBaseURL

          public T setBaseURL(@NonNull
                              java.lang.String baseURL)

      Sets the base url used to make Catalog request to retrieve the Videos and Playlists.
      Parameters:
        `baseURL` - the base url
      Returns:
        this builder

    - #### setProperties

          public T setProperties(@NonNull
                                 java.util.Map<java.lang.String,java.lang.String> properties)

      Sets the properties Map.

    - #### build

          public Catalog build()

      Builds the Catalog object.