protected Link selectLink(List<Link> links, String type, String hreflang) { for (Link link : links) { MimeType mt = link.getMimeType(); boolean typematch = MimeTypeHelper.isMatch((mt != null) ? mt.toString() : null, type); boolean langmatch = "*".equals(hreflang) || ((hreflang != null) ? hreflang.equals(link.getHrefLang()) : link.getHrefLang() == null); if (typematch && langmatch) return link; } return null; }
public static Link selectLink(List<Link> links, String type, String hreflang) { for (Link link : links) { MimeType mt = link.getMimeType(); boolean typematch = MimeTypeHelper.isMatch((mt != null) ? mt.toString() : null, type); boolean langmatch = "*".equals(hreflang) || ((hreflang != null) ? hreflang.equals(link.getHrefLang()) : link.getHrefLang() == null); if (typematch && langmatch) return link; } return null; } }
public int compare(Link o1, Link o2) { Lang l1 = new Lang(o1.getHrefLang()); Lang l2 = new Lang(o2.getHrefLang()); return l1.compareTo(l2); } });
public static Link[] selectAlternate(List<Link> links, Range... ranges) { List<Link> matching = new ArrayList<Link>(); for (Range range : ranges) { for (Link link : links) { String hreflang = link.getHrefLang(); if (hreflang != null) { Lang lang = new Lang(hreflang); Range basic = range.toBasicRange(); Lang blang = !basic.toString().equals("*") ? new Lang(basic.toString()) : null; if (range.matches(lang) || (blang != null && lang.isParentOf(blang))) matching.add(link); } } Collections.sort(matching, new Comparator<Link>() { public int compare(Link o1, Link o2) { Lang l1 = new Lang(o1.getHrefLang()); Lang l2 = new Lang(o2.getHrefLang()); return l1.compareTo(l2); } }); } return matching.toArray(new Link[matching.size()]); }
jstream.writeField("title", link.getTitle()); jstream.writeField("type", link.getMimeType()); jstream.writeField("hreflang", link.getHrefLang()); if (link.getLength() > -1) { jstream.writeField("length", link.getLength());