/** * {@inheritDoc} * * @see org.opencastproject.mediapackage.MediaPackage#getAttachments() */ @XmlElementWrapper(name = "publications") @XmlElement(name = "publication") @Override public Publication[] getPublications() { return mlist(elements).bind(presentations).value().toArray(new Publication[0]); }
@Override public void endElement(String uri, String localName, String name) throws SAXException { super.endElement(uri, localName, name); if ("Type".equals(name)) { type = getContent(); return; } else if ("Description".equals(name)) { description = getContent(); return; } if ("Extensions".equals(name)) { extensions = getContent(); return; } else if ("MimeType".equals(name)) { String[] t = type.split("/"); MimeType mimeType = mimeType(t[0].trim(), t[1].trim(), mlist(extensions.split(",")).bind(Options.<String> asList().o(Strings.trimToNone)).value(), Collections.<MimeType> nil(), option(description), none(""), none("")); registry.add(mimeType); } }
/** Convert a locale into a list of strings, [language, country, variant] */ public static List<String> localeToList(Locale locale) { return mlist(Strings.trimToNone(locale.getLanguage()), Strings.trimToNone(locale.getCountry()), Strings.trimToNone(locale.getVariant())) // flatten .bind(Functions.<Option<String>> identity()).value(); }
/** * Split a comma separated request param into a list of trimmed strings discarding any blank parts. * <p> * x=comma,separated,,%20value -> ["comma", "separated", "value"] */ public static Monadics.ListMonadic<String> splitCommaSeparatedParam(Option<String> param) { for (String p : param) return mlist(CSV_SPLIT.apply(p)).bind(trimToNil); return mlist(); }
@Override public List<C> apply(A a) { return mlist(m.apply(a)).bind(n).value(); } };
/** Alias for {@link #bind(Function)}. */ public final <B> ListMonadic<B> flatMap(Function<? super A, ? extends Iterable<B>> f) { return bind(f); }
@Override public List<B> apply(A[] as) { return Monadics.mlist(as).bind(f).value(); } };
@Override public List<B> apply(List<A> as) { return mlist(as).bind(f).value(); } };