/* * Copyright 2010 jomura.net All Rights Reserved. */ package net.jomura.http.util; import javax.servlet.http.HttpServletRequest; /** * WebClientのUser-Agentを判定します。
* 参考: http://fdays.blogspot.com/2007/03/user-agent.html
* @author Jomora (kazuhiko@jomura.net http://jomura.net) * @since 2010.01.20 * @version 2010.01.20 初版作成
*/ public final class UserAgentUtil { private String userAgent; /** * コンストラクターです。 * @param request HTTP要求オブジェクト */ public UserAgentUtil(HttpServletRequest request) { userAgent = request.getHeader("user-agent"); } /** * 携帯電話か? * @return 該当ならtrue,他ならfalse. */ public boolean isMobile() { return isDoCoMo() || isAu() || isSoftbank() || isWillcom(); } /** * DoCoMoか? * @return 該当ならtrue,他ならfalse. */ public boolean isDoCoMo() { return userAgent.startsWith("DoCoMo"); } /** * auか? * @return 該当ならtrue,他ならfalse. */ public boolean isAu() { return isAuWAP2() || isAuHDML(); } /** * au WAP2.0ブラウザか? * @return 該当ならtrue,他ならfalse. */ public boolean isAuWAP2() { return userAgent.contains("UP.Browser") && userAgent.startsWith("KDDI"); } /** * au HDMLブラウザか? * @return 該当ならtrue,他ならfalse. */ public boolean isAuHDML() { return userAgent.contains("UP.Browser") && !userAgent.startsWith("KDDI"); } /** * Softbankか? * @return 該当ならtrue,他ならfalse. */ public boolean isSoftbank() { return userAgent.startsWith("SoftBank") || isVodafone() || isJphone() || userAgent.startsWith("MOT"); } /** * Vodafoneか? * @return 該当ならtrue,他ならfalse. */ public boolean isVodafone() { return userAgent.startsWith("Vodafone"); } /** * J-PHONEか? * @return 該当ならtrue,他ならfalse. */ public boolean isJphone() { return userAgent.startsWith("J-PHONE"); } /** * WILLCOMか? * @return 該当ならtrue,他ならfalse. */ public boolean isWillcom() { return userAgent.contains("WILLCOM") || userAgent.contains("DDIPOCKET"); } }