All Downloads are FREE. Search and download functionalities are using the official Maven repository.

nl.vpro.berlijn.domain.availability.Availability Maven / Gradle / Ivy

package nl.vpro.berlijn.domain.availability;


import java.time.Instant;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;

import nl.vpro.berlijn.domain.AssertValidatable;
import nl.vpro.domain.media.MediaIdentifiable;
import nl.vpro.domain.media.MediaType;

@JsonIgnoreProperties({
    "type", //
    "metadata",// just contains things we're not interested in


    // come in via MediaIdentifiable
    "mid", "mediaType", "crids", "id"

})
@JsonSerialize
public record Availability(
    String version, // assert 1.0?
    Instant timestamp,
    AvailabilityContents contents
    ) implements MediaIdentifiable, AssertValidatable {

    @Override
    public void assertValid() {
        contents.assertValid();
    }

    @Override
    public String getMid() {
        return contents.prid();
    }

    @Override
    public MediaType getMediaType() {
        return null;
    }

    @Override
    public String toString() {
        return contents.prid() + " " + version + " " + timestamp;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy