Skip to content

Instantly share code, notes, and snippets.

@westonal
Last active May 15, 2017 16:16
Show Gist options
  • Select an option

  • Save westonal/ae359923ab6eea85d08ae4f84e69c016 to your computer and use it in GitHub Desktop.

Select an option

Save westonal/ae359923ab6eea85d08ae4f84e69c016 to your computer and use it in GitHub Desktop.
data class ClipAPI(var id: String?,
var type: String?,
var url: String?,
var mgid: String?,
var title: String?,
var format: String?,
var description: String?,
var duration: DurationAPI?,
var images: List<ImageAPI>?,
var season: SeasonAPI?,
var episode: EpisodeAPI?,
var originalPublishDate: PublishDate?) {
private constructor(builder: Builder) : this(builder.id,
builder.type,
builder.url,
builder.mgid,
builder.title,
builder.format,
builder.description,
builder.duration,
builder.images,
builder.season,
builder.episode,
builder.originalPublishDate)
class Builder(val id: String) {
var type: String? = null
var url: String? = null
var mgid: String? = null
var title: String? = null
var format: String? = null
var description: String? = null
var duration: DurationAPI? = null
var images: List<ImageAPI>? = null
var season: SeasonAPI? = null
var episode: EpisodeAPI? = null
var originalPublishDate: PublishDate? = null
fun build() = ClipAPI(this)
}
}
class UsageExample {
fun example() {
ClipAPI.Builder(id = "ABC") //required
.apply {
url = "http://blar.com" //optionals
description = "example"
}.build()
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment