@Override public List<MediaPackageElement> apply(MediaPackageElement mpe) { // match is commutative return flavor.matches(mpe.getFlavor()) ? Collections.singletonList(mpe) : Collections.emptyList(); } };
@Override public Boolean apply(MediaPackageElement mpe) { // match is commutative return flavor.matches(mpe.getFlavor()); } };
@Override public Boolean apply(MediaPackageElement mpe) { // match is commutative return MediaPackageElements.XACML_POLICY_EPISODE.matches(mpe.getFlavor()); } };
@Override public Boolean apply(MediaPackageElement mpe) { // match is commutative return MediaPackageElements.EPISODE.matches(mpe.getFlavor()); } };
@Override public Boolean apply(MediaPackageElement mpe) { // match is commutative return MediaPackageElements.SERIES.matches(mpe.getFlavor()); } };
@Override public Boolean apply(MediaPackageElement mpe) { // match is commutative return MediaPackageElements.SMIL.matches(mpe.getFlavor()); } };
/** * {@inheritDoc} * * @see org.opencastproject.mediapackage.MediaPackage#getUnclassifiedElements(org.opencastproject.mediapackage.MediaPackageElementFlavor) */ @Override public MediaPackageElement[] getUnclassifiedElements(MediaPackageElementFlavor flavor) { List<MediaPackageElement> unclassifieds = new ArrayList<MediaPackageElement>(); synchronized (elements) { for (MediaPackageElement e : elements) { if (!(e instanceof Attachment) && !(e instanceof Catalog) && !(e instanceof Track)) { if (flavor == null || flavor.equals(e.getFlavor())) { unclassifieds.add(e); } } } } return unclassifieds.toArray(new MediaPackageElement[unclassifieds.size()]); }
/** * {@inheritDoc} * * @see org.opencastproject.mediapackage.MediaPackage#hasUnclassifiedElements(org.opencastproject.mediapackage.MediaPackageElementFlavor) */ @Override public boolean hasUnclassifiedElements(MediaPackageElementFlavor type) { if (type == null) return others > 0; synchronized (elements) { for (MediaPackageElement e : elements) { if (!(e instanceof Attachment) && !(e instanceof Catalog) && !(e instanceof Track)) { if (type.equals(e.getFlavor())) { return true; } } } } return false; }
/** * {@inheritDoc} * * @see org.opencastproject.mediapackage.MediaPackage#getElementsByFlavor(org.opencastproject.mediapackage.MediaPackageElementFlavor) */ @Override public MediaPackageElement[] getElementsByFlavor(MediaPackageElementFlavor flavor) { if (flavor == null) throw new IllegalArgumentException("Flavor cannot be null"); List<MediaPackageElement> elements = new ArrayList<MediaPackageElement>(); for (MediaPackageElement element : getElements()) { if (flavor.matches(element.getFlavor())) elements.add(element); } return elements.toArray(new MediaPackageElement[elements.size()]); }
/** * {@inheritDoc} * * @see org.opencastproject.mediapackage.MediaPackageElementSelector#select(org.opencastproject.mediapackage.MediaPackage, * boolean) */ public Collection<T> select(MediaPackage mediaPackage, boolean withTagsAndFlavors) { Set<T> candidates = new HashSet<T>(); Set<T> result = new HashSet<T>(); // Have the super implementation match type, flavor and tags candidates.addAll(super.select(mediaPackage, withTagsAndFlavors)); if (flavors.isEmpty()) return candidates; // Return the first element based on the flavor buildResult: for (MediaPackageElementFlavor flavor : flavors) { for (T element : candidates) { if (flavor.equals(element.getFlavor())) { result.add(element); break buildResult; } } } return result; }
/** * {@inheritDoc} * * @see org.opencastproject.mediapackage.MediaPackage#getDerived(org.opencastproject.mediapackage.MediaPackageElement, * org.opencastproject.mediapackage.MediaPackageElementFlavor) */ @Override public MediaPackageElement[] getDerived(MediaPackageElement sourceElement, MediaPackageElementFlavor derivateFlavor) { if (sourceElement == null) throw new IllegalArgumentException("Source element cannot be null"); if (derivateFlavor == null) throw new IllegalArgumentException("Derivate flavor cannot be null"); MediaPackageReference reference = new MediaPackageReferenceImpl(sourceElement); List<MediaPackageElement> elements = new ArrayList<MediaPackageElement>(); for (MediaPackageElement element : getElements()) { if (derivateFlavor.equals(element.getFlavor()) && reference.equals(element.getReference())) elements.add(element); } return elements.toArray(new MediaPackageElement[elements.size()]); }
if (flavor.matches(e.getFlavor())) { matchesFlavor = true; break;