/* * Copyright (c) 2013 Mozilla Foundation * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. */ package org.whattf.datatype; import java.util.Arrays; public class LinkRel extends AbstractRel { private static final String[] REGISTERED_TOKENS = { "alternate", "appendix", // HTML4 "apple-touch-icon", // extension "apple-touch-icon-precomposed", // extension "apple-touch-startup-image", // extension "author", "canonical", // extension "category", // extension "chapter", // HTML4 "contents", // HTML4 "copyright", // HTML4 "discussion", // extension "dns-prefetch", // extension "edituri", // extension "glossary", // HTML4 "help", "home", // extension "http://docs.oasis-open.org/ns/cmis/link/200908/acl", // extension "icon", "image_src", // extension "index", // extension "issues", // extension "its-rules", // extension "license", "me", // extension (Formats table) "next", "openid.delegate", // extension "openid.server", // extension "openid2.local_id", // extension "openid2.provider", // extension "p3pv1", // extension "pgpkey", // extension "pingback", // extension "prefetch", "prerender", // extension "prev", "previous", // HTML4 "profile", // extension "schema.dc", // extension "schema.dcterms", // extension "search", "section", // HTML4 "service", // extension "shortcut", // extension "shortlink", // extension "sidebar", // extension "start", // HTML4 "stylesheet", "stylesheet/less", // extension "subsection", // HTML4 "syndication", // extension "timesheet", // extension "toc", // HTML4 "transformation", // extension (Formats table) "widget", // extension "wlwmanifest" // extension }; /** * The singleton instance. */ public static final LinkRel THE_INSTANCE = new LinkRel(); /** * Package-private constructor */ private LinkRel() { super(); } @Override protected boolean isRegistered(String token) { return Arrays.binarySearch(REGISTERED_TOKENS, token) >= 0; } @Override public String getName() { return "link type valid for <link>"; } }