org.springframework.hateoas.IanaUriSchemes Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of spring-hateoas Show documentation
Show all versions of spring-hateoas Show documentation
Library to support implementing representations for
hyper-text driven REST web services.
/*
* Copyright 2020-2023 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.hateoas;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashSet;
/**
* A list of well-defined URI schemes governed by IANA.
*
* @author Oliver Drotbohm
* @see Official IANA URI scheme registry
* @since 1.2
*/
public class IanaUriSchemes {
private static Collection IANA_URI_SCHEMES = new HashSet<>(Arrays.asList( //
"aaa", //
"aaas", //
"about", //
"acap", //
"acct", //
"acd", //
"acr", //
"adiumxtra", //
"adt", //
"afp", //
"afs", //
"aim", //
"amss", //
"android", //
"appdata", //
"apt", //
"ark", //
"attachment", //
"aw", //
"barion", //
"bb", //
"beshare", //
"bitcoin", //
"bitcoincash", //
"blob", //
"bolo", //
"browserext", //
"cabal", //
"calculator", //
"callto", //
"cap", //
"cast", //
"casts", //
"chrome", //
"chrome-extension", //
"cid", //
"coap", //
"coap+tcp", //
"coap+ws", //
"coaps", //
"coaps+tcp", //
"coaps+ws", //
"com-eventbrite-attendee", //
"content", //
"conti", //
"crid", //
"cvs", //
"dab", //
"dat", //
"data", //
"dav", //
"diaspora", //
"dict", //
"did", //
"dis", //
"dlna-playcontainer", //
"dlna-playsingle", //
"dns", //
"dntp", //
"doi", //
"dpp", //
"drm", //
"drop", //
"dtmi", //
"dtn", //
"dvb", //
"dweb", //
"ed2k", //
"elsi", //
"ethereum", //
"example", //
"facetime", //
"fax", //
"feed", //
"feedready", //
"file", //
"filesystem", //
"finger", //
"first-run-pen-experience", //
"fish", //
"fm", //
"ftp", //
"fuchsia-pkg", //
"geo", //
"gg", //
"git", //
"gizmoproject", //
"go", //
"gopher", //
"graph", //
"grd", //
"gtalk", //
"h323", //
"ham", //
"hcap", //
"hcp", //
"http", //
"https", //
"hxxp", //
"hxxps", //
"hydrazone", //
"hyper", //
"iax", //
"icap", //
"icon", //
"im", //
"imap", //
"info", //
"iotdisco", //
"ipfs", //
"ipn", //
"ipns", //
"ipp", //
"ipps", //
"irc", //
"irc6", //
"ircs", //
"iris", //
"iris.beep", //
"iris.lwz", //
"iris.xpc", //
"iris.xpcs", //
"isostore", //
"itms", //
"jabber", //
"jar", //
"jms", //
"keyparc", //
"lastfm", //
"lbry", //
"ldap", //
"ldaps", //
"leaptofrogans", //
"lorawan", //
"lvlt", //
"magnet", //
"mailserver", //
"mailto", //
"maps", //
"market", //
"message", //
"microsoft.windows.camera", //
"microsoft.windows.camera.multipicker", //
"microsoft.windows.camera.picker", //
"mid", //
"mms", //
"modem", //
"mongodb", //
"moz", //
"ms-access", //
"ms-browser-extension", //
"ms-calculator", //
"ms-drive-to", //
"ms-enrollment", //
"ms-excel", //
"ms-eyecontrolspeech", //
"ms-gamebarservices", //
"ms-gamingoverlay", //
"ms-getoffice", //
"ms-help", //
"ms-infopath", //
"ms-inputapp", //
"ms-lockscreencomponent-config", //
"ms-media-stream-id", //
"ms-mixedrealitycapture", //
"ms-mobileplans", //
"ms-officeapp", //
"ms-people", //
"ms-project", //
"ms-powerpoint", //
"ms-publisher", //
"ms-restoretabcompanion", //
"ms-screenclip", //
"ms-screensketch", //
"ms-search", //
"ms-search-repair", //
"ms-secondary-screen-controller", //
"ms-secondary-screen-setup", //
"ms-settings", //
"ms-settings-airplanemode", //
"ms-settings-bluetooth", //
"ms-settings-camera", //
"ms-settings-cellular", //
"ms-settings-cloudstorage", //
"ms-settings-connectabledevices", //
"ms-settings-displays-topology", //
"ms-settings-emailandaccounts", //
"ms-settings-language", //
"ms-settings-location", //
"ms-settings-lock", //
"ms-settings-nfctransactions", //
"ms-settings-notifications", //
"ms-settings-power", //
"ms-settings-privacy", //
"ms-settings-proximity", //
"ms-settings-screenrotation", //
"ms-settings-wifi", //
"ms-settings-workplace", //
"ms-spd", //
"ms-sttoverlay", //
"ms-transit-to", //
"ms-useractivityset", //
"ms-virtualtouchpad", //
"ms-visio", //
"ms-walk-to", //
"ms-whiteboard", //
"ms-whiteboard-cmd", //
"ms-word", //
"msnim", //
"msrp", //
"msrps", //
"mss", //
"mtqp", //
"mumble", //
"mupdate", //
"mvn", //
"news", //
"nfs", //
"ni", //
"nih", //
"nntp", //
"notes", //
"ocf", //
"oid", //
"onenote", //
"onenote-cmd", //
"opaquelocktoken", //
"openpgp4fpr", //
"otpauth", //
"p1", //
"pack", //
"palm", //
"paparazzi", //
"payment", //
"payto", //
"pkcs11", //
"platform", //
"pop", //
"pres", //
"prospero", //
"proxy", //
"pwid", //
"psyc", //
"pttp", //
"qb", //
"query", //
"quic-transport", //
"redis", //
"rediss", //
"reload", //
"res", //
"resource", //
"rmi", //
"rsync", //
"rtmfp", //
"rtmp", //
"rtsp", //
"rtsps", //
"rtspu", //
"secondlife", //
"service", //
"session", //
"sftp", //
"sgn", //
"shttp", //
"sieve", //
"simpleledger", //
"sip", //
"sips", //
"skype", //
"smb", //
"sms", //
"smtp", //
"snews", //
"snmp", //
"soap.beep", //
"soap.beeps", //
"soldat", //
"spiffe", //
"spotify", //
"ssb", //
"ssh", //
"steam", //
"stun", //
"stuns", //
"submit", //
"swh", //
"svn", //
"tag", //
"teamspeak", //
"tel", //
"teliaeid", //
"telnet", //
"tftp", //
"things", //
"thismessage", //
"tip", //
"tn3270", //
"tool", //
"turn", //
"turns", //
"tv", //
"udp", //
"unreal", //
"upt", //
"urn", //
"ut2004", //
"v-event", //
"vemmi", //
"ventrilo", //
"videotex", //
"vnc", //
"view-source", //
"vscode", //
"vscode-insiders", //
"vsls", //
"wais", //
"webcal", //
"wpid", //
"ws", //
"wss", //
"wtai", //
"wyciwyg", //
"xcon", //
"xcon-userid", //
"xfire", //
"xmlrpc.beep", //
"xmlrpc.beeps", //
"xmpp", //
"xri", //
"ymsgr", //
"z39.50", //
"z39.50r", //
"z39.50s"));
public static boolean isIanaUriScheme(String scheme) {
return IANA_URI_SCHEMES.contains(scheme);
}
}