Package nl.vpro.domain.media.support
Class MediaObjectOwnableLists
java.lang.Object
nl.vpro.domain.media.support.MediaObjectOwnableLists
Utilities related to updating
MediaObjectOwnableList
.- Since:
- 5.11
- Author:
- Michiel Meeuwissen
- See Also:
-
OwnableLists
-
Method Summary
Modifier and TypeMethodDescriptionstatic <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>>
booleanstatic <P extends MediaObjectOwnableList<P,
I>, I extends MediaObjectOwnableListItem<I, P>>
booleanstatic <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 Details
-
addValue
public static <P extends MediaObjectOwnableList<P,I>, boolean addValueI extends MediaObjectOwnableListItem<I, P>> (@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>, MediaObject addOrUpdateOwnableListI extends MediaObjectOwnableListItem<I, P>> (@NonNull MediaObject parent, @NonNull Collection<P> list, @NonNull P newOwnableList) -
addOrUpdateOwnableListForOwner
public static <P extends MediaObjectOwnableList<P,I>, void addOrUpdateOwnableListForOwnerI extends MediaObjectOwnableListItem<I, P>> (@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>, boolean removeI extends MediaObjectOwnableListItem<I, P>> (Set<P> set, @NonNull I value, @NonNull nl.vpro.domain.media.support.OwnerType owner) -
remove
public static <P extends MediaObjectOwnableList<P,I>, boolean removeI extends MediaObjectOwnableListItem<I, P>> (Set<P> set, @NonNull nl.vpro.domain.media.support.OwnerType owner) -
find
public static <P extends MediaObjectOwnableList<P,I>, Optional<I> findI extends MediaObjectOwnableListItem<I, P>> (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>, void setI extends MediaObjectOwnableListItem<I, P>> (@NonNull MediaObject parent, @NonNull Set<P> existingCollection, @NonNull Set<P> newCollection) -
setIfNotNull
public static <P extends MediaObjectOwnableList<P,I>, void setIfNotNullI extends MediaObjectOwnableListItem<I, P>> (@NonNull MediaObject parent, @Nullable Set<P> existingCollection, @NonNull Set<P> newCollection) -
expandExistingOwnedList
protected static <OL extends MediaObjectOwnableList<OL,I>, SortedSet<OL> expandExistingOwnedListI extends MediaObjectOwnableListItem<I, OL>> (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>, SortedSet<OL> expandOwnedListI extends MediaObjectOwnableListItem<I, OL>> (SortedSet<OL> incoming, BiFunction<nl.vpro.domain.media.support.OwnerType, List<I>, OL> creator, List<nl.vpro.domain.media.support.OwnerType> ownersToExpand)
-