Package nl.vpro.domain.media.update
Class AssemblageConfig.Builder
java.lang.Object
nl.vpro.domain.media.update.AssemblageConfig.Builder
- Enclosing class:
- AssemblageConfig
-
Method Summary
Modifier and TypeMethodDescription@NonNull AssemblageConfig
_build()
@NonNull AssemblageConfig.Builder
backwardsCompatible
(IntegerVersion version) Makes the default assemblage backwards compatible.build()
@NonNull AssemblageConfig.Builder
@NonNull AssemblageConfig.Builder
copyGeoLocations
(boolean copyGeoLocations) @NonNull AssemblageConfig.Builder
copyIntentions
(boolean copyIntentions) @NonNull AssemblageConfig.Builder
copyLanguageAndCountry
(Boolean copyLanguageAndCountry) @NonNull AssemblageConfig.Builder
copyPredictions
(Boolean copyPredictions) @NonNull AssemblageConfig.Builder
copyTargetGroups
(boolean copyTargetGroups) @NonNull AssemblageConfig.Builder
copyTopics
(boolean copyTopics) @NonNull AssemblageConfig.Builder
copyTwitterRefs
(Boolean copyTwitterRefs) @NonNull AssemblageConfig.Builder
copyWorkflow
(boolean copyWorkflow) @NonNull AssemblageConfig.Builder
createScheduleEvents
(boolean createScheduleEvents) @NonNull AssemblageConfig.Builder
cridsForDelete
(Predicate<String> cridsForDelete) @NonNull AssemblageConfig.Builder
deleteBroadcasters
(Predicate<MediaObject> deleteBroadcasters) @NonNull AssemblageConfig.Builder
deleteIfNoScheduleEventsLeft
(Predicate<Program> deleteIfNoScheduleEventsLeft) Since POMS 5.9 a segment can have an owner.@NonNull AssemblageConfig.Builder
episodeOfUpdate
(boolean episodeOfUpdate) @NonNull AssemblageConfig.Builder
followMerges
(boolean followMerges) TODO@NonNull AssemblageConfig.Builder
guessEpisodePosition
(boolean guessEpisodePosition) @NonNull AssemblageConfig.Builder
imageMetaData
(boolean imageMetaData) @NonNull AssemblageConfig.Builder
inferDurationFromScheduleEvents
(BiPredicate<MediaObject, AssemblageConfig> inferDurationFromScheduleEvents) @NonNull AssemblageConfig.Builder
locationsUpdate
(boolean locationsUpdate) @NonNull AssemblageConfig.Builder
logger
(nl.vpro.logging.simple.SimpleLogger logger) @NonNull AssemblageConfig.Builder
markForDeleteOnly
(BiPredicate<MediaObject, PublishableObject<?>> markForDeleteOnly) @NonNull AssemblageConfig.Builder
memberOfUpdate
(BiPredicate<MemberRef, AssemblageConfig> memberOfUpdate) memberOfUpdateBoolean
(boolean b) @NonNull AssemblageConfig.Builder
mergeScheduleEvents
(Duration mergeScheduleEvents) This is mainly targeted at PREPR which does not support programs spanning 0 o'clock.@NonNull AssemblageConfig.Builder
owner
(nl.vpro.domain.media.support.OwnerType owner) @NonNull AssemblageConfig.Builder
publishImmediately
(Function<MediaObject, Optional<String>> publishImmediately) @NonNull AssemblageConfig.Builder
ratingsUpdate
(boolean ratingsUpdate) @NonNull AssemblageConfig.Builder
relations
(BiPredicate<List<String>, Relation> relations) @NonNull AssemblageConfig.Builder
requireIncomingMid
(AssemblageConfig.MidRequire requireIncomingMid) @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.@NonNull AssemblageConfig.Builder
similarOwnerType
(nl.vpro.domain.media.support.OwnerType similarOwnerType) @NonNull AssemblageConfig.Builder
similarOwnerTypes
(@NonNull Collection<? extends nl.vpro.domain.media.support.OwnerType> similarOwnerTypes) @NonNull AssemblageConfig.Builder
stealCrids
(org.meeuw.functional.TriPredicate<MediaObject, MediaObject, String> stealCrids) Matching happens on crid.@NonNull AssemblageConfig.Builder
stealMids
(AssemblageConfig.Steal stealMids) @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.@NonNull String
toString()
@NonNull AssemblageConfig.Builder
updateType
(AssemblageConfig.Steal updateType)
-
Method Details
-
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
-
memberRefMatchOwner
-
ownerless
-
stealAllCrids
-
deleteBroadcastIfNoScheduleEventsLeft
-
backwardsCompatible
Makes the default assemblage backwards compatible. -
build
-
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
-
copyWorkflow
- Returns:
this
.
-
copyLanguageAndCountry
- Returns:
this
.
-
imageMetaData
- Returns:
this
.
-
copyPredictions
- Returns:
this
.
-
authority
- Returns:
this
.
-
episodeOfUpdate
- Returns:
this
.
-
guessEpisodePosition
- Returns:
this
.
-
memberOfUpdate
public @NonNull AssemblageConfig.Builder memberOfUpdate(BiPredicate<MemberRef, AssemblageConfig> memberOfUpdate) - Returns:
this
.
-
ratingsUpdate
- Returns:
this
.
-
copyTwitterRefs
- Returns:
this
.
-
copyIntentions
- Returns:
this
.
-
copyTargetGroups
- Returns:
this
.
-
copyGeoLocations
- Returns:
this
.
-
copyTopics
- Returns:
this
.
-
relations
- Returns:
this
.
-
createScheduleEvents
- Returns:
this
.
-
deleteIfNoScheduleEventsLeft
public @NonNull AssemblageConfig.Builder deleteIfNoScheduleEventsLeft(Predicate<Program> deleteIfNoScheduleEventsLeft) - Returns:
this
.
-
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
- Returns:
this
.
-
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
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
- Returns:
this
.
-
updateType
- Returns:
this
.
-
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
.
-
publishImmediately
public @NonNull AssemblageConfig.Builder publishImmediately(Function<MediaObject, Optional<String>> publishImmediately) - Returns:
this
.
-
logger
- Returns:
this
.
-
_build
-
toString
-