@AutoValue
public abstract class VideoBlock implements Block {
@SerializedName("source")
public abstract String source();
@SerializedName("thumbnail")
public abstract String thumbnail();
@SerializedName("title")
public abstract String title();
@SerializedName("duration")
public abstract int duration();
}
@AutoValue
public abstract class ImageBlock implements Block {
@SerializedName("source")
public abstract String source();
@Nullable
@SerializedName("author")
public abstract String author();
@Nullable
@SerializedName("description")
public abstract String description();
}
public interface Block {
}
@AutoValue
public abstract class TextBlock implements Block {
@SerializedName("text")
public abstract String text();
}