Package nl.vpro.domain.media
Class Schedule
- java.lang.Object
-
- nl.vpro.domain.media.Schedule
-
- All Implemented Interfaces:
Serializable
,Iterable<ScheduleEvent>
,Predicate<ScheduleEvent>
public class Schedule extends Object implements Serializable, Iterable<ScheduleEvent>, Predicate<ScheduleEvent>
Representation of a timeasRange()
containing a collections ofScheduleEvent
s, for a certainChannel
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Schedule.Builder
-
Field Summary
Fields Modifier and Type Field Description protected Channel
channel
protected boolean
filtered
protected Net
net
protected Integer
releaseVersion
protected Boolean
reruns
protected SortedSet<ScheduleEvent>
scheduleEvents
protected Instant
start
static LocalTime
START_OF_SCHEDULE
protected Instant
stop
static ZoneId
ZONE_ID
The time zone most relevant for NPO, i.e.
-
Constructor Summary
Constructors Constructor Description Schedule()
Schedule(Instant start, Instant stop)
Schedule(Date start, Date stop)
Deprecated.Schedule(Channel channel, Instant start)
Schedule(Channel channel, Instant start, Instant stop)
Schedule(Channel channel, Instant start, Instant stop, Collection<ScheduleEvent> scheduleEvents)
Schedule(Channel channel, Instant start, Collection<ScheduleEvent> scheduleEvents)
Schedule(Channel channel, LocalDate date)
Schedule(Channel channel, LocalDate start, Collection<ScheduleEvent> scheduleEvents)
Schedule(Channel channel, Date start)
Deprecated.Schedule(Channel channel, Date start, Collection<ScheduleEvent> scheduleEvents)
Deprecated.Schedule(Channel channel, Date start, Date stop)
Deprecated.Schedule(Channel channel, Date start, Date stop, Collection<ScheduleEvent> scheduleEvents)
Deprecated.Schedule(Net net, Instant start, Instant stop)
Schedule(Net net, Instant start, Instant stop, Collection<ScheduleEvent> scheduleEvents)
Schedule(Net net, Date start)
Deprecated.Schedule(Net net, Date start, Collection<ScheduleEvent> scheduleEvents)
Deprecated.Schedule(Net net, Date start, Date stop)
Deprecated.Schedule(Net net, Date start, Date stop, Collection<ScheduleEvent> scheduleEvents)
Deprecated.
-
Method Summary
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Field Detail
-
ZONE_ID
public static final ZoneId ZONE_ID
The time zone most relevant for NPO, i.e. the timezone in the Netherlands.
-
START_OF_SCHEDULE
public static final LocalTime START_OF_SCHEDULE
-
scheduleEvents
protected SortedSet<ScheduleEvent> scheduleEvents
-
channel
protected Channel channel
-
net
protected Net net
-
start
protected Instant start
-
stop
protected Instant stop
-
releaseVersion
protected Integer releaseVersion
-
filtered
protected boolean filtered
-
reruns
protected Boolean reruns
-
-
Constructor Detail
-
Schedule
public Schedule()
-
Schedule
@Deprecated public Schedule(Date start, Date stop)
Deprecated.
-
Schedule
@Deprecated public Schedule(Channel channel, Date start)
Deprecated.
-
Schedule
@Deprecated public Schedule(Net net, Date start)
Deprecated.
-
Schedule
public Schedule(Channel channel, LocalDate start, Collection<ScheduleEvent> scheduleEvents)
-
Schedule
@Deprecated public Schedule(Channel channel, Date start, Collection<ScheduleEvent> scheduleEvents)
Deprecated.
-
Schedule
public Schedule(Channel channel, Instant start, Collection<ScheduleEvent> scheduleEvents)
-
Schedule
@Deprecated public Schedule(Net net, Date start, Collection<ScheduleEvent> scheduleEvents)
Deprecated.
-
Schedule
@Deprecated public Schedule(Channel channel, Date start, Date stop)
Deprecated.
-
Schedule
@Deprecated public Schedule(Net net, Date start, Date stop)
Deprecated.
-
Schedule
@Deprecated public Schedule(Channel channel, Date start, Date stop, Collection<ScheduleEvent> scheduleEvents)
Deprecated.
-
Schedule
public Schedule(Channel channel, Instant start, Instant stop, Collection<ScheduleEvent> scheduleEvents)
-
Schedule
@Deprecated public Schedule(Net net, Date start, Date stop, Collection<ScheduleEvent> scheduleEvents)
Deprecated.
-
Schedule
public Schedule(Net net, Instant start, Instant stop, Collection<ScheduleEvent> scheduleEvents)
-
-
Method Detail
-
guideDay
public static LocalDate guideDay(LocalDateTime datetime)
- Since:
- 5.11
-
localTimeBelongsToPreviousDay
public static boolean localTimeBelongsToPreviousDay(@NonNull LocalTime localTime)
- Since:
- 5.11
-
guideDay
public static LocalDate guideDay()
-
toInstant
public static Instant toInstant(LocalDateTime time)
-
of
public static Instant of(Instant instant, LocalDateTime localDateTime, LocalDate localDate)
-
getScheduleEvents
public SortedSet<ScheduleEvent> getScheduleEvents()
-
addScheduleEvent
public void addScheduleEvent(ScheduleEvent scheduleEvent)
-
removeScheduleEvent
public boolean removeScheduleEvent(ScheduleEvent scheduleEvent)
-
findScheduleEvent
public Optional<ScheduleEvent> findScheduleEvent(ScheduleEvent event)
Finds in the current schedule the excact event (by database id)
-
addScheduleEventsFromMedia
public void addScheduleEventsFromMedia(Collection<? extends Program> mediaObjects)
-
addScheduleEventsFromMedia
public void addScheduleEventsFromMedia(Program... mediaObjects)
-
addScheduleEventsFromMedia
public void addScheduleEventsFromMedia(Program mediaObject)
-
getChannel
public Channel getChannel()
-
setChannel
public void setChannel(Channel value)
-
getNet
public Net getNet()
-
setNet
public void setNet(Net net)
-
getReleaseVersion
public Integer getReleaseVersion()
-
getStart
public Instant getStart()
-
setStart
public void setStart(Instant start)
-
setGuideDate
public void setGuideDate(LocalDate start)
-
getGuideDate
public LocalDate getGuideDate()
-
setStart
public void setStart(LocalDateTime start)
-
getStop
public Instant getStop()
-
setStop
public void setStop(Instant stop)
-
setStop
public void setStop(LocalDateTime stop)
-
isFiltered
public boolean isFiltered()
-
setFiltered
public void setFiltered(boolean filtered)
-
test
public boolean test(ScheduleEvent event)
- Specified by:
test
in interfacePredicate<ScheduleEvent>
-
iterator
public @NonNull Iterator<ScheduleEvent> iterator()
- Specified by:
iterator
in interfaceIterable<ScheduleEvent>
-
asLocalRange
public com.google.common.collect.Range<LocalDateTime> asLocalRange()
Returns the with this Schedule associatedgetStart()
andgetStop()
instances as aRange
ofZonedDateTime
's. I.e. an interval that is closed at the start, and open at the end. For now everything is associated with the time zoneZONE_ID
(i.e. CEST), since we haven't accounted an use case for something else yet, but otherwise we may imaging also the time zone to be a member of this schedule object.
-
asRange
public com.google.common.collect.Range<Instant> asRange()
-
builder
public static @NonNull Schedule.Builder builder()
-
getReruns
public Boolean getReruns()
-
setReruns
public void setReruns(Boolean reruns)
-
-