package org.springframework.social.instagram.api.impl;
import java.util.Date;
import java.util.List;
import java.util.Map;
import org.codehaus.jackson.annotate.JsonCreator;
import org.codehaus.jackson.annotate.JsonIgnoreProperties;
import org.codehaus.jackson.annotate.JsonProperty;
import org.codehaus.jackson.map.annotate.JsonDeserialize;
import org.springframework.social.instagram.api.Caption;
import org.springframework.social.instagram.api.CommentsInfo;
import org.springframework.social.instagram.api.Image;
import org.springframework.social.instagram.api.InstagramProfile;
import org.springframework.social.instagram.api.LikesInfo;
import org.springframework.social.instagram.api.Location;
@JsonIgnoreProperties(ignoreUnknown=true)
abstract class MediaMixin {
@JsonCreator
public MediaMixin(
@JsonProperty("id") long id,
@JsonProperty("filter") String filter,
@JsonProperty("link") String link,
@JsonProperty("caption") Caption caption,
@JsonProperty("user") InstagramProfile user,
@JsonProperty("location") Location location,
@JsonProperty("created_time") @JsonDeserialize(using=InstagramDateDeserializer.class) Date createdTime,
@JsonProperty("user_has_liked") boolean userHasLiked,
@JsonProperty("images") Map<String,Image> images,
@JsonProperty("tags") List<String> tags,
@JsonProperty("likes") LikesInfo likes,
@JsonProperty("comments") CommentsInfo comments) {}
}