package com.trywildcard.pair.model.media;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
/** Abstract Class Supporting all Media **/
@JsonTypeInfo(
use = JsonTypeInfo.Id.NAME,
include = JsonTypeInfo.As.PROPERTY,
property = "type")
@JsonSubTypes({
@JsonSubTypes.Type(value = Image.class, name = "image"),
@JsonSubTypes.Type(value = Video.class, name = "video")})
public abstract class Media {
private Media() {}
public Media(MediaType type) {this.type = type;}
protected MediaType type;
public abstract MediaType getType();
}