package com.juick.server.api.activity.model; import com.fasterxml.jackson.annotation.JsonProperty; import java.time.Instant; import java.util.Arrays; import java.util.Collections; import java.util.List; public abstract class ActivityObject { private List context; private String id; private Instant published; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getType() { return getClass().getSimpleName(); } @JsonProperty("@context") public List getContext() { return context; } public final static String ACTIVITY_STREAMS_URI = "https://www.w3.org/ns/activitystreams"; public final static String SECURITY_URI = "https://w3id.org/security/v1"; public final static String LD_JSON_MEDIA_TYPE = "application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\""; public final static String ACTIVITY_JSON_MEDIA_TYPE = "application/activity+json; profile=\"https://www.w3.org/ns/activitystreams\""; public Instant getPublished() { return published; } public void setPublished(Instant published) { this.published = published; } public static ActivityObject build(ActivityObject response) { response.context = Arrays.asList(ACTIVITY_STREAMS_URI, SECURITY_URI); return response; } }