nl.vpro.domain.api.media.MediaRepository Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of api-domain Show documentation
Show all versions of api-domain Show documentation
Contains the objects used by the Frontend API, like forms and result objects
The newest version!
/*
* Copyright (C) 2013 Licensed under the Apache License, Version 2.0
* VPRO The Netherlands
*/
package nl.vpro.domain.api.media;
import java.time.Instant;
import org.checkerframework.checker.nullness.qual.Nullable;
import org.meeuw.functional.ReasonedPredicate;
import nl.vpro.domain.api.*;
import nl.vpro.domain.api.profile.ProfileDefinition;
import nl.vpro.domain.api.profile.exception.ProfileNotFoundException;
import nl.vpro.domain.media.MediaLoader;
import nl.vpro.domain.media.MediaObject;
import nl.vpro.util.CloseableIterator;
import nl.vpro.util.FilteringIterator;
/**
* @author Roelof Jan Koekoek
* @since 2.0
*/
public interface MediaRepository extends MediaLoader, Redirector {
MediaResult list(Order order, long offset, Integer max);
MediaResult listMembers(MediaObject media, ProfileDefinition profile, Order order, long offset, Integer max) throws ProfileNotFoundException;
MediaResult listDescendants(MediaObject media, ProfileDefinition profile, Order order, long offset, Integer max) throws ProfileNotFoundException;
ProgramResult listEpisodes(MediaObject media, ProfileDefinition profile, Order order, long offset, Integer max) throws ProfileNotFoundException;
@Deprecated
CloseableIterator changes(Long since, ProfileDefinition current, ProfileDefinition previous, Order order, Integer max, Long keepAlive);
CloseableIterator changes(
@Nullable final Instant since,
@Nullable final String mid,
@Nullable final ProfileDefinition currentProfile,
@Nullable final Order order,
@Nullable final Integer max,
@Nullable Deletes deletes,
@Nullable final Tail tail,
@Nullable final ReasonedPredicate filter
);
CloseableIterator iterate(ProfileDefinition profile, MediaForm form, long offset, Integer max, FilteringIterator.KeepAlive keepAlive);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy