Package nl.vpro.domain.media.support
Class MediaObjectOwnableLists
- java.lang.Object
-
- nl.vpro.domain.media.support.MediaObjectOwnableLists
-
public class MediaObjectOwnableLists extends Object
Utilities related to updatingMediaObjectOwnableList
.- Since:
- 5.11
- Author:
- Michiel Meeuwissen
- See Also:
OwnableLists
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <P extends MediaObjectOwnableList<P,I>,I extends MediaObjectOwnableListItem<I,P>>
MediaObjectaddOrUpdateOwnableList(@NonNull MediaObject parent, @NonNull Collection<P> list, @NonNull P newOwnableList)
static <P extends MediaObjectOwnableList<P,I>,I extends MediaObjectOwnableListItem<I,P>>
voidaddOrUpdateOwnableListForOwner(@NonNull MediaObject parent, @NonNull SortedSet<P> toUpdate, @Nullable SortedSet<P> incoming, nl.vpro.domain.media.support.OwnerType forOwner)
static <P extends MediaObjectOwnableList<P,I>,I extends MediaObjectOwnableListItem<I,P>>
booleanaddValue(@NonNull Set<P> set, @NonNull Supplier<P> creator, @NonNull I newValue, @NonNull nl.vpro.domain.media.support.OwnerType owner)
protected static <OL extends MediaObjectOwnableList<OL,I>,I extends MediaObjectOwnableListItem<I,OL>>
SortedSet<OL>expandExistingOwnedList(SortedSet<OL> values, BiFunction<nl.vpro.domain.media.support.OwnerType,List<I>,OL> creator, List<nl.vpro.domain.media.support.OwnerType> ownersToExpand)
Expands the incoming value to contain values for all given owners.static <OL extends MediaObjectOwnableList<OL,I>,I extends MediaObjectOwnableListItem<I,OL>>
SortedSet<OL>expandOwnedList(SortedSet<OL> incoming, BiFunction<nl.vpro.domain.media.support.OwnerType,List<I>,OL> creator, List<nl.vpro.domain.media.support.OwnerType> ownersToExpand)
static <P extends MediaObjectOwnableList<P,I>,I extends MediaObjectOwnableListItem<I,P>>
Optional<I>find(Collection<P> list, @NonNull Long id, @NonNull nl.vpro.domain.media.support.OwnerType owner)
Find an MediaObjectOwnableListItem given id and ownerstatic <P extends MediaObjectOwnableList<P,I>,I extends MediaObjectOwnableListItem<I,P>>
booleanremove(Set<P> set, @NonNull I value, @NonNull nl.vpro.domain.media.support.OwnerType owner)
static <P extends MediaObjectOwnableList<P,I>,I extends MediaObjectOwnableListItem<I,P>>
booleanremove(Set<P> set, @NonNull nl.vpro.domain.media.support.OwnerType owner)
static <P extends MediaObjectOwnableList<P,I>,I extends MediaObjectOwnableListItem<I,P>>
voidset(@NonNull MediaObject parent, @NonNull Set<P> existingCollection, @NonNull Set<P> newCollection)
static <P extends MediaObjectOwnableList<P,I>,I extends MediaObjectOwnableListItem<I,P>>
voidsetIfNotNull(@NonNull MediaObject parent, @Nullable Set<P> existingCollection, @NonNull Set<P> newCollection)
-
-
-
Method Detail
-
addValue
public static <P extends MediaObjectOwnableList<P,I>,I extends MediaObjectOwnableListItem<I,P>> boolean addValue(@NonNull Set<P> set, @NonNull Supplier<P> creator, @NonNull I newValue, @NonNull nl.vpro.domain.media.support.OwnerType owner)
- Returns:
true
asCollection.add(Object)
, if the given set changed.
-
addOrUpdateOwnableList
public static <P extends MediaObjectOwnableList<P,I>,I extends MediaObjectOwnableListItem<I,P>> MediaObject addOrUpdateOwnableList(@NonNull MediaObject parent, @NonNull Collection<P> list, @NonNull P newOwnableList)
-
addOrUpdateOwnableListForOwner
public static <P extends MediaObjectOwnableList<P,I>,I extends MediaObjectOwnableListItem<I,P>> void addOrUpdateOwnableListForOwner(@NonNull MediaObject parent, @NonNull SortedSet<P> toUpdate, @Nullable SortedSet<P> incoming, nl.vpro.domain.media.support.OwnerType forOwner)
-
remove
public static <P extends MediaObjectOwnableList<P,I>,I extends MediaObjectOwnableListItem<I,P>> boolean remove(Set<P> set, @NonNull I value, @NonNull nl.vpro.domain.media.support.OwnerType owner)
-
remove
public static <P extends MediaObjectOwnableList<P,I>,I extends MediaObjectOwnableListItem<I,P>> boolean remove(Set<P> set, @NonNull nl.vpro.domain.media.support.OwnerType owner)
-
find
public static <P extends MediaObjectOwnableList<P,I>,I extends MediaObjectOwnableListItem<I,P>> Optional<I> find(Collection<P> list, @NonNull Long id, @NonNull nl.vpro.domain.media.support.OwnerType owner)
Find an MediaObjectOwnableListItem given id and owner- Parameters:
list
- collection to search into- Returns:
- Optional/
empty if nothing matched
-
set
public static <P extends MediaObjectOwnableList<P,I>,I extends MediaObjectOwnableListItem<I,P>> void set(@NonNull MediaObject parent, @NonNull Set<P> existingCollection, @NonNull Set<P> newCollection)
-
setIfNotNull
public static <P extends MediaObjectOwnableList<P,I>,I extends MediaObjectOwnableListItem<I,P>> void setIfNotNull(@NonNull MediaObject parent, @Nullable Set<P> existingCollection, @NonNull Set<P> newCollection)
-
expandExistingOwnedList
protected static <OL extends MediaObjectOwnableList<OL,I>,I extends MediaObjectOwnableListItem<I,OL>> SortedSet<OL> expandExistingOwnedList(SortedSet<OL> values, BiFunction<nl.vpro.domain.media.support.OwnerType,List<I>,OL> creator, List<nl.vpro.domain.media.support.OwnerType> ownersToExpand)
Expands the incoming value to contain values for all given owners. NOTE: This methods _modifies_ the incoming list.
-
expandOwnedList
public static <OL extends MediaObjectOwnableList<OL,I>,I extends MediaObjectOwnableListItem<I,OL>> SortedSet<OL> expandOwnedList(SortedSet<OL> incoming, BiFunction<nl.vpro.domain.media.support.OwnerType,List<I>,OL> creator, List<nl.vpro.domain.media.support.OwnerType> ownersToExpand)
-
-