net.sf.uadetector.UserAgentFamily Maven / Gradle / Ivy
Show all versions of uadetector-core Show documentation
/*******************************************************************************
* Copyright 2012 André Rouél
*
* 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
*
* http://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 net.sf.uadetector;
import net.sf.uadetector.internal.Check;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* This enum represents the more commonly used user agent families. It will never be complete, but can assist in
* identifying an user agent.
*
* @author André Rouél
*/
public enum UserAgentFamily
{
/**
* Representation of an unknown User-Agent
*
*
* Attention: This is not a known User-Agent family, but only a placeholder.
*/
UNKNOWN("unknown", Pattern.compile("^$")),
/**
* 192.comAgent
*/
_192_COMAGENT("192.comAgent", Pattern.compile("192.comAgent")),
/**
* 2Bone LinkChecker
*/
_2BONE_LINKCHECKER("2Bone LinkChecker", Pattern.compile("2Bone LinkChecker")),
/**
* 50.nu
*/
_50_NU("50.nu", Pattern.compile("50.nu")),
/**
* 80legs
*/
_80LEGS("80legs", Pattern.compile("80legs")),
/**
* A1 Sitemap Generator
*/
A1_SITEMAP_GENERATOR("A1 Sitemap Generator", Pattern.compile("A1 Sitemap Generator")),
/**
* AB (Apache Bench)
*/
AB_APACHE_BENCH("AB (Apache Bench)", Pattern.compile("AB \\(Apache Bench\\)")),
/**
* abby
*/
ABBY("abby", Pattern.compile("abby")),
/**
* Abilon
*/
ABILON("Abilon", Pattern.compile("Abilon")),
/**
* Abolimba
*/
ABOLIMBA("Abolimba", Pattern.compile("Abolimba")),
/**
* Aboundexbot
*/
ABOUNDEXBOT("Aboundexbot", Pattern.compile("Aboundexbot")),
/**
* AboutUsBot
*/
ABOUTUSBOT("AboutUsBot", Pattern.compile("AboutUsBot")),
/**
* Abrave Spider
*/
ABRAVE_SPIDER("Abrave Spider", Pattern.compile("Abrave Spider")),
/**
* ABrowse
*/
ABROWSE("ABrowse", Pattern.compile("ABrowse")),
/**
* Accelobot
*/
ACCELOBOT("Accelobot", Pattern.compile("Accelobot")),
/**
* Accoona-AI-Agent
*/
ACCOONA_AI_AGENT("Accoona-AI-Agent", Pattern.compile("Accoona-AI-Agent")),
/**
* Acoo Browser
*/
ACOO_BROWSER("Acoo Browser", Pattern.compile("Acoo Browser")),
/**
* AcoonBot
*/
ACOONBOT("AcoonBot", Pattern.compile("AcoonBot")),
/**
* Acorn
*/
ACORN("Acorn", Pattern.compile("Acorn")),
/**
* ActiveXperts Network Monitor
*/
ACTIVEXPERTS_NETWORK_MONITOR("ActiveXperts Network Monitor", Pattern.compile("ActiveXperts Network Monitor")),
/**
* AddThis.com
*/
ADDTHIS_COM("AddThis.com", Pattern.compile("AddThis.com")),
/**
* Adobe AIR runtime
*/
ADOBE_AIR_RUNTIME("Adobe AIR runtime", Pattern.compile("Adobe AIR runtime")),
/**
* adressendeutschland.de
*/
ADRESSENDEUTSCHLAND_DE("adressendeutschland.de", Pattern.compile("adressendeutschland.de")),
/**
* AdsBot-Google
*/
ADSBOT_GOOGLE("AdsBot-Google", Pattern.compile("AdsBot-Google")),
/**
* AhrefsBot
*/
AHREFSBOT("AhrefsBot", Pattern.compile("AhrefsBot")),
/**
* aiHitBot
*/
AIHITBOT("aiHitBot", Pattern.compile("aiHitBot")),
/**
* aippie
*/
AIPPIE("aippie", Pattern.compile("aippie")),
/**
* AirMail
*/
AIRMAIL("AirMail", Pattern.compile("AirMail")),
/**
* Akregator
*/
AKREGATOR("Akregator", Pattern.compile("Akregator")),
/**
* akula
*/
AKULA("akula", Pattern.compile("akula")),
/**
* Alienforce
*/
ALIENFORCE("Alienforce", Pattern.compile("Alienforce")),
/**
* Almaden
*/
ALMADEN("Almaden", Pattern.compile("Almaden")),
/**
* Amagit.COM
*/
AMAGIT_COM("Amagit.COM", Pattern.compile("Amagit.COM")),
/**
* Amaya
*/
AMAYA("Amaya", Pattern.compile("Amaya")),
/**
* Amazon Silk
*/
AMAZON_SILK("Amazon Silk", Pattern.compile("(Amazon Silk|Mobile Silk)")),
/**
* Amfibibot
*/
AMFIBIBOT("Amfibibot", Pattern.compile("Amfibibot")),
/**
* amibot
*/
AMIBOT("amibot", Pattern.compile("amibot")),
/**
* Amiga Aweb
*/
AMIGA_AWEB("Amiga Aweb", Pattern.compile("Amiga Aweb")),
/**
* Amiga Voyager
*/
AMIGA_VOYAGER("Amiga Voyager", Pattern.compile("Amiga Voyager")),
/**
* Android Browser
*/
ANDROID_BROWSER("Android Browser", Pattern.compile("(Android Browser|Android Webkit)", Pattern.CASE_INSENSITIVE)),
/**
* Anemone
*/
ANEMONE("Anemone", Pattern.compile("Anemone")),
/**
* Anonymouse.org
*/
ANONYMOUSE_ORG("Anonymouse.org", Pattern.compile("Anonymouse.org")),
/**
* AntBot
*/
ANTBOT("AntBot", Pattern.compile("AntBot")),
/**
* anw HTMLChecker
*/
ANW_HTMLCHECKER("anw HTMLChecker", Pattern.compile("anw HTMLChecker")),
/**
* anw LoadControl
*/
ANW_LOADCONTROL("anw LoadControl", Pattern.compile("anw LoadControl")),
/**
* AOL Explorer
*/
AOL_EXPLORER("AOL Explorer", Pattern.compile("AOL Explorer")),
/**
* Apache internal dummy connection
*/
APACHE_INTERNAL_DUMMY_CONNECTION("Apache internal dummy connection", Pattern.compile("Apache internal dummy connection")),
/**
* Apache Synapse
*/
APACHE_SYNAPSE("Apache Synapse", Pattern.compile("Apache Synapse")),
/**
* Apercite
*/
APERCITE("Apercite", Pattern.compile("Apercite")),
/**
* AportWorm
*/
APORTWORM("AportWorm", Pattern.compile("AportWorm")),
/**
* Apple-PubSub
*/
APPLE_MAIL("Apple Mail", Pattern.compile("Apple Mail")),
/**
* Apple-PubSub
*/
APPLE_PUBSUB("Apple-PubSub", Pattern.compile("Apple-PubSub")),
/**
* arachnode.net
*/
ARACHNODE_NET("arachnode.net", Pattern.compile("arachnode.net")),
/**
* archive.org_bot
*/
ARCHIVE_ORG_BOT("archive.org_bot", Pattern.compile("archive.org_bot")),
/**
* Arora
*/
ARORA("Arora", Pattern.compile("Arora")),
/**
* ASAHA Search Engine Turkey
*/
ASAHA_SEARCH_ENGINE_TURKEY("ASAHA Search Engine Turkey", Pattern.compile("ASAHA Search Engine Turkey")),
/**
* Ask Jeeves/Teoma
*/
ASK_JEEVES_TEOMA("Ask Jeeves/Teoma", Pattern.compile("Ask Jeeves/Teoma")),
/**
* Atomic Email Hunter
*/
ATOMIC_EMAIL_HUNTER("Atomic Email Hunter", Pattern.compile("Atomic Email Hunter")),
/**
* Atomic Web Browser
*/
ATOMIC_WEB_BROWSER("Atomic Web Browser", Pattern.compile("Atomic Web Browser")),
/**
* Avant Browser
*/
AVANT_BROWSER("Avant Browser", Pattern.compile("Avant Browser")),
/**
* AvantGo
*/
AVANTGO("AvantGo", Pattern.compile("AvantGo")),
/**
* Awasu
*/
AWASU("Awasu", Pattern.compile("Awasu")),
/**
* Axel
*/
AXEL("Axel", Pattern.compile("Axel")),
/**
* BabalooSpider
*/
BABALOOSPIDER("BabalooSpider", Pattern.compile("BabalooSpider")),
/**
* BacklinkCrawler
*/
BACKLINKCRAWLER("BacklinkCrawler", Pattern.compile("BacklinkCrawler")),
/**
* Bad-Neighborhood
*/
BAD_NEIGHBORHOOD("Bad-Neighborhood", Pattern.compile("Bad-Neighborhood")),
/**
* Baidu Browser
*/
BAIDU_BROWSER("Baidu Browser", Pattern.compile("Baidu Browser")),
/**
* Baiduspider
*/
BAIDUSPIDER("Baiduspider", Pattern.compile("Baiduspider")),
/**
* Banshee
*/
BANSHEE("Banshee", Pattern.compile("Banshee")),
/**
* Barca
*/
BARCA("Barca", Pattern.compile("Barca")),
/**
* baypup
*/
BAYPUP("baypup", Pattern.compile("baypup")),
/**
* BDFetch
*/
BDFETCH("BDFetch", Pattern.compile("BDFetch")),
/**
* Beamrise
*/
BEAMRISE("Beamrise", Pattern.compile("Beamrise")),
/**
* BecomeBot
*/
BECOMEBOT("BecomeBot", Pattern.compile("BecomeBot")),
/**
* Beonex
*/
BEONEX("Beonex", Pattern.compile("Beonex")),
/**
* Bigsearch.ca
*/
BIGSEARCH_CA("Bigsearch.ca", Pattern.compile("Bigsearch.ca")),
/**
* bingbot
*/
BINGBOT("bingbot", Pattern.compile("bingbot")),
/**
* BinGet
*/
BINGET("BinGet", Pattern.compile("BinGet")),
/**
* bitlybot
*/
BITLYBOT("bitlybot", Pattern.compile("bitlybot")),
/**
* biwec
*/
BIWEC("biwec", Pattern.compile("biwec")),
/**
* bixo
*/
BIXO("bixo", Pattern.compile("bixo")),
/**
* bixolabs
*/
BIXOLABS("bixocrawler", Pattern.compile("(bixocrawler|bixolabs)")),
/**
* BlackBerry Browser
*/
BLACKBERRY_BROWSER("BlackBerry Browser", Pattern.compile("BlackBerry Browser")),
/**
* Blackbird
*/
BLACKBIRD("Blackbird", Pattern.compile("Blackbird")),
/**
* BlackHawk
*/
BLACKHAWK("BlackHawk", Pattern.compile("BlackHawk")),
/**
* Blaiz-Bee
*/
BLAIZ_BEE("Blaiz-Bee", Pattern.compile("Blaiz-Bee")),
/**
* Blazer
*/
BLAZER("Blazer", Pattern.compile("Blazer")),
/**
* Blekkobot
*/
BLEKKOBOT("Blekkobot", Pattern.compile("Blekkobot")),
/**
* BlinkaCrawler
*/
BLINKACRAWLER("BlinkaCrawler", Pattern.compile("BlinkaCrawler")),
/**
* BlogBridge
*/
BLOGBRIDGE("BlogBridge", Pattern.compile("BlogBridge")),
/**
* Bloggsi
*/
BLOGGSI("Bloggsi", Pattern.compile("Bloggsi")),
/**
* Bloglines
*/
BLOGLINES("Bloglines", Pattern.compile("Bloglines")),
/**
* BlogPulse
*/
BLOGPULSE("BlogPulse", Pattern.compile("BlogPulse")),
/**
* bnf.fr_bot
*/
BNF_FR_BOT("bnf.fr_bot", Pattern.compile("bnf.fr_bot")),
/**
* boitho.com-dc
*/
BOITHO_COM_DC("boitho.com-dc", Pattern.compile("boitho.com-dc")),
/**
* Bolt
*/
BOLT("Bolt", Pattern.compile("Bolt")),
/**
* Bookdog
*/
BOOKDOG("Bookdog", Pattern.compile("Bookdog")),
/**
* BookmarkTracker
*/
BOOKMARKTRACKER("BookmarkTracker", Pattern.compile("BookmarkTracker")),
/**
* bot-pge.chlooe.com
*/
BOT_PGE_CHLOOE_COM("bot-pge.chlooe.com", Pattern.compile("bot-pge.chlooe.com")),
/**
* botmobi
*/
BOTMOBI("botmobi", Pattern.compile("botmobi")),
/**
* BotOnParade
*/
BOTONPARADE("BotOnParade", Pattern.compile("BotOnParade")),
/**
* Boxxe
*/
BOXXE("Boxxe", Pattern.compile("Boxxe")),
/**
* BrownRecluse
*/
BROWNRECLUSE("BrownRecluse", Pattern.compile("BrownRecluse")),
/**
* Browsershots
*/
BROWSERSHOTS("Browsershots", Pattern.compile("Browsershots")),
/**
* BrowseX
*/
BROWSEX("BrowseX", Pattern.compile("BrowseX")),
/**
* Browzar
*/
BROWZAR("Browzar", Pattern.compile("Browzar")),
/**
* btbot
*/
BTBOT("btbot", Pattern.compile("btbot")),
/**
* Bunjalloo
*/
BUNJALLOO("Bunjalloo", Pattern.compile("Bunjalloo")),
/**
* Butterfly
*/
BUTTERFLY("Butterfly", Pattern.compile("Butterfly")),
/**
* BuzzRankingBot
*/
BUZZRANKINGBOT("BuzzRankingBot", Pattern.compile("BuzzRankingBot")),
/**
* Camino
*/
CAMINO("Camino", Pattern.compile("Camino")),
/**
* CamontSpider
*/
CAMONTSPIDER("CamontSpider", Pattern.compile("CamontSpider")),
/**
* CareerBot
*/
CAREERBOT("CareerBot", Pattern.compile("CareerBot")),
/**
* ^Nail
*/
CARET_NAIL("^Nail", Pattern.compile("^Nail")),
/**
* Castabot
*/
CASTABOT("Castabot", Pattern.compile("Castabot")),
/**
* CatchBot
*/
CATCHBOT("CatchBot", Pattern.compile("CatchBot")),
/**
* CazoodleBot
*/
CAZOODLEBOT("CazoodleBot", Pattern.compile("CazoodleBot")),
/**
* CCBot
*/
CCBOT("CCBot", Pattern.compile("CCBot")),
/**
* ccubee
*/
CCUBEE("ccubee", Pattern.compile("ccubee")),
/**
* ChangeDetection
*/
CHANGEDETECTION("ChangeDetection", Pattern.compile("ChangeDetection(/\\d+(\\.\\d+)*)?", Pattern.CASE_INSENSITIVE)),
/**
* Charlotte
*/
CHARLOTTE("Charlotte", Pattern.compile("Charlotte")),
/**
* Charon
*/
CHARON("Charon", Pattern.compile("Charon")),
/**
* Checkbot
*/
CHECKBOT("Checkbot", Pattern.compile("Checkbot")),
/**
* Cheshire
*/
CHESHIRE("Cheshire", Pattern.compile("Cheshire")),
/**
* Chilkat HTTP .NET
*/
CHILKAT_HTTP_NET("Chilkat HTTP .NET", Pattern.compile("Chilkat HTTP .NET")),
/**
* Chrome
*/
CHROME("Chrome", Pattern.compile("Chrome")),
/**
* Chrome Mobile
*/
CHROME_MOBILE("Chrome Mobile", Pattern.compile("Chrome Mobile")),
/**
* Chromium
*/
CHROMIUM("Chromium", Pattern.compile("Chromium")),
/**
* City4you
*/
CITY4YOU("City4you", Pattern.compile("City4you")),
/**
* cityreview
*/
CITYREVIEW("cityreview", Pattern.compile("cityreview")),
/**
* CJB.NET Proxy
*/
CJB_NET_PROXY("CJB.NET Proxy", Pattern.compile("CJB.NET Proxy")),
/**
* Claws Mail GtkHtml2 plugin
*/
CLAWS_MAIL_GTKHTML2_PLUGIN("Claws Mail GtkHtml2 plugin", Pattern.compile("Claws Mail GtkHtml2 plugin")),
/**
* CligooRobot
*/
CLIGOOROBOT("CligooRobot", Pattern.compile("CligooRobot")),
/**
* Coast
*/
COAST("Coast", Pattern.compile("Coast")),
/**
* coccoc
*/
COCCOC("coccoc", Pattern.compile("coccoc")),
/**
* Columbus
*/
COLUMBUS("Columbus", Pattern.compile("Columbus")),
/**
* Combine
*/
COMBINE("Combine", Pattern.compile("Combine")),
/**
* CometBird
*/
COMETBIRD("CometBird", Pattern.compile("CometBird")),
/**
* Comodo Dragon
*/
COMODO_DRAGON("Comodo Dragon", Pattern.compile("Comodo Dragon")),
/**
* CompSpyBot - Competitive Spying and Scraping
*/
COMPSPYBOT("CompSpyBot/1.0", Pattern.compile("CompSpyBot(/\\d+(\\.\\d+)*)?")),
/**
* Conkeror
*/
CONKEROR("Conkeror", Pattern.compile("Conkeror")),
/**
* ConveraCrawler
*/
CONVERACRAWLER("ConveraCrawler", Pattern.compile("ConveraCrawler")),
/**
* CoolNovo
*/
COOLNOVO("CoolNovo", Pattern.compile("CoolNovo")),
/**
* copyright sheriff
*/
COPYRIGHT_SHERIFF("copyright sheriff", Pattern.compile("copyright sheriff")),
/**
* CorePlayer
*/
COREPLAYER("CorePlayer", Pattern.compile("CorePlayer")),
/**
* CorpusCrawler
*/
CORPUSCRAWLER("CorpusCrawler", Pattern.compile("CorpusCrawler")),
/**
* Covario-IDS
*/
COVARIO_IDS("Covario-IDS", Pattern.compile("Covario-IDS")),
/**
* CPG Dragonfly RSS Module
*/
CPG_DRAGONFLY_RSS_MODULE("CPG Dragonfly RSS Module", Pattern.compile("CPG Dragonfly RSS Module")),
/**
* Crawler4j
*/
CRAWLER4J("Crawler4j", Pattern.compile("Crawler4j")),
/**
* Crazy Browser
*/
CRAZY_BROWSER("Crazy Browser", Pattern.compile("Crazy Browser")),
/**
* csci_b659
*/
CSCI_B659("csci_b659", Pattern.compile("csci_b659")),
/**
* CSE HTML Validator
*/
CSE_HTML_VALIDATOR("CSE HTML Validator", Pattern.compile("CSE HTML Validator")),
/**
* cURL
*/
CURL("cURL", Pattern.compile("cURL")),
/**
* Cyberduck
*/
CYBERDUCK("Cyberduck", Pattern.compile("Cyberduck")),
/**
* Cynthia
*/
CYNTHIA("Cynthia", Pattern.compile("Cynthia")),
/**
* D+
*/
D_PLUS("D+", Pattern.compile("D+")),
/**
* DataFountains
*/
DATAFOUNTAINS("DataFountains", Pattern.compile("DataFountains")),
/**
* DataparkSearch
*/
DATAPARKSEARCH("DataparkSearch", Pattern.compile("DataparkSearch")),
/**
* Daumoa
*/
DAUMOA("Daumoa", Pattern.compile("Daumoa")),
/**
* DBLBot
*/
DBLBOT("DBLBot", Pattern.compile("DBLBot")),
/**
* DCPbot
*/
DCPBOT("DCPbot", Pattern.compile("DCPbot")),
/**
* DealGates Bot
*/
DEALGATES_BOT("DealGates Bot", Pattern.compile("DealGates Bot")),
/**
* Deepnet Explorer
*/
DEEPNET_EXPLORER("Deepnet Explorer", Pattern.compile("Deepnet Explorer")),
/**
* del.icio.us-thumbnails
*/
DEL_ICIO_US_THUMBNAILS("del.icio.us-thumbnails", Pattern.compile("del.icio.us-thumbnails")),
/**
* Dell Web Monitor
*/
DELL_WEB_MONITOR("Dell Web Monitor", Pattern.compile("Dell Web Monitor")),
/**
* Demeter
*/
DEMETER("Demeter", Pattern.compile("Demeter")),
/**
* DepSpid
*/
DEPSPID("DepSpid", Pattern.compile("DepSpid")),
/**
* DeskBrowse
*/
DESKBROWSE("DeskBrowse", Pattern.compile("DeskBrowse")),
/**
* Dillo
*/
DILLO("Dillo", Pattern.compile("Dillo")),
/**
* Discoverybot is Discovery Engine's web crawler. It downloads text/html documents for use in building our full web
* search engine.
*/
DISCOBOT("discobot", Pattern.compile("(discobot|discoverybot)(/\\d+(\\.\\d+))?")),
/**
* DKIMRepBot
*/
DKIMREPBOT("DKIMRepBot", Pattern.compile("DKIMRepBot")),
/**
* DNS-Digger-Explorer
*/
DNS_DIGGER_EXPLORER("DNS-Digger-Explorer", Pattern.compile("DNS-Digger-Explorer")),
/**
* DocZilla
*/
DOCZILLA("DocZilla", Pattern.compile("DocZilla")),
/**
* Dolphin
*/
DOLPHIN("Dolphin", Pattern.compile("Dolphin")),
/**
* DomainDB
*/
DOMAINDB("DomainDB", Pattern.compile("DomainDB")),
/**
* Dooble
*/
DOOBLE("Dooble", Pattern.compile("Dooble")),
/**
* Doris
*/
DORIS("Doris", Pattern.compile("Doris")),
/**
* Dot TK - spider
*/
DOT_TK_SPIDER("Dot TK - spider", Pattern.compile("Dot TK - spider")),
/**
* DotBot
*/
DOTBOT("DotBot", Pattern.compile("DotBot")),
/**
* dotSemantic
*/
DOTSEMANTIC("dotSemantic", Pattern.compile("dotSemantic")),
/**
* DownloadStudio
*/
DOWNLOADSTUDIO("DownloadStudio", Pattern.compile("DownloadStudio")),
/**
* DripfeedBot
*/
DRIPFEEDBOT("DripfeedBot", Pattern.compile("DripfeedBot")),
/**
* DuckDuckBot
*/
DUCKDUCKBOT("DuckDuckBot", Pattern.compile("DuckDuckBot")),
/**
* DuckDuckPreview
*/
DUCKDUCKPREVIEW("DuckDuckPreview", Pattern.compile("DuckDuckPreview")),
/**
* e-SocietyRobot
*/
E_SOCIETYROBOT("e-SocietyRobot", Pattern.compile("e-SocietyRobot")),
/**
* EasyBib AutoCite
*/
EASYBIB_AUTOCITE("EasyBib AutoCite", Pattern.compile("EasyBib AutoCite")),
/**
* eCairn-Grabber
*/
ECAIRN_GRABBER("eCairn-Grabber", Pattern.compile("eCairn-Grabber")),
/**
* Edbrowse
*/
EDBROWSE("Edbrowse", Pattern.compile("Edbrowse")),
/**
* EDI
*/
EDI("EDI", Pattern.compile("EDI")),
/**
* EdisterBot
*/
EDISTERBOT("EdisterBot", Pattern.compile("EdisterBot")),
/**
* egothor
*/
EGOTHOR("egothor", Pattern.compile("egothor")),
/**
* ejupiter.com
*/
EJUPITER_COM("ejupiter.com", Pattern.compile("ejupiter.com")),
/**
* Element Browser
*/
ELEMENT_BROWSER("Element Browser", Pattern.compile("Element Browser")),
/**
* Elinks
*/
ELINKS("Elinks", Pattern.compile("Elinks")),
/**
* EnaBot
*/
ENABOT("EnaBot", Pattern.compile("EnaBot")),
/**
* Enigma browser
*/
ENIGMA_BROWSER("Enigma browser", Pattern.compile("Enigma browser")),
/**
* Enterprise_Search
*/
ENTERPRISE_SEARCH("Enterprise_Search", Pattern.compile("Enterprise_Search")),
/**
* envolk
*/
ENVOLK("envolk", Pattern.compile("envolk")),
/**
* Epic
*/
EPIC("Epic", Pattern.compile("Epic")),
/**
* Epiphany
*/
EPIPHANY("Epiphany", Pattern.compile("Epiphany")),
/**
* Espial TV Browser
*/
ESPIAL_TV_BROWSER("Espial TV Browser", Pattern.compile("Espial TV Browser")),
/**
* Eudora
*/
EUDORA("Eudora", Pattern.compile("Eudora")),
/**
* EuripBot
*/
EURIPBOT("EuripBot", Pattern.compile("EuripBot")),
/**
* Eurobot
*/
EUROBOT("Eurobot", Pattern.compile("Eurobot")),
/**
* EventGuruBot
*/
EVENTGURUBOT("EventGuruBot", Pattern.compile("EventGuruBot")),
/**
* EventMachine
*/
EVENTMACHINE("EventMachine", Pattern.compile("EventMachine")),
/**
* Evolution/Camel.Stream
*/
EVOLUTION_CAMEL_STREAM("Evolution/Camel.Stream", Pattern.compile("Evolution/Camel.Stream")),
/**
* EvriNid
*/
EVRINID("EvriNid", Pattern.compile("EvriNid")),
/**
* Exabot
*/
EXABOT("Exabot", Pattern.compile("Exabot")),
/**
* ExactSEEK
*/
EXACTSEEK("ExactSEEK", Pattern.compile("ExactSEEK")),
/**
* Ezooms
*/
EZOOMS("Ezooms", Pattern.compile("Ezooms")),
/**
* FacebookExternalHit
*/
FACEBOOKEXTERNALHIT("FacebookExternalHit", Pattern.compile("FacebookExternalHit")),
/**
* factbot
*/
FACTBOT("factbot", Pattern.compile("factbot")),
/**
* FairShare
*/
FAIRSHARE("FairShare", Pattern.compile("FairShare")),
/**
* Falconsbot
*/
FALCONSBOT("Falconsbot", Pattern.compile("Falconsbot")),
/**
* FAST Enterprise Crawler
*/
FAST_ENTERPRISE_CRAWLER("FAST Enterprise Crawler", Pattern.compile("FAST Enterprise Crawler")),
/**
* FAST MetaWeb Crawler
*/
FAST_METAWEB_CRAWLER("FAST MetaWeb Crawler", Pattern.compile("FAST MetaWeb Crawler")),
/**
* Fastladder FeedFetcher
*/
FASTLADDER_FEEDFETCHER("Fastladder FeedFetcher", Pattern.compile("Fastladder FeedFetcher")),
/**
* FauBot
*/
FAUBOT("FauBot", Pattern.compile("FauBot")),
/**
* favorstarbot
*/
FAVORSTARBOT("favorstarbot", Pattern.compile("favorstarbot")),
/**
* Feed::Find
*/
FEED_FIND("Feed::Find", Pattern.compile("Feed::Find")),
/**
* Feed Viewer
*/
FEED_VIEWER("Feed Viewer", Pattern.compile("Feed Viewer")),
/**
* FeedCatBot
*/
FEEDCATBOT("FeedCatBot", Pattern.compile("FeedCatBot")),
/**
* FeedDemon
*/
FEEDDEMON("FeedDemon", Pattern.compile("FeedDemon")),
/**
* Feedfetcher-Google
*/
FEEDFETCHER_GOOGLE("Feedfetcher-Google", Pattern.compile("Feedfetcher-Google")),
/**
* FeedFinder/bloggz.se
*/
FEEDFINDER_BLOGGZ_SE("FeedFinder/bloggz.se", Pattern.compile("FeedFinder/bloggz.se")),
/**
* FeedParser
*/
FEEDPARSER("FeedParser", Pattern.compile("FeedParser")),
/**
* FeedValidator
*/
FEEDVALIDATOR("FeedValidator", Pattern.compile("FeedValidator")),
/**
* Findexa Crawler
*/
FINDEXA_CRAWLER("Findexa Crawler", Pattern.compile("Findexa Crawler")),
/**
* findlinks
*/
FINDLINKS("findlinks", Pattern.compile("findlinks")),
/**
* Firebird (old name for Firefox)
*/
FIREBIRD("Firebird (old name for Firefox)", Pattern.compile("Firebird \\(old name for Firefox\\)")),
/**
* Firefox
*/
FIREFOX("Firefox", Pattern.compile("Firefox")),
/**
* Firefox (BonEcho)
*/
FIREFOX_BONECHO("Firefox (BonEcho)", Pattern.compile("Firefox \\(BonEcho\\)")),
/**
* Firefox (GranParadiso)
*/
FIREFOX_GRANPARADISO("Firefox (GranParadiso)", Pattern.compile("Firefox \\(GranParadiso\\)")),
/**
* Firefox (Lorentz)
*/
FIREFOX_LORENTZ("Firefox (Lorentz)", Pattern.compile("Firefox \\(Lorentz\\)")),
/**
* Firefox (Minefield)
*/
FIREFOX_MINEFIELD("Firefox (Minefield)", Pattern.compile("Firefox \\(Minefield\\)")),
/**
* Firefox (Namoroka)
*/
FIREFOX_NAMOROKA("Firefox (Namoroka)", Pattern.compile("Firefox \\(Namoroka\\)")),
/**
* Firefox (Shiretoko)
*/
FIREFOX_SHIRETOKO("Firefox (Shiretoko)", Pattern.compile("Firefox \\(Shiretoko\\)")),
/**
* Fireweb Navigator
*/
FIREWEB_NAVIGATOR("Fireweb Navigator", Pattern.compile("Fireweb Navigator")),
/**
* Flatland Industries Web Spider
*/
FLATLAND_INDUSTRIES_WEB_SPIDER("Flatland Industries Web Spider", Pattern.compile("Flatland Industries Web Spider")),
/**
* flatlandbot
*/
FLATLANDBOT("flatlandbot", Pattern.compile("flatlandbot")),
/**
* FlightDeckReportsBot
*/
FLIGHTDECKREPORTSBOT("FlightDeckReportsBot", Pattern.compile("FlightDeckReportsBot")),
/**
* FlipboardProxy
*/
FLIPBOARDPROXY("FlipboardProxy", Pattern.compile("FlipboardProxy")),
/**
* Flock
*/
FLOCK("Flock", Pattern.compile("Flock")),
/**
* Flocke bot
*/
FLOCKE_BOT("Flocke bot", Pattern.compile("Flocke bot")),
/**
* Fluid
*/
FLUID("Fluid", Pattern.compile("Fluid")),
/**
* FlyCast
*/
FLYCAST("FlyCast", Pattern.compile("FlyCast")),
/**
* FollowSite Bot
*/
FOLLOWSITE_BOT("FollowSite Bot", Pattern.compile("FollowSite Bot")),
/**
* foobar2000
*/
FOOBAR2000("foobar2000", Pattern.compile("foobar2000")),
/**
* Fooooo_Web_Video_Crawl
*/
FOOOOO_WEB_VIDEO_CRAWL("Fooooo_Web_Video_Crawl", Pattern.compile("Fooooo_Web_Video_Crawl")),
/**
* Forschungsportal
*/
FORSCHUNGSPORTAL("Forschungsportal", Pattern.compile("Forschungsportal")),
/**
* Francis
*/
FRANCIS("Francis", Pattern.compile("Francis")),
/**
* Funambol Mozilla Sync Client
*/
FUNAMBOL_MOZILLA_SYNC_CLIENT("Funambol Mozilla Sync Client", Pattern.compile("Funambol Mozilla Sync Client")),
/**
* Funambol Outlook Sync Client
*/
FUNAMBOL_OUTLOOK_SYNC_CLIENT("Funambol Outlook Sync Client", Pattern.compile("Funambol Outlook Sync Client")),
/**
* FunnelBack
*/
FUNNELBACK("FunnelBack", Pattern.compile("FunnelBack")),
/**
* FurlBot
*/
FURLBOT("FurlBot", Pattern.compile("FurlBot")),
/**
* FyberSpider
*/
FYBERSPIDER("FyberSpider", Pattern.compile("FyberSpider")),
/**
* g2crawler
*/
G2CRAWLER("g2crawler", Pattern.compile("g2crawler")),
/**
* Gaisbot
*/
GAISBOT("Gaisbot", Pattern.compile("Gaisbot")),
/**
* Galeon
*/
GALEON("Galeon", Pattern.compile("Galeon")),
/**
* Gallent Search Spider
*/
GALLENT_SEARCH_SPIDER("Gallent Search Spider", Pattern.compile("Gallent Search Spider")),
/**
* GarlikCrawler
*/
GARLIKCRAWLER("GarlikCrawler", Pattern.compile("GarlikCrawler")),
/**
* GcMail
*/
GCMAIL("GcMail", Pattern.compile("GcMail")),
/**
* genieBot
*/
GENIEBOT("genieBot", Pattern.compile("genieBot")),
/**
* GeonaBot
*/
GEONABOT("GeonaBot", Pattern.compile("GeonaBot")),
/**
* GetRight
*/
GETRIGHT("GetRight", Pattern.compile("GetRight")),
/**
* Giant/1.0
*/
GIANT("Giant", Pattern.compile("Giant/(\\d+(\\.\\d+)*)")),
/**
* Gigabot
*/
GIGABOT("Gigabot", Pattern.compile("Gigabot")),
/**
* GingerCrawler
*/
GINGERCRAWLER("GingerCrawler", Pattern.compile("GingerCrawler")),
/**
* Girafabot
*/
GIRAFABOT("Girafabot", Pattern.compile("Girafabot")),
/**
* GlobalMojo
*/
GLOBALMOJO("GlobalMojo", Pattern.compile("GlobalMojo")),
/**
* Gmail image proxy
*/
GMAIL_IMAGE_PROXY("Gmail image proxy", Pattern.compile("Gmail image proxy")),
/**
* GnomeVFS
*/
GNOMEVFS("GnomeVFS", Pattern.compile("GnomeVFS")),
/**
* GO Browser
*/
GO_BROWSER("GO Browser", Pattern.compile("GO Browser")),
/**
* GOFORITBOT
*/
GOFORITBOT("GOFORITBOT", Pattern.compile("GOFORITBOT")),
/**
* GoldenPod
*/
GOLDENPOD("GoldenPod", Pattern.compile("GoldenPod")),
/**
* GOM Player
*/
GOM_PLAYER("GOM Player", Pattern.compile("GOM Player")),
/**
* gonzo
*/
GONZO("gonzo", Pattern.compile("gonzo")),
/**
* Google App Engine
*/
GOOGLE_APP_ENGINE("Google App Engine", Pattern.compile("Google App Engine")),
/**
* Google Earth
*/
GOOGLE_EARTH("Google Earth", Pattern.compile("Google Earth")),
/**
* Google Friend Connect
*/
GOOGLE_FRIEND_CONNECT("Google Friend Connect", Pattern.compile("Google Friend Connect")),
/**
* Google Listen
*/
GOOGLE_LISTEN("Google Listen", Pattern.compile("Google Listen")),
/**
* Google Rich Snippets Testing Tool
*/
GOOGLE_RICH_SNIPPETS_TESTING_TOOL("Google Rich Snippets Testing Tool", Pattern.compile("Google Rich Snippets Testing Tool")),
/**
* Google Wireless Transcoder
*/
GOOGLE_WIRELESS_TRANSCODER("Google Wireless Transcoder", Pattern.compile("Google Wireless Transcoder")),
/**
* Googlebot
*/
GOOGLEBOT("Googlebot", Pattern.compile("Googlebot")),
/**
* Googlebot-Mobile
*/
GOOGLEBOT_MOBILE("Googlebot-Mobile", Pattern.compile("Googlebot-Mobile")),
/**
* gPodder
*/
GPODDER("gPodder", Pattern.compile("gPodder")),
/**
* GrapeshotCrawler
*/
GRAPESHOTCRAWLER("GrapeshotCrawler", Pattern.compile("GrapeshotCrawler")),
/**
* GreatNews
*/
GREATNEWS("GreatNews", Pattern.compile("GreatNews")),
/**
* GreenBrowser
*/
GREENBROWSER("GreenBrowser", Pattern.compile("GreenBrowser")),
/**
* Gregarius
*/
GREGARIUS("Gregarius", Pattern.compile("Gregarius")),
/**
* GSiteCrawler
*/
GSITECRAWLER("GSiteCrawler", Pattern.compile("GSiteCrawler")),
/**
* GStreamer
*/
GSTREAMER("GStreamer", Pattern.compile("GStreamer")),
/**
* GurujiBot
*/
GURUJIBOT("GurujiBot", Pattern.compile("GurujiBot")),
/**
* Hailoobot
*/
HAILOOBOT("Hailoobot", Pattern.compile("Hailoobot")),
/**
* HatenaScreenshot
*/
HATENASCREENSHOT("HatenaScreenshot", Pattern.compile("HatenaScreenshot")),
/**
* HeartRails_Capture
*/
HEARTRAILS_CAPTURE("HeartRails_Capture", Pattern.compile("HeartRailsBot")),
/**
* heritrix
*/
HERITRIX("heritrix", Pattern.compile("heritrix")),
/**
* HiddenMarket
*/
HIDDENMARKET("HiddenMarket", Pattern.compile("HiddenMarket")),
/**
* Holmes
*/
HOLMES("Holmes", Pattern.compile("Holmes")),
/**
* HolmesBot
*/
HOLMESBOT("HolmesBot", Pattern.compile("HolmesBot")),
/**
* HomeTags
*/
HOMETAGS("HomeTags", Pattern.compile("HomeTags")),
/**
* HooWWWer
*/
HOOWWWER("HooWWWer", Pattern.compile("HooWWWer")),
/**
* HostTracker.com
*/
HOSTTRACKER_COM("HostTracker", Pattern.compile("HostTracker")),
/**
* HotJava
*/
HOTJAVA("HotJava", Pattern.compile("HotJava")),
/**
* ht://Dig
*/
HT_DIG("ht://Dig", Pattern.compile("ht://Dig")),
/**
* HTML2JPG
*/
HTML2JPG("HTML2JPG", Pattern.compile("HTML2JPG")),
/**
* HTMLayout
*/
HTMLAYOUT("HTMLayout", Pattern.compile("HTMLayout")),
/**
* HTMLParser
*/
HTMLPARSER("HTMLParser", Pattern.compile("HTMLParser")),
/**
* HTTP nagios plugin
*/
HTTP_NAGIOS_PLUGIN("HTTP nagios plugin", Pattern.compile("HTTP nagios plugin")),
/**
* HTTP_Request2
*/
HTTP_REQUEST2("HTTP_Request2", Pattern.compile("HTTP_Request2")),
/**
* HTTrack
*/
HTTRACK("HTTrack", Pattern.compile("HTTrack")),
/**
* HuaweiSymantecSpider
*/
HUAWEISYMANTECSPIDER("HuaweiSymantecSpider", Pattern.compile("HuaweiSymantecSpider")),
/**
* Hv3
*/
HV3("Hv3", Pattern.compile("Hv3")),
/**
* Hydra Browser
*/
HYDRA_BROWSER("Hydra Browser", Pattern.compile("Hydra Browser")),
/**
* ia_archiver
*/
IA_ARCHIVER("ia_archiver", Pattern.compile("ia_archiver")),
/**
* iaskspider
*/
IASKSPIDER("iaskspider", Pattern.compile("iaskspider")),
/**
* IBrowse
*/
IBROWSE("IBrowse", Pattern.compile("IBrowse")),
/**
* iCab
*/
ICAB("iCab", Pattern.compile("iCab")),
/**
* iCatcher!
*/
ICATCHER("iCatcher!", Pattern.compile("iCatcher!")),
/**
* ICC-Crawler
*/
ICC_CRAWLER("ICC-Crawler", Pattern.compile("ICC-Crawler")),
/**
* ICE browser
*/
ICE_BROWSER("ICE browser", Pattern.compile("ICE browser")),
/**
* IceApe
*/
ICEAPE("IceApe", Pattern.compile("IceApe")),
/**
* IceCat
*/
ICECAT("IceCat", Pattern.compile("IceCat")),
/**
* IceDragon: A faster, more secure version of Firefox
*/
ICEDRAGON("IceDragon", Pattern.compile("IceDragon")),
/**
* IceWeasel
*/
ICEWEASEL("IceWeasel", Pattern.compile("IceWeasel")),
/**
* ICF_Site_Crawler
*/
ICF_SITE_CRAWLER("ICF_Site_Crawler", Pattern.compile("ICF_Site_Crawler")),
/**
* ichiro
*/
ICHIRO("ichiro", Pattern.compile("ichiro")),
/**
* iCjobs
*/
ICJOBS("iCjobs", Pattern.compile("iCjobs")),
/**
* Internet Explorer
*/
IE("IE", Pattern.compile("IE")),
/**
* Internet Explorer Mobile
*/
IE_MOBILE("IE Mobile", Pattern.compile("IE Mobile")),
/**
* Internet Explorer RSS reader
*/
IE_RSS_READER("IE RSS reader", Pattern.compile("IE RSS reader")),
/**
* iGetter
*/
IGETTER("iGetter", Pattern.compile("iGetter")),
/**
* iGooMap
*/
IGOOMAP("iGooMap", Pattern.compile("iGooMap")),
/**
* IlseBot
*/
ILSEBOT("IlseBot", Pattern.compile("IlseBot")),
/**
* IlTrovatore
*/
ILTROVATORE("IlTrovatore", Pattern.compile("IlTrovatore")),
/**
* IlTrovatore-Setaccio
*/
ILTROVATORE_SETACCIO("IlTrovatore-Setaccio", Pattern.compile("IlTrovatore-Setaccio")),
/**
* imbot
*/
IMBOT("imbot", Pattern.compile("imbot")),
/**
* Indy Library
*/
INDY_LIBRARY("Indy Library", Pattern.compile("Indy Library")),
/**
* Influencebot
*/
INFLUENCEBOT("Influencebot", Pattern.compile("Influencebot")),
/**
* InfociousBot
*/
INFOCIOUSBOT("InfociousBot", Pattern.compile("InfociousBot")),
/**
* Infohelfer
*/
INFOHELFER("Infohelfer", Pattern.compile("Infohelfer")),
/**
* InternetSeer
*/
INTERNETSEER("InternetSeer", Pattern.compile("InternetSeer")),
/**
* InternetSurfboard
*/
INTERNETSURFBOARD("InternetSurfboard", Pattern.compile("InternetSurfboard")),
/**
* Ipselonbot
*/
IPSELONBOT("Ipselonbot", Pattern.compile("Ipselonbot")),
/**
* iRider
*/
IRIDER("iRider", Pattern.compile("iRider")),
/**
* IRLbot
*/
IRLBOT("IRLbot", Pattern.compile("IRLbot")),
/**
* Iron
*/
IRON("Iron", Pattern.compile("Iron")),
/**
* iSiloX
*/
ISILOX("iSiloX", Pattern.compile("iSiloX")),
/**
* iSiloXC
*/
ISILOXC("iSiloXC", Pattern.compile("iSiloXC")),
/**
* iTunes
*/
ITUNES("iTunes", Pattern.compile("iTunes")),
/**
* iVideo
*/
IVIDEO("iVideo", Pattern.compile("iVideo")),
/**
* IXR lib
*/
IXR_LIB("IXR lib", Pattern.compile("IXR lib")),
/**
* JadynAve
*/
JADYNAVE("JadynAve", Pattern.compile("JadynAve")),
/**
* JadynAveBot
*/
JADYNAVEBOT("JadynAveBot", Pattern.compile("JadynAveBot")),
/**
* Jakarta Commons-HttpClient
*/
JAKARTA_COMMONS_HTTPCLIENT("Jakarta Commons-HttpClient", Pattern.compile("(Apache-HttpClient|Jakarta Commons-HttpClient)")),
/**
* Jambot
*/
JAMBOT("Jambot", Pattern.compile("Jambot")),
/**
* Jamcast
*/
JAMCAST("Jamcast", Pattern.compile("Jamcast")),
/**
* Jasmine
*/
JASMINE("Jasmine", Pattern.compile("Jasmine")),
/**
* Java
*/
JAVA("Java", Pattern.compile("Java")),
/**
* JikeSpider
*/
JIKESPIDER("JikeSpider", Pattern.compile("JikeSpider")),
/**
* Job Roboter Spider
*/
JOB_ROBOTER_SPIDER("Job Roboter Spider", Pattern.compile("Job Roboter Spider")),
/**
* JoBo
*/
JOBO("JoBo", Pattern.compile("JoBo")),
/**
* JS-Kit/Echo
*/
JS_KIT_ECHO("JS-Kit/Echo", Pattern.compile("JS-Kit/Echo")),
/**
* JUST-CRAWLER
*/
JUST_CRAWLER("JUST-CRAWLER", Pattern.compile("JUST-CRAWLER")),
/**
* Jyxobot
*/
JYXOBOT("Jyxobot", Pattern.compile("Jyxobot")),
/**
* K-Meleon
*/
K_MELEON("K-Meleon", Pattern.compile("K-Meleon")),
/**
* K-Ninja
*/
K_NINJA("K-Ninja", Pattern.compile("K-Ninja")),
/**
* Kakle Bot
*/
KAKLE_BOT("Kakle Bot", Pattern.compile("Kakle Bot")),
/**
* Kalooga
*/
KALOOGA("Kalooga", Pattern.compile("Kalooga")),
/**
* Kapiko
*/
KAPIKO("Kapiko", Pattern.compile("Kapiko")),
/**
* Karneval-Bot
*/
KARNEVAL_BOT("Karneval-Bot", Pattern.compile("Karneval-Bot")),
/**
* Kazehakase
*/
KAZEHAKASE("Kazehakase", Pattern.compile("Kazehakase")),
/**
* KeywenBot
*/
KEYWENBOT("KeywenBot", Pattern.compile("KeywenBot")),
/**
* KeywordDensityRobot
*/
KEYWORDDENSITYROBOT("KeywordDensityRobot", Pattern.compile("KeywordDensityRobot")),
/**
* Kindle Browser
*/
KINDLE_BROWSER("Kindle Browser", Pattern.compile("Kindle Browser")),
/**
* Kirix Strata
*/
KIRIX_STRATA("Kirix Strata", Pattern.compile("Kirix Strata")),
/**
* KKman
*/
KKMAN("KKman", Pattern.compile("KKman")),
/**
* Klondike
*/
KLONDIKE("Klondike", Pattern.compile("Klondike")),
/**
* Kongulo
*/
KONGULO("Kongulo", Pattern.compile("Kongulo")),
/**
* Konqueror
*/
KONQUEROR("Konqueror", Pattern.compile("Konqueror")),
/**
* KRetrieve
*/
KRETRIEVE("KRetrieve", Pattern.compile("KRetrieve")),
/**
* Krugle
*/
KRUGLE("Krugle", Pattern.compile("Krugle")),
/**
* ksibot
*/
KSIBOT("ksibot", Pattern.compile("ksibot")),
/**
* Kylo
*/
KYLO("Kylo", Pattern.compile("Kylo")),
/**
* L.webis
*/
L_WEBIS("L.webis", Pattern.compile("L.webis")),
/**
* LapozzBot
*/
LAPOZZBOT("LapozzBot", Pattern.compile("LapozzBot")),
/**
* Larbin
*/
LARBIN("Larbin", Pattern.compile("Larbin")),
/**
* LBrowser
*/
LBROWSER("LBrowser", Pattern.compile("LBrowser")),
/**
* LeechCraft
*/
LEECHCRAFT("LeechCraft", Pattern.compile("LeechCraft")),
/**
* LemurWebCrawler
*/
LEMURWEBCRAWLER("LemurWebCrawler", Pattern.compile("LemurWebCrawler")),
/**
* LexxeBot
*/
LEXXEBOT("LexxeBot", Pattern.compile("LexxeBot")),
/**
* LFTP
*/
LFTP("LFTP", Pattern.compile("LFTP")),
/**
* LG Web Browser
*/
LG_WEB_BROWSER("LG Web Browser", Pattern.compile("LG Web Browser")),
/**
* LibSoup
*/
LIBSOUP("LibSoup", Pattern.compile("LibSoup")),
/**
* libwww-perl
*/
LIBWWW_PERL("libwww-perl", Pattern.compile("libwww-perl")),
/**
* Liferea
*/
LIFEREA("Liferea", Pattern.compile("Liferea")),
/**
* Lijit
*/
LIJIT("Lijit", Pattern.compile("Lijit")),
/**
* LinguaBot
*/
LINGUABOT("LinguaBot", Pattern.compile("LinguaBot")),
/**
* Linguee Bot
*/
LINGUEE_BOT("Linguee Bot", Pattern.compile("Linguee Bot")),
/**
* Link Valet Online
*/
LINK_VALET_ONLINE("Link Valet Online", Pattern.compile("Link Valet Online")),
/**
* LinkAider
*/
LINKAIDER("LinkAider", Pattern.compile("LinkAider")),
/**
* LinkbackPlugin for Laconica
*/
LINKBACKPLUGIN_FOR_LACONICA("LinkbackPlugin for Laconica", Pattern.compile("LinkbackPlugin for Laconica")),
/**
* LinkChecker
*/
LINKCHECKER("LinkChecker", Pattern.compile("LinkChecker")),
/**
* linkdex.com
*/
LINKDEX_COM("linkdex.com", Pattern.compile("linkdex.com")),
/**
* LinkExaminer
*/
LINKEXAMINER("LinkExaminer", Pattern.compile("LinkExaminer")),
/**
* Links
*/
LINKS("Links", Pattern.compile("Links")),
/**
* linksmanager_bot
*/
LINKSMANAGER_BOT("linksmanager_bot", Pattern.compile("linksmanager_bot")),
/**
* LinkWalker
*/
LINKWALKER("LinkWalker", Pattern.compile("LinkWalker")),
/**
* livedoor ScreenShot
*/
LIVEDOOR_SCREENSHOT("livedoor ScreenShot", Pattern.compile("livedoor ScreenShot")),
/**
* lmspider
*/
LMSPIDER("lmspider", Pattern.compile("lmspider")),
/**
* Lobo
*/
LOBO("Lobo", Pattern.compile("Lobo")),
/**
* lolifox
*/
LOLIFOX("lolifox", Pattern.compile("lolifox")),
/**
* Lotus Notes
*/
LOTUS_NOTES("Lotus Notes", Pattern.compile("Lotus Notes")),
/**
* Lunascape
*/
LUNASCAPE("Lunascape", Pattern.compile("Lunascape")),
/**
* LWP::Simple
*/
LWP_SIMPLE("LWP::Simple", Pattern.compile("LWP::Simple")),
/**
* Lynx
*/
LYNX("Lynx", Pattern.compile("Lynx")),
/**
* Madfox
*/
MADFOX("Madfox", Pattern.compile("Madfox")),
/**
* magpie-crawler
*/
MAGPIE_CRAWLER("magpie-crawler", Pattern.compile("magpie-crawler")),
/**
* MagpieRSS
*/
MAGPIERSS("MagpieRSS", Pattern.compile("MagpieRSS")),
/**
* Mahiti Crawler
*/
MAHITI_CRAWLER("Mahiti Crawler", Pattern.compile("Mahiti Crawler")),
/**
* Mail.RU
*/
MAIL_RU("Mail.Ru", Pattern.compile("Mail.RU(_Bot)?(/\\d+(\\.\\d+)*)?", Pattern.CASE_INSENSITIVE)),
/**
* Maple browser
*/
MAPLE_BROWSER("Maple browser", Pattern.compile("Maple browser")),
/**
* Maxthon
*/
MAXTHON("Maxthon", Pattern.compile("Maxthon")),
/**
* Mechanize
*/
MECHANIZE("Mechanize", Pattern.compile("Mechanize")),
/**
* Megatext
*/
MEGATEXT("Megatext", Pattern.compile("Megatext")),
/**
* MetaGeneratorCrawler
*/
METAGENERATORCRAWLER("MetaGeneratorCrawler", Pattern.compile("MetaGeneratorCrawler")),
/**
* MetaJobBot
*/
METAJOBBOT("MetaJobBot", Pattern.compile("MetaJobBot")),
/**
* MetamojiCrawler
*/
METAMOJICRAWLER("MetamojiCrawler", Pattern.compile("MetamojiCrawler")),
/**
* Metaspinner/0.01
*/
METASPINNER("Metaspinner", Pattern.compile("Metaspinner(/\\d+(\\.\\d+)*)?")),
/**
* MetaTagRobot
*/
METATAGROBOT("MetaTagRobot", Pattern.compile("MetaTagRobot")),
/**
* MetaURI
*/
METAURI("MetaURI", Pattern.compile("MetaURI")),
/**
* MIA Bot
*/
MIA_BOT("MIA Bot", Pattern.compile("MIA Bot")),
/**
* MicroB
*/
MICROB("MicroB", Pattern.compile("MicroB")),
/**
* Microsoft Edge
*/
MICROSOFT_EDGE("Microsoft Edge", Pattern.compile("Microsoft Edge")),
/**
* Microsoft Edge
*/
MICROSOFT_EDGE_MOBILE("Microsoft Edge mobile", Pattern.compile("Microsoft Edge mobile")),
/**
* Microsoft Office Existence Discovery
*/
MICROSOFT_OFFICE_EXISTENCE_DISCOVERY("Microsoft Office Existence Discovery", Pattern.compile("Microsoft Office Existence Discovery")),
/**
* Microsoft WebDAV client
*/
MICROSOFT_WEBDAV_CLIENT("Microsoft WebDAV client", Pattern.compile("Microsoft WebDAV client")),
/**
* Midori
*/
MIDORI("Midori", Pattern.compile("Midori")),
/**
* Mini Browser
*/
MINI_BROWSER("Mini Browser", Pattern.compile("Mini Browser")),
/**
* Minimo
*/
MINIMO("Minimo", Pattern.compile("Minimo")),
/**
* miniRank
*/
MINIRANK("miniRank", Pattern.compile("miniRank")),
/**
* Miro
*/
MIRO("Miro", Pattern.compile("Miro")),
/**
* MJ12bot
*/
MJ12BOT("MJ12bot", Pattern.compile("MJ12bot")),
/**
* MLBot
*/
MLBOT("MLBot", Pattern.compile("MLBot")),
/**
* MnoGoSearch
*/
MNOGOSEARCH("MnoGoSearch", Pattern.compile("MnoGoSearch")),
/**
* Moatbot
*/
MOATBOT("Moatbot", Pattern.compile("Moatbot")),
/**
* moba-crawler
*/
MOBA_CRAWLER("moba-crawler", Pattern.compile("moba-crawler")),
/**
* Mobile Firefox
*/
MOBILE_FIREFOX("Mobile Firefox", Pattern.compile("Firefox mobile")),
/**
* Mobile Safari
*/
MOBILE_SAFARI("Mobile Safari", Pattern.compile("Safari mobile")),
/**
* MojeekBot
*/
MOJEEKBOT("MojeekBot", Pattern.compile("MojeekBot")),
/**
* Motoricerca-Robots.txt-Checker
*/
MOTORICERCA_ROBOTS_TXT_CHECKER("Motoricerca-Robots.txt-Checker", Pattern.compile("Motoricerca-Robots.txt-Checker")),
/**
* Motorola Internet Browser
*/
MOTOROLA_INTERNET_BROWSER("Motorola Internet Browser", Pattern.compile("Motorola Internet Browser")),
/**
* mozDex
*/
MOZDEX("mozDex", Pattern.compile("mozDex")),
/**
* Mozilla
*/
MOZILLA("Mozilla", Pattern.compile("Mozilla")),
/**
* Mp3Bot
*/
MP3BOT("Mp3Bot", Pattern.compile("Mp3Bot")),
/**
* MPlayer
*/
MPLAYER("MPlayer", Pattern.compile("MPlayer")),
/**
* MPlayer2
*/
MPLAYER2("MPlayer2", Pattern.compile("MPlayer2")),
/**
* MQbot
*/
MQBOT("MQbot", Pattern.compile("MQbot")),
/**
* MSNBot
*/
MSNBOT("MSNBot", Pattern.compile("MSNBot")),
/**
* MSRBOT
*/
MSRBOT("MSRBOT", Pattern.compile("MSRBOT")),
/**
* muCommander
*/
MUCOMMANDER("muCommander", Pattern.compile("muCommander")),
/**
* Multi-Browser XP
*/
MULTI_BROWSER_XP("Multi-Browser XP", Pattern.compile("Multi-Browser XP")),
/**
* MultiCrawler
*/
MULTICRAWLER("MultiCrawler", Pattern.compile("MultiCrawler")),
/**
* Multipage Validator
*/
MULTIPAGE_VALIDATOR("Multipage Validator", Pattern.compile("Multipage Validator")),
/**
* MultiZilla
*/
MULTIZILLA("MultiZilla", Pattern.compile("MultiZilla")),
/**
* My Internet Browser
*/
MY_INTERNET_BROWSER("My Internet Browser", Pattern.compile("My Internet Browser")),
/**
* MyFamilyBot
*/
MYFAMILYBOT("MyFamilyBot", Pattern.compile("MyFamilyBot")),
/**
* Najdi.si
*/
NAJDI_SI("Najdi.si", Pattern.compile("Najdi.si")),
/**
* NaverBot
*/
NAVERBOT("NaverBot", Pattern.compile("NaverBot")),
/**
* navissobot
*/
NAVISSOBOT("navissobot", Pattern.compile("navissobot")),
/**
* NCSA Mosaic
*/
NCSA_MOSAIC("NCSA Mosaic", Pattern.compile("NCSA Mosaic")),
/**
* NerdByNature.Bot
*/
NERDBYNATURE_BOT("NerdByNature.Bot", Pattern.compile("NerdByNature.Bot")),
/**
* nestReader
*/
NESTREADER("nestReader", Pattern.compile("nestReader")),
/**
* NetBox
*/
NETBOX("NetBox", Pattern.compile("NetBox")),
/**
* NetCaptor
*/
NETCAPTOR("NetCaptor", Pattern.compile("NetCaptor")),
/**
* NetcraftSurveyAgent
*/
NETCRAFTSURVEYAGENT("NetcraftSurveyAgent", Pattern.compile("NetcraftSurveyAgent")),
/**
* netEstate Crawler
*/
NETESTATE_CRAWLER("netEstate Crawler", Pattern.compile("netEstate Crawler")),
/**
* NetFront
*/
NETFRONT("NetFront", Pattern.compile("NetFront")),
/**
* NetFront Mobile Content Viewer
*/
NETFRONT_MOBILE_CONTENT_VIEWER("NetFront Mobile Content Viewer", Pattern.compile("NetFront Mobile Content Viewer")),
/**
* Netintelligence LiveAssessment
*/
NETINTELLIGENCE_LIVEASSESSMENT("Netintelligence LiveAssessment", Pattern.compile("Netintelligence LiveAssessment")),
/**
* NetNewsWire
*/
NETNEWSWIRE("NetNewsWire", Pattern.compile("NetNewsWire")),
/**
* NetPositive
*/
NETPOSITIVE("NetPositive", Pattern.compile("NetPositive")),
/**
* NetResearchServer
*/
NETRESEARCHSERVER("NetResearchServer", Pattern.compile("NetResearchServer")),
/**
* Netscape Navigator
*/
NETSCAPE_NAVIGATOR("Netscape Navigator", Pattern.compile("Netscape Navigator")),
/**
* Netseer
*/
NETSEER("Netseer", Pattern.compile("Netseer")),
/**
* NetSurf
*/
NETSURF("NetSurf", Pattern.compile("NetSurf")),
/**
* Netvibes feed reader
*/
NETVIBES_FEED_READER("Netvibes feed reader", Pattern.compile("Netvibes feed reader")),
/**
* NetWhatCrawler
*/
NETWHATCRAWLER("NetWhatCrawler", Pattern.compile("NetWhatCrawler")),
/**
* Newsbeuter
*/
NEWSBEUTER("Newsbeuter", Pattern.compile("Newsbeuter")),
/**
* NewsBreak
*/
NEWSBREAK("NewsBreak", Pattern.compile("NewsBreak")),
/**
* NewsFox
*/
NEWSFOX("NewsFox", Pattern.compile("NewsFox")),
/**
* NewsGatorOnline
*/
NEWSGATORONLINE("NewsGatorOnline", Pattern.compile("NewsGatorOnline")),
/**
* NextGenSearchBot
*/
NEXTGENSEARCHBOT("NextGenSearchBot", Pattern.compile("NextGenSearchBot")),
/**
* nextthing.org
*/
NEXTTHING_ORG("nextthing.org", Pattern.compile("nextthing.org")),
/**
* NFReader
*/
NFREADER("NFReader", Pattern.compile("NFReader")),
/**
* NG
*/
NG("NG", Pattern.compile("NG")),
/**
* NG-Search
*/
NG_SEARCH("NG-Search", Pattern.compile("NG-Search")),
/**
* Nigma.ru
*/
NIGMA_RU("Nigma.ru", Pattern.compile("Nigma.ru")),
/**
* NimbleCrawler
*/
NIMBLECRAWLER("NimbleCrawler", Pattern.compile("NimbleCrawler")),
/**
* NineSky
*/
NINESKY("NineSky", Pattern.compile("NineSky")),
/**
* Nintendo Browser
*/
NINTENDO("Nintendo Browser", Pattern.compile("Nintendo Browser")),
/**
* nodestackbot
*/
NODESTACKBOT("nodestackbot", Pattern.compile("nodestackbot")),
/**
* Nokia SyncML Client
*/
NOKIA_SYNCML_CLIENT("Nokia SyncML Client", Pattern.compile("Nokia SyncML Client")),
/**
* Nokia Web Browser
*/
NOKIA_WEB_BROWSER("Nokia Web Browser", Pattern.compile("Nokia Web Browser")),
/**
* Novell BorderManager
*/
NOVELL_BORDERMANAGER("Novell BorderManager", Pattern.compile("Novell BorderManager")),
/**
* noyona
*/
NOYONA("noyona", Pattern.compile("noyona")),
/**
* NPBot
*/
NPBOT("NPBot", Pattern.compile("NPBot")),
/**
* Nuhk
*/
NUHK("Nuhk", Pattern.compile("Nuhk")),
/**
* NuSearch Spider
*/
NUSEARCH_SPIDER("NuSearch Spider", Pattern.compile("NuSearch Spider")),
/**
* Nutch
*/
NUTCH("Nutch", Pattern.compile("Nutch")),
/**
* nworm
*/
NWORM("nworm", Pattern.compile("nworm")),
/**
* Nymesis
*/
NYMESIS("Nymesis", Pattern.compile("Nymesis")),
/**
* Obigo
*/
OBIGO("Obigo", Pattern.compile("Obigo")),
/**
* oBot
*/
OBOT("oBot", Pattern.compile("oBot")),
/**
* Ocelli
*/
OCELLI("Ocelli", Pattern.compile("Ocelli")),
/**
* Off By One
*/
OFF_BY_ONE("Off By One", Pattern.compile("Off By One")),
/**
* Offline Explorer
*/
OFFLINE_EXPLORER("Offline Explorer", Pattern.compile("Offline Explorer")),
/**
* Omea Reader
*/
OMEA_READER("Omea Reader", Pattern.compile("Omea Reader")),
/**
* OmniExplorer_Bot
*/
OMNIEXPLORER_BOT("OmniExplorer_Bot", Pattern.compile("OmniExplorer_Bot")),
/**
* OmniWeb
*/
OMNIWEB("OmniWeb", Pattern.compile("OmniWeb")),
/**
* OnetSzukaj
*/
ONETSZUKAJ("OnetSzukaj", Pattern.compile("OnetSzukaj")),
/**
* Openbot
*/
OPENBOT("Openbot", Pattern.compile("Openbot")),
/**
* OpenCalaisSemanticProxy
*/
OPENCALAISSEMANTICPROXY("OpenCalaisSemanticProxy", Pattern.compile("OpenCalaisSemanticProxy")),
/**
* OpenindexSpider
*/
OPENINDEXSPIDER("OpenindexSpider", Pattern.compile("OpenindexSpider")),
/**
* Openwave Mobile Browser
*/
OPENWAVE_MOBILE_BROWSER("Openwave Mobile Browser", Pattern.compile("Openwave Mobile Browser")),
/**
* Opera
*/
OPERA("Opera", Pattern.compile("Opera")),
/**
* Opera Mini
*/
OPERA_MINI("Opera Mini", Pattern.compile("Opera Mini")),
/**
* Opera Mobile
*/
OPERA_MOBILE("Opera Mobile", Pattern.compile("Opera Mobile")),
/**
* Orbiter
*/
ORBITER("Orbiter", Pattern.compile("Orbiter")),
/**
* Orca
*/
ORCA("Orca", Pattern.compile("Orca")),
/**
* Oregano
*/
OREGANO("Oregano", Pattern.compile("Oregano")),
/**
* OrgbyBot
*/
ORGBYBOT("OrgbyBot", Pattern.compile("OrgbyBot")),
/**
* OsObot
*/
OSOBOT("OsObot", Pattern.compile("OsObot")),
/**
* Outlook 2007
*/
OUTLOOK_2007("Outlook 2007", Pattern.compile("Outlook 2007")),
/**
* Outlook 2010
*/
OUTLOOK_2010("Outlook 2010", Pattern.compile("Outlook 2010")),
/**
* Outlook 2013
*/
OUTLOOK_2013("Outlook 2013", Pattern.compile("Outlook 2013")),
/**
* OWB
*/
OWB("OWB", Pattern.compile("OWB")),
/**
* owsBot
*/
OWSBOT("owsBot", Pattern.compile("owsBot")),
/**
* P3P Validator
*/
P3P_VALIDATOR("P3P Validator", Pattern.compile("P3P Validator")),
/**
* page_verifier
*/
PAGE_VERIFIER("page_verifier", Pattern.compile("page_verifier")),
/**
* Page2RSS
*/
PAGE2RSS("Page2RSS", Pattern.compile("Page2RSS")),
/**
* PageBitesHyperBot
*/
PAGEBITESHYPERBOT("PageBitesHyperBot", Pattern.compile("PageBitesHyperBot")),
/**
* PagePeeker
*/
PAGEPEEKER("PagePeeker", Pattern.compile("PagePeeker")),
/**
* Pale Moon
*/
PALE_MOON("Pale Moon", Pattern.compile("Pale Moon")),
/**
* Palm Pre web browser
*/
PALM_PRE_WEB_BROWSER("Palm Pre web browser", Pattern.compile("Palm Pre web browser")),
/**
* Panscient web crawler
*/
PANSCIENT_WEB_CRAWLER("panscient.com", Pattern.compile("panscient.com")),
/**
* Paparazzi!
*/
PAPARAZZI("Paparazzi!", Pattern.compile("Paparazzi!")),
/**
* PaperLiBot
*/
PAPERLIBOT("PaperLiBot", Pattern.compile("PaperLiBot")),
/**
* ParchBot
*/
PARCHBOT("ParchBot", Pattern.compile("ParchBot")),
/**
* Patriott
*/
PATRIOTT("Patriott", Pattern.compile("Patriott")),
/**
* Pattern is a web mining module for the Python programming language.
*/
PATTERN("Pattern", Pattern.compile("Pattern")),
/**
* PEAR HTTP_Request
*/
PEAR_HTTP_REQUEST("PEAR HTTP_Request", Pattern.compile("PEAR HTTP_Request")),
/**
* Peew
*/
PEEW("Peew", Pattern.compile("Peew")),
/**
* percbotspider
*/
PERCBOTSPIDER("percbotspider", Pattern.compile("percbotspider")),
/**
* Phaseout
*/
PHASEOUT("Phaseout", Pattern.compile("Phaseout")),
/**
* Phoenix (old name for Firefox)
*/
PHOENIX("Phoenix (old name for Firefox)", Pattern.compile("Phoenix \\(old name for Firefox\\)")),
/**
* PHP
*/
PHP("PHP", Pattern.compile("PHP")),
/**
* PHP link checker
*/
PHP_LINK_CHECKER("PHP link checker", Pattern.compile("PHP link checker")),
/**
* PHP OpenID library
*/
PHP_OPENID_LIBRARY("PHP OpenID library", Pattern.compile("PHP OpenID library")),
/**
* PHPcrawl
*/
PHPCRAWL("PHPcrawl", Pattern.compile("PHPcrawl")),
/**
* pingdom.com_bot
*/
PINGDOM_COM_BOT("pingdom.com_bot", Pattern.compile("pingdom.com_bot")),
/**
* Pixray-Seeker
*/
PIXRAY_SEEKER("Pixray-Seeker", Pattern.compile("Pixray-Seeker")),
/**
* Plex Media Center
*/
PLEX_MEDIA_CENTER("Plex Media Center", Pattern.compile("Plex Media Center")),
/**
* Plukkie
*/
PLUKKIE("Plukkie", Pattern.compile("Plukkie")),
/**
* Pocket Tunes
*/
POCKET_TUNES("Pocket Tunes", Pattern.compile("Pocket Tunes")),
/**
* PocoMail
*/
POCOMAIL("PocoMail", Pattern.compile("PocoMail")),
/**
* Podkicker
*/
PODKICKER("Podkicker", Pattern.compile("Podkicker")),
/**
* POE-Component-Client-HTTP
*/
POE_COMPONENT_CLIENT_HTTP("POE-Component-Client-HTTP", Pattern.compile("POE-Component-Client-HTTP")),
/**
* Pogodak.co.yu
*/
POGODAK_CO_YU("Pogodak.co.yu", Pattern.compile("Pogodak.co.yu")),
/**
* Polaris
*/
POLARIS("Polaris", Pattern.compile("Polaris")),
/**
* polixea.de
*/
POLIXEA_DE("polixea.de", Pattern.compile("polixea.de")),
/**
* Pompos
*/
POMPOS("Pompos", Pattern.compile("Pompos")),
/**
* Postbox
*/
POSTBOX("Postbox", Pattern.compile("Postbox")),
/**
* posterus
*/
POSTERUS("posterus", Pattern.compile("posterus")),
/**
* PostPost
*/
POSTPOST("PostPost", Pattern.compile("PostPost")),
/**
* Powermarks
*/
POWERMARKS("Powermarks", Pattern.compile("Powermarks")),
/**
* Prism
*/
PRISM("Prism", Pattern.compile("Prism")),
/**
* ProCogBot
*/
PROCOGBOT("ProCogBot", Pattern.compile("ProCogBot")),
/**
* proximic
*/
PROXIMIC("proximic", Pattern.compile("proximic")),
/**
* PRTG Network Monitor
*/
PRTG_NETWORK_MONITOR("PRTG Network Monitor", Pattern.compile("PRTG Network Monitor")),
/**
* PS Vita browser
*/
PS_VITA_BROWSER("PS Vita browser", Pattern.compile("PS Vita browser")),
/**
* psbot
*/
PSBOT("psbot", Pattern.compile("psbot")),
/**
* ptd-crawler
*/
PTD_CRAWLER("ptd-crawler", Pattern.compile("ptd-crawler")),
/**
* Public Radio Player
*/
PUBLIC_RADIO_PLAYER("Public Radio Player", Pattern.compile("Public Radio Player")),
/**
* PycURL
*/
PYCURL("PycURL", Pattern.compile("PycURL")),
/**
* Python-requests
*/
PYTHON_REQUESTS("Python-requests", Pattern.compile("Python-requests")),
/**
* Python-urllib
*/
PYTHON_URLLIB("Python-urllib", Pattern.compile("Python-urllib")),
/**
* Python-webchecker
*/
PYTHON_WEBCHECKER("Python-webchecker", Pattern.compile("Python-webchecker")),
/**
* Qirina Hurdler
*/
QIRINA_HURDLER("Qirina Hurdler", Pattern.compile("Qirina Hurdler")),
/**
* QQbrowser
*/
QQBROWSER("QQbrowser", Pattern.compile("QQbrowser")),
/**
* Qseero
*/
QSEERO("Qseero", Pattern.compile("Qseero")),
/**
* QtWeb
*/
QTWEB("QtWeb", Pattern.compile("QtWeb")),
/**
* Qualidator.com Bot
*/
QUALIDATOR_COM_BOT("Qualidator.com Bot", Pattern.compile("Qualidator.com Bot")),
/**
* Quantcastbot
*/
QUANTCASTBOT("Quantcastbot", Pattern.compile("Quantcastbot")),
/**
* quickobot
*/
QUICKOBOT("quickobot", Pattern.compile("quickobot")),
/**
* QuickTime
*/
QUICKTIME("QuickTime", Pattern.compile("QuickTime")),
/**
* QupZilla
*/
QUPZILLA("QupZilla", Pattern.compile("QupZilla")),
/**
* R6 bot
*/
R6_BOT("R6 bot", Pattern.compile("R6 bot")),
/**
* RADaR-Bot
*/
RADAR_BOT("RADaR-Bot", Pattern.compile("RADaR-Bot")),
/**
* Radio Downloader
*/
RADIO_DOWNLOADER("Radio Downloader", Pattern.compile("Radio Downloader")),
/**
* RankurBot
*/
RANKURBOT("RankurBot", Pattern.compile("RankurBot")),
/**
* RedBot
*/
REDBOT("RedBot", Pattern.compile("RedBot")),
/**
* Reeder
*/
REEDER("Reeder", Pattern.compile("Reeder")),
/**
* Rekonq
*/
REKONQ("Rekonq", Pattern.compile("Rekonq")),
/**
* REL Link Checker Lite
*/
REL_LINK_CHECKER_LITE("REL Link Checker Lite", Pattern.compile("REL Link Checker Lite")),
/**
* retawq
*/
RETAWQ("retawq", Pattern.compile("retawq")),
/**
* Robo Crawler
*/
ROBO_CRAWLER("Robo Crawler", Pattern.compile("Robo Crawler")),
/**
* Robots_Tester
*/
ROBOTS_TESTER("Robots_Tester", Pattern.compile("Robots_Tester")),
/**
* Robozilla
*/
ROBOZILLA("Robozilla", Pattern.compile("Robozilla")),
/**
* RockMelt
*/
ROCKMELT("RockMelt", Pattern.compile("RockMelt")),
/**
* ROME library
*/
ROME_LIBRARY("ROME library", Pattern.compile("ROME library")),
/**
* Ronzoobot
*/
RONZOOBOT("Ronzoobot", Pattern.compile("Ronzoobot")),
/**
* Rss Bandit
*/
RSS_BANDIT("Rss Bandit", Pattern.compile("Rss Bandit")),
/**
* RSS Menu
*/
RSS_MENU("RSS Menu", Pattern.compile("RSS Menu")),
/**
* RSS Popper
*/
RSS_POPPER("RSS Popper", Pattern.compile("RSS Popper")),
/**
* RSS Radio
*/
RSS_RADIO("RSS Radio", Pattern.compile("RSS Radio")),
/**
* RSSMicro.com RSS/Atom Feed Robot
*/
RSSMICRO_COM("RSSMicro.com RSS/Atom Feed Robot", Pattern.compile("RSSMicro.com RSS/Atom Feed Robot")),
/**
* RSSOwl
*/
RSSOWL("RSSOwl", Pattern.compile("RSSOwl")),
/**
* Ruky-Roboter
*/
RUKY_ROBOTER("Ruky-Roboter", Pattern.compile("Ruky-Roboter")),
/**
* Ryouko
*/
RYOUKO("Ryouko", Pattern.compile("Ryouko")),
/**
* RyzeCrawler
*/
RYZECRAWLER("RyzeCrawler", Pattern.compile("RyzeCrawler")),
/**
* SaaYaa Explorer
*/
SAAYAA_EXPLORER("SaaYaa Explorer", Pattern.compile("SaaYaa Explorer")),
/**
* Safari
*/
SAFARI("Safari", Pattern.compile("Safari")),
/**
* Safari RSS reader
*/
SAFARI_RSS_READER("Safari RSS reader", Pattern.compile("Safari RSS reader")),
/**
* Sage
*/
SAGE("Sage", Pattern.compile("Sage")),
/**
* SAI Crawler
*/
SAI_CRAWLER("SAI Crawler", Pattern.compile("SAI Crawler")),
/**
* SanszBot
*/
SANSZBOT("SanszBot", Pattern.compile("SanszBot")),
/**
* SBIder
*/
SBIDER("SBIder", Pattern.compile("SBIder")),
/**
* SBSearch
*/
SBSEARCH("SBSearch", Pattern.compile("SBSearch")),
/**
* Scarlett
*/
SCARLETT("Scarlett", Pattern.compile("Scarlett")),
/**
* schibstedsokbot
*/
SCHIBSTEDSOKBOT("schibstedsokbot", Pattern.compile("schibstedsokbot")),
/**
* ScollSpider
*/
SCOLLSPIDER("ScollSpider", Pattern.compile("ScollSpider")),
/**
* Scooter
*/
SCOOTER("Scooter", Pattern.compile("Scooter")),
/**
* ScoutJet
*/
SCOUTJET("ScoutJet", Pattern.compile("ScoutJet")),
/**
* SeaMonkey
*/
SEAMONKEY("SeaMonkey", Pattern.compile("SeaMonkey")),
/**
* Search Engine World Robots.txt Validator
*/
SEARCH_ENGINE_WORLD_ROBOTS_TXT_VALIDATOR("Search Engine World Robots.txt Validator", Pattern
.compile("Search Engine World Robots.txt Validator")),
/**
* search.KumKie.com
*/
SEARCH_KUMKIE_COM("search.KumKie.com", Pattern.compile("search.KumKie.com")),
/**
* Search17Bot
*/
SEARCH17BOT("Search17Bot", Pattern.compile("Search17Bot")),
/**
* Semager
*/
SEMAGER("Semager", Pattern.compile("Semager")),
/**
* SEMC Browser
*/
SEMC_BROWSER("SEMC Browser", Pattern.compile("SEMC Browser")),
/**
* SemrushBot
*/
SEMRUSHBOT("SemrushBot", Pattern.compile("SemrushBot")),
/**
* Sensis Web Crawler
*/
SENSIS_WEB_CRAWLER("Sensis Web Crawler", Pattern.compile("Sensis Web Crawler")),
/**
* SEODat
*/
SEODAT("SEODat", Pattern.compile("SEODat")),
/**
* SEOENGBot
*/
SEOENGBOT("SEOENGBot", Pattern.compile("SEOENGBot")),
/**
* SEOkicks-Robot
*/
SEOKICKS_ROBOT("SEOkicks-Robot", Pattern.compile("SEOkicks-Robot")),
/**
* Setoozbot
*/
SETOOZBOT("Setoozbot", Pattern.compile("Setoozbot")),
/**
* Seznam RSS reader
*/
SEZNAM_RSS_READER("Seznam RSS reader", Pattern.compile("Seznam RSS reader")),
/**
* Seznam WAP Proxy
*/
SEZNAM_WAP_PROXY("Seznam WAP Proxy", Pattern.compile("Seznam WAP Proxy")),
/**
* SeznamBot
*/
SEZNAMBOT("SeznamBot", Pattern.compile("SeznamBot")),
/**
* SharpReader
*/
SHARPREADER("SharpReader", Pattern.compile("SharpReader")),
/**
* Shelob
*/
SHELOB("Shelob", Pattern.compile("Shelob")),
/**
* Shiira
*/
SHIIRA("Shiira", Pattern.compile("Shiira")),
/**
* Shim-Crawler
*/
SHIM_CRAWLER("Shim-Crawler", Pattern.compile("Shim-Crawler")),
/**
* ShopWiki
*/
SHOPWIKI("ShopWiki", Pattern.compile("ShopWiki")),
/**
* ShowyouBot
*/
SHOWYOUBOT("ShowyouBot", Pattern.compile("ShowyouBot")),
/**
* Shredder
*/
SHREDDER("Shredder", Pattern.compile("Shredder")),
/**
* Siege
*/
SIEGE("Siege", Pattern.compile("Siege")),
/**
* silk
*/
SILK("Silk", Pattern.compile("silk", Pattern.CASE_INSENSITIVE)),
/**
* SimplePie
*/
SIMPLEPIE("SimplePie", Pattern.compile("SimplePie")),
/**
* Sirketce/Busiverse
*/
SIRKETCE_BUSIVERSE("Sirketce/Busiverse", Pattern.compile("Sirketce/Busiverse")),
/**
* sistrix
*/
SISTRIX("sistrix", Pattern.compile("sistrix")),
/**
* Sitedomain-Bot
*/
SITEDOMAIN_BOT("Sitedomain-Bot", Pattern.compile("Sitedomain-Bot")),
/**
* SiteKiosk
*/
SITEKIOSK("SiteKiosk", Pattern.compile("SiteKiosk")),
/**
* SiteSucker
*/
SITESUCKER("SiteSucker", Pattern.compile("SiteSucker")),
/**
* SkipStone
*/
SKIPSTONE("SkipStone", Pattern.compile("SkipStone")),
/**
* SkreemRBot
*/
SKREEMRBOT("SkreemRBot", Pattern.compile("SkreemRBot")),
/**
* Skyfire
*/
SKYFIRE("Skyfire", Pattern.compile("Skyfire")),
/**
* Sleipnir
*/
SLEIPNIR("Sleipnir", Pattern.compile("Sleipnir")),
/**
* SlimBoat
*/
SLIMBOAT("SlimBoat", Pattern.compile("SlimBoat")),
/**
* SlimBrowser
*/
SLIMBROWSER("SlimBrowser", Pattern.compile("SlimBrowser")),
/**
* smart.apnoti.com Robot
*/
SMART_APNOTI_COM_ROBOT("smart.apnoti.com Robot", Pattern.compile("smart.apnoti.com Robot")),
/**
* snap.com
*/
SNAP_COM("snap.com", Pattern.compile("snap.com")),
/**
* SnapBot
*/
SNAPBOT("SnapBot", Pattern.compile("SnapBot")),
/**
* Snappy
*/
SNAPPY("Snappy", Pattern.compile("Snappy")),
/**
* SniffRSS
*/
SNIFFRSS("SniffRSS", Pattern.compile("SniffRSS")),
/**
* Snoopy
*/
SNOOPY("Snoopy", Pattern.compile("Snoopy")),
/**
* Sogou
*/
SOGOU("Sogou", Pattern.compile("Sogou")),
/**
* Sogou Explorer
*/
SOGOU_EXPLORER("Sogou Explorer", Pattern.compile("Sogou Explorer")),
/**
* sogou spider
*/
SOGOU_SPIDER("sogou spider", Pattern.compile("sogou spider")),
/**
* Songbird
*/
SONGBIRD("Songbird", Pattern.compile("Songbird")),
/**
* Sosospider
*/
SOSOSPIDER("Sosospider", Pattern.compile("Sosospider")),
/**
* Sparrow
*/
SPARROW("Sparrow", Pattern.compile("Sparrow")),
/**
* spbot
*/
SPBOT("spbot", Pattern.compile("spbot")),
/**
* Speedy
*/
SPEEDY("Speedy Spider", Pattern.compile("Speedy Spider")),
/**
* Spicebird
*/
SPICEBIRD("Spicebird", Pattern.compile("Spicebird")),
/**
* SpiderLing
*/
SPIDERLING("SpiderLing", Pattern.compile("SpiderLing")),
/**
* Spinn3r
*/
SPINN3R("Spinn3r", Pattern.compile("Spinn3r")),
/**
* Spock Crawler
*/
SPOCK_CRAWLER("Spock Crawler", Pattern.compile("Spock Crawler")),
/**
* SpokeSpider
*/
SPOKESPIDER("SpokeSpider", Pattern.compile("SpokeSpider")),
/**
* Sproose
*/
SPROOSE("Sproose", Pattern.compile("Sproose")),
/**
* SrevBot
*/
SREVBOT("SrevBot", Pattern.compile("SrevBot")),
/**
* SSLBot
*/
SSLBOT("SSLBot", Pattern.compile("SSLBot")),
/**
* StackRambler
*/
STACKRAMBLER("StackRambler", Pattern.compile("StackRambler")),
/**
* Stainless
*/
STAINLESS("Stainless", Pattern.compile("Stainless")),
/**
* StatoolsBot
*/
STATOOLSBOT("StatoolsBot", Pattern.compile("StatoolsBot")),
/**
* Steeler
*/
STEELER("Steeler", Pattern.compile("Steeler")),
/**
* Strokebot
*/
STROKEBOT("Strokebot", Pattern.compile("Strokebot")),
/**
* SubStream
*/
SUBSTREAM("SubStream", Pattern.compile("SubStream")),
/**
* suggybot
*/
SUGGYBOT("suggybot", Pattern.compile("suggybot")),
/**
* Summer
*/
SUMMER("Summer", Pattern.compile("Summer")),
/**
* Sundance
*/
SUNDANCE("Sundance", Pattern.compile("Sundance")),
/**
* Sundial
*/
SUNDIAL("Sundial", Pattern.compile("Sundial")),
/**
* Sunrise
*/
SUNRISE("Sunrise", Pattern.compile("Sunrise")),
/**
* SuperBot
*/
SUPERBOT("SuperBot", Pattern.compile("SuperBot")),
/**
* Surf
*/
SURF("Surf", Pattern.compile("Surf")),
/**
* Surphace Scout
*/
SURPHACE_SCOUT("Surphace Scout", Pattern.compile("Surphace Scout")),
/**
* SurveyBot
*/
SURVEYBOT("SurveyBot", Pattern.compile("SurveyBot")),
/**
* SWEBot
*/
SWEBOT("SWEBot", Pattern.compile("SWEBot")),
/**
* Swiftfox
*/
SWIFTFOX("Swiftfox", Pattern.compile("Swiftfox")),
/**
* Swiftweasel
*/
SWIFTWEASEL("Swiftweasel", Pattern.compile("Swiftweasel")),
/**
* SygolBot
*/
SYGOLBOT("SygolBot", Pattern.compile("SygolBot")),
/**
* SynooBot
*/
SYNOOBOT("SynooBot", Pattern.compile("SynooBot")),
/**
* Szukacz
*/
SZUKACZ("Szukacz", Pattern.compile("Szukacz")),
/**
* Szukankobot
*/
SZUKANKOBOT("Szukankobot", Pattern.compile("Szukankobot")),
/**
* Tagoobot
*/
TAGOOBOT("Tagoobot", Pattern.compile("Tagoobot")),
/**
* taptubot
*/
TAPTUBOT("taptubot", Pattern.compile("taptubot")),
/**
* Tear
*/
TEAR("Tear", Pattern.compile("Tear")),
/**
* TeaShark
*/
TEASHARK("TeaShark", Pattern.compile("TeaShark")),
/**
* Technoratibot
*/
TECHNORATIBOT("Technoratibot", Pattern.compile("Technoratibot")),
/**
* Teleport Pro
*/
TELEPORT_PRO("Teleport Pro", Pattern.compile("Teleport Pro")),
/**
* TenFourFox
*/
TENFOURFOX("TenFourFox", Pattern.compile("TenFourFox")),
/**
* TeragramCrawler
*/
TERAGRAMCRAWLER("TeragramCrawler", Pattern.compile("TeragramCrawler")),
/**
* textractor
*/
TEXTRACTOR("textractor", Pattern.compile("textractor")),
/**
* The Bat!
*/
THE_BAT("The Bat!", Pattern.compile("The Bat!")),
/**
* Theophrastus
*/
THEOPHRASTUS("Theophrastus", Pattern.compile("Theophrastus")),
/**
* TheWorld Browser
*/
THEWORLD_BROWSER("TheWorld Browser", Pattern.compile("TheWorld Browser")),
/**
* Thumbnail.CZ robot
*/
THUMBNAIL_CZ_ROBOT("Thumbnail.CZ robot", Pattern.compile("Thumbnail.CZ robot")),
/**
* ThumbShots-Bot
*/
THUMBSHOTS_BOT("ThumbShots-Bot", Pattern.compile("ThumbShots-Bot")),
/**
* thumbshots-de-Bot
*/
THUMBSHOTS_DE_BOT("thumbshots-de-Bot", Pattern.compile("thumbshots-de-Bot")),
/**
* Thumbshots.ru
*/
THUMBSHOTS_RU("Thumbshots.ru", Pattern.compile("Thumbshots.ru")),
/**
* Thunderbird
*/
THUNDERBIRD("Thunderbird", Pattern.compile("Thunderbird")),
/**
* TinEye
*/
TINEYE("TinEye", Pattern.compile("TinEye")),
/**
* Tizen Browser
*/
TIZEN_BROWSER("Tizen Browser", Pattern.compile("Tizen Browser")),
/**
* Tjusig
*/
TJUSIG("Tjusig", Pattern.compile("Tjusig")),
/**
* Topicbot
*/
TOPICBOT("Topicbot", Pattern.compile("Topicbot")),
/**
* Toread-Crawler
*/
TOREAD_CRAWLER("Toread-Crawler", Pattern.compile("Toread-Crawler")),
/**
* Touche
*/
TOUCHE("Touche", Pattern.compile("Touche")),
/**
* trendictionbot
*/
TRENDICTIONBOT("trendictionbot", Pattern.compile("trendictionbot")),
/**
* Trileet NewsRoom
*/
TRILEET_NEWSROOM("Trileet NewsRoom", Pattern.compile("Trileet NewsRoom")),
/**
* TT Explorer
*/
TT_EXPLORER("TT Explorer", Pattern.compile("TT Explorer")),
/**
* Tulip Chain
*/
TULIP_CHAIN("Tulip Chain", Pattern.compile("Tulip Chain")),
/**
* TurnitinBot
*/
TURNITINBOT("TurnitinBot", Pattern.compile("TurnitinBot")),
/**
* TutorGigBot
*/
TUTORGIGBOT("TutorGigBot", Pattern.compile("TutorGigBot")),
/**
* TwengaBot
*/
TWENGABOT("TwengaBot", Pattern.compile("TwengaBot")),
/**
* Twiceler
*/
TWICELER("Twiceler", Pattern.compile("Twiceler")),
/**
* Twikle
*/
TWIKLE("Twikle", Pattern.compile("Twikle")),
/**
* Typhoeus
*/
TYPHOEUS("Typhoeus", Pattern.compile("Typhoeus")),
/**
* UASlinkChecker
*/
UASLINKCHECKER("UASlinkChecker", Pattern.compile("UASlinkChecker")),
/**
* UC Browser
*/
UC_BROWSER("UC Browser", Pattern.compile("UC Browser")),
/**
* UltraBrowser
*/
ULTRABROWSER("UltraBrowser ", Pattern.compile("UltraBrowser ")),
/**
* UnisterBot
*/
UNISTERBOT("UnisterBot", Pattern.compile("UnisterBot")),
/**
* UnwindFetchor
*/
UNWINDFETCHOR("UnwindFetchor", Pattern.compile("UnwindFetchor")),
/**
* updated
*/
UPDATED("updated", Pattern.compile("updated")),
/**
* Updownerbot
*/
UPDOWNERBOT("Updownerbot", Pattern.compile("Updownerbot")),
/**
* UptimeDog
*/
UPTIMEDOG("UptimeDog", Pattern.compile("UptimeDog")),
/**
* UptimeRobot
*/
UPTIMEROBOT("UptimeRobot", Pattern.compile("UptimeRobot")),
/**
* urlfan-bot
*/
URLFAN_BOT("urlfan-bot", Pattern.compile("urlfan-bot")),
/**
* Urlfilebot (Urlbot)
*/
URLFILEBOT("Urlfilebot (Urlbot)", Pattern.compile("Urlfilebot \\(Urlbot\\)")),
/**
* urlgrabber
*/
URLGRABBER("urlgrabber", Pattern.compile("urlgrabber")),
/**
* Usejump
*/
USEJUMP("Usejump", Pattern.compile("Usejump")),
/**
* uZard Web
*/
UZARD_WEB("uZard Web", Pattern.compile("uZard Web")),
/**
* Uzbl
*/
UZBL("Uzbl", Pattern.compile("Uzbl")),
/**
* Vagabondo
*/
VAGABONDO("Vagabondo", Pattern.compile("Vagabondo")),
/**
* Validator.nu
*/
VALIDATOR_NU("Validator.nu", Pattern.compile("Validator.nu")),
/**
* VERASYS 2k
*/
VERASYS_2K("VERASYS 2k", Pattern.compile("VERASYS 2k")),
/**
* Vermut
*/
VERMUT("Vermut", Pattern.compile("Vermut")),
/**
* Vespa Crawler
*/
VESPA_CRAWLER("Vespa Crawler", Pattern.compile("Vespa Crawler")),
/**
* VideoSurf_bot
*/
VIDEOSURF_BOT("VideoSurf_bot", Pattern.compile("VideoSurf_bot")),
/**
* virus_detector
*/
VIRUS_DETECTOR("virus_detector", Pattern.compile("virus_detector")),
/**
* Vivaldi
*/
VIVALDI("Vivaldi", Pattern.compile("Vivaldi")),
/**
* Visbot
*/
VISBOT("Visbot", Pattern.compile("Visbot")),
/**
* VLC media player
*/
VLC_MEDIA_PLAYER("VLC media player", Pattern.compile("VLC media player")),
/**
* VMBot
*/
VMBOT("VMBot", Pattern.compile("VMBot")),
/**
* void-bot
*/
VOID_BOT("void-bot", Pattern.compile("void-bot")),
/**
* VoilaBot
*/
VOILABOT("OrangeBot", Pattern.compile("OrangeBot")),
/**
* Vonkeror
*/
VONKEROR("Vonkeror", Pattern.compile("Vonkeror")),
/**
* VORTEX
*/
VORTEX("VORTEX", Pattern.compile("VORTEX")),
/**
* voyager
*/
VOYAGER("voyager", Pattern.compile("voyager")),
/**
* Vuze
*/
VUZE("Vuze", Pattern.compile("Vuze")),
/**
* VWBot
*/
VWBOT("VWBot", Pattern.compile("VWBot")),
/**
* W3C Checklink
*/
W3C_CHECKLINK("W3C Checklink", Pattern.compile("W3C Checklink")),
/**
* W3C CSS Validator
*/
W3C_CSS_VALIDATOR("W3C CSS Validator", Pattern.compile("W3C CSS Validator")),
/**
* W3C mobileOK Checker
*/
W3C_MOBILEOK_CHECKER("W3C mobileOK Checker", Pattern.compile("W3C mobileOK Checker")),
/**
* W3C Validator
*/
W3C_VALIDATOR("W3C Validator", Pattern.compile("W3C Validator")),
/**
* w3m
*/
W3M("w3m", Pattern.compile("w3m")),
/**
* WapTiger
*/
WAPTIGER("WapTiger", Pattern.compile("WapTiger")),
/**
* WASALive-Bot
*/
WASALIVE_BOT("WASALive-Bot", Pattern.compile("WASALive-Bot")),
/**
* WatchMouse
*/
WATCHMOUSE("WatchMouse", Pattern.compile("WatchMouse")),
/**
* WBSearchBot
*/
WBSEARCHBOT("WBSearchBot", Pattern.compile("WBSearchBot")),
/**
* WDG CSSCheck
*/
WDG_CSSCHECK("WDG CSSCheck", Pattern.compile("WDG CSSCheck")),
/**
* WDG Page Valet
*/
WDG_PAGE_VALET("WDG Page Valet", Pattern.compile("Page Valet")),
/**
* WDG Validator
*/
WDG_VALIDATOR("WDG Validator", Pattern.compile("WDG Validator")),
/**
* Web-sniffer
*/
WEB_SNIFFER("Web-sniffer", Pattern.compile("Web-sniffer")),
/**
* WebAlta Crawler
*/
WEBALTA_CRAWLER("WebAlta Crawler", Pattern.compile("WebAlta Crawler")),
/**
* WebarooBot
*/
WEBAROOBOT("WebarooBot", Pattern.compile("WebarooBot")),
/**
* WebCollage
*/
WEBCOLLAGE("WebCollage", Pattern.compile("WebCollage")),
/**
* WebCopier
*/
WEBCOPIER("WebCopier", Pattern.compile("WebCopier")),
/**
* webfetch
*/
WEBFETCH("webfetch", Pattern.compile("webfetch")),
/**
* webfs
*/
WEBFS("webfs", Pattern.compile("webfs")),
/**
* Webian Shell
*/
WEBIAN_SHELL("Webian Shell", Pattern.compile("Webian Shell")),
/**
* WebImages
*/
WEBIMAGES("WebImages", Pattern.compile("WebImages")),
/**
* webinatorbot
*/
WEBINATORBOT("webinatorbot", Pattern.compile("webinatorbot")),
/**
* webmastercoffee
*/
WEBMASTERCOFFEE("webmastercoffee", Pattern.compile("webmastercoffee")),
/**
* WebNL
*/
WEBNL("WebNL", Pattern.compile("WebNL")),
/**
* WebRankSpider
*/
WEBRANKSPIDER("WebRankSpider", Pattern.compile("WebRankSpider")),
/**
* WebRender
*/
WEBRENDER("WebRender", Pattern.compile("WebRender")),
/**
* Webscope Crawler
*/
WEBSCOPE_CRAWLER("Webscope Crawler", Pattern.compile("Webscope Crawler")),
/**
* WebStripper
*/
WEBSTRIPPER("WebStripper", Pattern.compile("WebStripper")),
/**
* WebWatch/Robot_txtChecker
*/
WEBWATCH_ROBOT_TXT_CHECKER("WebWatch/Robot_txtChecker", Pattern.compile("WebWatch/Robot_txtChecker")),
/**
* WebZIP
*/
WEBZIP("WebZIP", Pattern.compile("WebZIP")),
/**
* wectar
*/
WECTAR("wectar", Pattern.compile("wectar")),
/**
* Weltweitimnetz Browser
*/
WELTWEITIMNETZ_BROWSER("Weltweitimnetz Browser", Pattern.compile("Weltweitimnetz Browser")),
/**
* WeSEE:Search
*/
WESEE_SEARCH("WeSEE:Search", Pattern.compile("WeSEE:Search")),
/**
* Wget
*/
WGET("Wget", Pattern.compile("Wget")),
/**
* Whoismindbot
*/
WHOISMINDBOT("Whoismindbot", Pattern.compile("Whoismindbot")),
/**
* WikioFeedBot
*/
WIKIOFEEDBOT("WikioFeedBot", Pattern.compile("WikioFeedBot")),
/**
* wikiwix-bot
*/
WIKIWIX_BOT("wikiwix-bot", Pattern.compile("wikiwix-bot")),
/**
* Willow Internet Crawler
*/
WILLOW_INTERNET_CRAWLER("Willow Internet Crawler", Pattern.compile("Willow Internet Crawler")),
/**
* Winamp for Android
*/
WINAMP_FOR_ANDROID("Winamp for Android", Pattern.compile("Winamp for Android")),
/**
* Windows Live Mail
*/
WINDOWS_LIVE_MAIL("Windows Live Mail", Pattern.compile("Windows Live Mail")),
/**
* Windows Media Player
*/
WINDOWS_MEDIA_PLAYER("Windows Media Player", Pattern.compile("Windows Media Player")),
/**
* WinHTTP
*/
WINHTTP("WinHTTP", Pattern.compile("WinHTTP")),
/**
* WinkBot
*/
WINKBOT("WinkBot", Pattern.compile("WinkBot")),
/**
* WinPodder
*/
WINPODDER("WinPodder", Pattern.compile("WinPodder")),
/**
* WinWap
*/
WINWAP("WinWap", Pattern.compile("WinWap")),
/**
* WinWebBot
*/
WINWEBBOT("WinWebBot", Pattern.compile("WinWebBot")),
/**
* WIRE
*/
WIRE("WIRE", Pattern.compile("WIRE")),
/**
* wKiosk
*/
WKIOSK("wKiosk", Pattern.compile("wKiosk")),
/**
* WMCAI_robot
*/
WMCAI_ROBOT("WMCAI_robot", Pattern.compile("WMCAI_robot")),
/**
* Woko
*/
WOKO("Woko", Pattern.compile("Woko")),
/**
* WordPress pingback
*/
WORDPRESS_PINGBACK("WordPress pingback", Pattern.compile("WordPress pingback")),
/**
* woriobot
*/
WORIOBOT("woriobot", Pattern.compile("woriobot")),
/**
* WorldWideWeb
*/
WORLDWIDEWEB("WorldWideWeb", Pattern.compile("WorldWideWeb")),
/**
* wOSBrowser
*/
WOSBROWSER("wOSBrowser", Pattern.compile("wOSBrowser")),
/**
* Wotbox
*/
WOTBOX("Wotbox", Pattern.compile("Wotbox")),
/**
* wsAnalyzer
*/
WSANALYZER("wsAnalyzer", Pattern.compile("wsAnalyzer")),
/**
* www.fi crawler
*/
WWW_FI_CRAWLER("www.fi crawler", Pattern.compile("www.fi crawler")),
/**
* WWW::Mechanize
*/
WWW_MECHANIZE("WWW::Mechanize", Pattern.compile("WWW::Mechanize")),
/**
* wwwster
*/
WWWSTER("wwwster", Pattern.compile("wwwster")),
/**
* Wyzo
*/
WYZO("Wyzo", Pattern.compile("Wyzo")),
/**
* X-Smiles
*/
X_SMILES("X-Smiles", Pattern.compile("X-Smiles")),
/**
* Xaldon WebSpider
*/
XALDON_WEBSPIDER("Xaldon WebSpider", Pattern.compile("Xaldon WebSpider")),
/**
* XBMC
*/
XBMC("XBMC", Pattern.compile("XBMC")),
/**
* Xenu
*/
XENU("Xenu", Pattern.compile("Xenu")),
/**
* xine
*/
XINE("xine", Pattern.compile("xine")),
/**
* XmarksFetch
*/
XMARKSFETCH("XmarksFetch", Pattern.compile("XmarksFetch")),
/**
* XML-RPC for PHP
*/
XML_RPC_FOR_PHP("XML-RPC for PHP", Pattern.compile("XML-RPC for PHP")),
/**
* XML-RPC for Ruby
*/
XML_RPC_FOR_RUBY("XML-RPC for Ruby", Pattern.compile("XML-RPC for Ruby")),
/**
* XML Sitemaps Generator
*/
XML_SITEMAPS_GENERATOR("XML Sitemaps Generator", Pattern.compile("XML Sitemaps Generator")),
/**
* XMPlay
*/
XMPLAY("XMPlay", Pattern.compile("XMPlay")),
/**
* Yaanb
*/
YAANB("Yaanb", Pattern.compile("Yaanb")),
/**
* yacybot
*/
YACYBOT("yacybot", Pattern.compile("yacybot")),
/**
* Yahoo!
*/
YAHOO("Yahoo!", Pattern.compile("Yahoo!")),
/**
* Yahoo Link Preview
*/
YAHOO_LINK_PREVIEW("Yahoo Link Preview", Pattern.compile("Yahoo Link Preview")),
/**
* Yahoo! JAPAN
*/
YAHOO_JAPAN("Yahoo! JAPAN", Pattern.compile("Yahoo! JAPAN")),
/**
* YahooFeedSeeker
*/
YAHOOFEEDSEEKER("YahooFeedSeeker", Pattern.compile("YahooFeedSeeker")),
/**
* Yandex.Browser
*/
YANDEX_BROWSER("Yandex.Browser", Pattern.compile("Yandex\\.Browser")),
/**
* YandexBot
*/
YANDEXBOT("YandexBot", Pattern.compile("YandexBot")),
/**
* Yanga
*/
YANGA("Yanga", Pattern.compile("Yanga")),
/**
* YeahReader
*/
YEAHREADER("YeahReader", Pattern.compile("YeahReader")),
/**
* YioopBot
*/
YIOOPBOT("YioopBot", Pattern.compile("YioopBot")),
/**
* YodaoBot
*/
YODAOBOT("YodaoBot", Pattern.compile("YodaoBot")),
/**
* Yoono Bot
*/
YOONO_BOT("Yoono Bot", Pattern.compile("Yoono Bot")),
/**
* YoudaoBot
*/
YOUDAOBOT("YoudaoBot", Pattern.compile("YoudaoBot")),
/**
* YowedoBot
*/
YOWEDOBOT("YowedoBot", Pattern.compile("YowedoBot")),
/**
* YRSpider
*/
YRSPIDER("YRSpider", Pattern.compile("YRSpider")),
/**
* ZACATEK_CZ
*/
ZACATEK_CZ("ZACATEK_CZ", Pattern.compile("ZACATEK_CZ")),
/**
* zBrowser
*/
ZBROWSER("zBrowser", Pattern.compile("zBrowser")),
/**
* Zend_Http_Client
*/
ZEND_HTTP_CLIENT("Zend_Http_Client", Pattern.compile("Zend_Http_Client")),
/**
* Zeusbot
*/
ZEUSBOT("Zeusbot", Pattern.compile("Zeusbot")),
/**
* ZipZap
*/
ZIPZAP("ZipZap", Pattern.compile("ZipZap")),
/**
* ZookaBot
*/
ZOOKABOT("ZookaBot", Pattern.compile("ZookaBot(/\\d+(\\.\\d+)*)?", Pattern.CASE_INSENSITIVE)),
/**
* ZoomSpider (ZSEBOT)
*/
ZOOMSPIDER("ZoomSpider (ZSEBOT)", Pattern.compile("ZoomSpider \\(ZSEBOT\\)")),
/**
* ZyBorg
*/
ZYBORG("ZyBorg", Pattern.compile("ZyBorg"));
/**
* The internal family name in the UAS database.
*/
@javax.validation.constraints.NotNull
private final String name;
/**
* The regular expression which a family name must be match.
*/
@javax.validation.constraints.NotNull
private final Pattern pattern;
private UserAgentFamily(@javax.validation.constraints.NotNull String name, @javax.validation.constraints.NotNull Pattern pattern)
{
this.name = name;
this.pattern = pattern;
}
/**
* This method try to find by the given family name a matching enum value. The family name must match against an
* user agent entry in UAS data file.
*
* @param family
* name of an user agent family
*
* @return the matching enum value or {@code UserAgentFamily#UNKNOWN}
*
*
* if the given argument is {@code null}
*/
@javax.validation.constraints.NotNull
public static UserAgentFamily evaluate(@javax.validation.constraints.NotNull String family)
{
Check.notNull(family, "family");
UserAgentFamily result;
// search by name
result = evaluateByName(family);
// search by pattern
if (result == UNKNOWN)
{
result = evaluateByPattern(family);
}
return result;
}
/**
* This method try to find by the given family name a matching enum value. The family name will be evaluated against
* the stored name of an user agent entry.
*
* @param family
* name of an user agent family
*
* @return the matching enum value or {@code UserAgentFamily#UNKNOWN}
*
*
* if the given argument is {@code null}
*/
@javax.validation.constraints.NotNull
protected static UserAgentFamily evaluateByName(@javax.validation.constraints.NotNull String family)
{
Check.notNull(family, "family");
UserAgentFamily result = UNKNOWN;
for (UserAgentFamily value : values())
{
if (value.getName()
.equalsIgnoreCase(family))
{
return value;
}
}
return result;
}
/**
* This method try to find by the given family name a matching enum value. The family name will be evaluated against
* the stored regular expression of an user agent entry.
*
* @param family
* name of an user agent family
*
* @return the matching enum value or {@code UserAgentFamily#UNKNOWN}
*
*
* if the given argument is {@code null}
*/
@javax.validation.constraints.NotNull
protected static UserAgentFamily evaluateByPattern(@javax.validation.constraints.NotNull String family)
{
Check.notNull(family, "family");
UserAgentFamily result = UNKNOWN;
for (UserAgentFamily value : values())
{
Matcher m = value.getPattern()
.matcher(family);
if (m.find())
{
return value;
}
}
return result;
}
/**
* Gets the internal family name in the UAS database.
*
* @return the internal family name
*/
@javax.validation.constraints.NotNull
public String getName()
{
return this.name;
}
/**
* Gets the regular expression which a family name must be matched with.
*
* @return regular expression
*/
@javax.validation.constraints.NotNull
public Pattern getPattern()
{
return pattern;
}
}