1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.opencastproject.assetmanager.impl;
22
23 import org.opencastproject.mediapackage.MediaPackage;
24 import org.opencastproject.mediapackage.MediaPackageElement;
25
26 import java.util.Arrays;
27 import java.util.List;
28 import java.util.function.Predicate;
29 import java.util.stream.Collectors;
30
31
32
33
34
35
36 public class PartialMediaPackage {
37 private final MediaPackage mediaPackage;
38 private final Predicate<MediaPackageElement> filter;
39
40 public PartialMediaPackage(MediaPackage mediaPackage, Predicate<MediaPackageElement> filter) {
41 this.mediaPackage = mediaPackage;
42 this.filter = filter;
43 }
44
45 public static PartialMediaPackage mk(MediaPackage mp, Predicate<MediaPackageElement> filter) {
46 return new PartialMediaPackage(mp, filter);
47 }
48
49 public MediaPackage getMediaPackage() {
50 return mediaPackage;
51 }
52
53 public Predicate<MediaPackageElement> getPredicate() {
54 return filter;
55 }
56
57 public List<MediaPackageElement> getElements() {
58 return Arrays.stream(mediaPackage.getElements())
59 .filter(filter)
60 .collect(Collectors.toList());
61 }
62 }