/** * IconLinkRelations * Copyright 2016 by luccioman; https://github.com/luccioman * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program in the file lgpl21.txt * If not, see <http://www.gnu.org/licenses/>. */ package net.yacy.document.parser.html; /** * Enumeration of HTML link relationships (rel attribute) designating icon. * @author luc * */ public enum IconLinkRelations { /** Standard IANA registered icon link relation (see https://www.iana.org/assignments/link-relations/link-relations.xhtml) */ ICON("icon", "Standard favicon"), /** Icon for IOS app shortcut */ APPLE_TOUCH_ICON("apple-touch-icon", "IOS app shortcut icon"), /** Icon for IOS app shortcut (deprecated but still used by major websites in 2015) */ APPLE_TOUCH_ICON_PRECOMPOSED("apple-touch-icon-precomposed", "Deprecated IOS app shortcut icon"), /** icon for Safari pinned tab */ MASK_ICON("mask-icon", "Safari browser pinned tab icon"), /** Icon for Fluid web app */ FLUID_ICON("fluid-icon", "Fluid app icon"); /** HTML rel attribute value */ private String relValue; /** Human readable description */ private String description; private IconLinkRelations(String relValue, String description) { this.relValue = relValue; this.description = description; } /** * @return HTML rel attribute value */ public String getRelValue() { return relValue; } /** * @return Human readable description of icon rel attribute */ public String getDescription() { return description; } /** * @param relToken HTML rel attribute token * @return true when relToken is an icon relationship (standard or non-standard) */ public static boolean isIconRel(String relToken) { boolean res = false; for(IconLinkRelations iconRel : IconLinkRelations.values()) { if(iconRel.getRelValue().equalsIgnoreCase(relToken)) { res = true; break; } } return res; } /** * @param relToken HTML rel attribute token * @return true when relToken is Standard IANA registered icon link relation */ public static boolean isStandardIconRel(String relToken) { return ICON.getRelValue().equalsIgnoreCase(relToken); } }