Package nl.vpro.domain.media.update
Class AssemblageConfig.Builder
- java.lang.Object
-
- nl.vpro.domain.media.update.AssemblageConfig.Builder
-
- Enclosing class:
- AssemblageConfig
public static class AssemblageConfig.Builder extends Object
-
-
Method Summary
-
-
-
Method Detail
-
deleteSegmentsForOwner
public AssemblageConfig.Builder deleteSegmentsForOwner()
Since POMS 5.9 a segment can have an owner. This says that segments that have the configured owner, but are not present in the incoming program are to be deleted from the program to update.
-
memberOfUpdateBoolean
public AssemblageConfig.Builder memberOfUpdateBoolean(boolean b)
-
memberRefMatchOwner
public AssemblageConfig.Builder memberRefMatchOwner()
-
ownerless
public AssemblageConfig.Builder ownerless()
-
stealAllCrids
public AssemblageConfig.Builder stealAllCrids(AssemblageConfig.Steal steal)
-
deleteBroadcastIfNoScheduleEventsLeft
public AssemblageConfig.Builder deleteBroadcastIfNoScheduleEventsLeft()
-
backwardsCompatible
public AssemblageConfig.Builder backwardsCompatible(IntegerVersion version)
Makes the default assemblage backwards compatible.
-
build
public AssemblageConfig build()
-
owner
public @NonNull AssemblageConfig.Builder owner(nl.vpro.domain.media.support.OwnerType owner)
- Returns:
this
.
-
similarOwnerType
public @NonNull AssemblageConfig.Builder similarOwnerType(nl.vpro.domain.media.support.OwnerType similarOwnerType)
-
similarOwnerTypes
public @NonNull AssemblageConfig.Builder similarOwnerTypes(@NonNull Collection<? extends nl.vpro.domain.media.support.OwnerType> similarOwnerTypes)
-
clearSimilarOwnerTypes
public @NonNull AssemblageConfig.Builder clearSimilarOwnerTypes()
-
copyWorkflow
public @NonNull AssemblageConfig.Builder copyWorkflow(boolean copyWorkflow)
- Returns:
this
.
-
copyLanguageAndCountry
public @NonNull AssemblageConfig.Builder copyLanguageAndCountry(Boolean copyLanguageAndCountry)
- Returns:
this
.
-
imageMetaData
public @NonNull AssemblageConfig.Builder imageMetaData(boolean imageMetaData)
- Returns:
this
.
-
copyPredictions
public @NonNull AssemblageConfig.Builder copyPredictions(Boolean copyPredictions)
- Returns:
this
.
-
episodeOfUpdate
public @NonNull AssemblageConfig.Builder episodeOfUpdate(boolean episodeOfUpdate)
- Returns:
this
.
-
guessEpisodePosition
public @NonNull AssemblageConfig.Builder guessEpisodePosition(boolean guessEpisodePosition)
- Returns:
this
.
-
memberOfUpdate
public @NonNull AssemblageConfig.Builder memberOfUpdate(BiPredicate<MemberRef,AssemblageConfig> memberOfUpdate)
- Returns:
this
.
-
ratingsUpdate
public @NonNull AssemblageConfig.Builder ratingsUpdate(boolean ratingsUpdate)
- Returns:
this
.
-
copyTwitterRefs
public @NonNull AssemblageConfig.Builder copyTwitterRefs(Boolean copyTwitterRefs)
- Returns:
this
.
-
copyIntentions
public @NonNull AssemblageConfig.Builder copyIntentions(boolean copyIntentions)
- Returns:
this
.
-
copyTargetGroups
public @NonNull AssemblageConfig.Builder copyTargetGroups(boolean copyTargetGroups)
- Returns:
this
.
-
copyGeoLocations
public @NonNull AssemblageConfig.Builder copyGeoLocations(boolean copyGeoLocations)
- Returns:
this
.
-
copyTopics
public @NonNull AssemblageConfig.Builder copyTopics(boolean copyTopics)
- Returns:
this
.
-
relations
public @NonNull AssemblageConfig.Builder relations(BiPredicate<List<String>,Relation> relations)
- Returns:
this
.
-
createScheduleEvents
public @NonNull AssemblageConfig.Builder createScheduleEvents(boolean createScheduleEvents)
- Returns:
this
.
-
deleteIfNoScheduleEventsLeft
public @NonNull AssemblageConfig.Builder deleteIfNoScheduleEventsLeft(Predicate<Program> deleteIfNoScheduleEventsLeft)
- Returns:
this
.
-
mergeScheduleEvents
public @NonNull AssemblageConfig.Builder mergeScheduleEvents(Duration mergeScheduleEvents)
This is mainly targeted at PREPR which does not support programs spanning 0 o'clock. If this is set to >= 0, then schedule merging will merge adjacent schedule events if they are of the same MID The size of the duration defines the maximal gap between the events. (For PREPR there is never anything broadcast in the second before midnight)- Returns:
this
.
-
inferDurationFromScheduleEvents
public @NonNull AssemblageConfig.Builder inferDurationFromScheduleEvents(BiPredicate<MediaObject,AssemblageConfig> inferDurationFromScheduleEvents)
- Returns:
this
.
-
locationsUpdate
public @NonNull AssemblageConfig.Builder locationsUpdate(boolean locationsUpdate)
- Returns:
this
.
-
stealMids
public @NonNull AssemblageConfig.Builder stealMids(AssemblageConfig.Steal stealMids)
- Returns:
this
.
-
stealCrids
public @NonNull AssemblageConfig.Builder stealCrids(org.meeuw.functional.TriPredicate<MediaObject,MediaObject,String> stealCrids)
Matching happens on crid. There is a possibility though that the found object is of the wrong type (e.g. a Program and not a Segment) If stealCrids is true, then in that situation the existing object is left, but the matching crid is removed.- Returns:
this
.
-
stealSegments
public @NonNull AssemblageConfig.Builder stealSegments(AssemblageConfig.Steal stealSegments)
If an incoming segment matches a segment of _different_ program, then disconnect it from that other program Otherwise consider this situation errorneous.- Returns:
this
.
-
segmentsForDeletion
public @NonNull AssemblageConfig.Builder segmentsForDeletion(BiPredicate<Segment,AssemblageConfig> segmentsForDeletion)
On default, if you merge a program, existing segments will not be removed This can be configured using this. See alsdeleteSegmentsForOwner()
- Returns:
this
.
-
cridsForDelete
public @NonNull AssemblageConfig.Builder cridsForDelete(Predicate<String> cridsForDelete)
- Returns:
this
.
-
updateType
public @NonNull AssemblageConfig.Builder updateType(AssemblageConfig.Steal updateType)
- Returns:
this
.
-
followMerges
public @NonNull AssemblageConfig.Builder followMerges(boolean followMerges)
TODO- Returns:
this
.- Since:
- 5.13
-
requireIncomingMid
public @NonNull AssemblageConfig.Builder requireIncomingMid(AssemblageConfig.MidRequire requireIncomingMid)
- Returns:
this
.- Since:
- 5.13
-
markForDeleteOnly
public @NonNull AssemblageConfig.Builder markForDeleteOnly(BiPredicate<MediaObject,PublishableObject<?>> markForDeleteOnly)
- Returns:
this
.
-
deleteBroadcasters
public @NonNull AssemblageConfig.Builder deleteBroadcasters(Predicate<MediaObject> deleteBroadcasters)
- Returns:
this
.
-
logger
public @NonNull AssemblageConfig.Builder logger(nl.vpro.logging.simple.SimpleLogger logger)
- Returns:
this
.
-
_build
public @NonNull AssemblageConfig _build()
-
-