<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>DefaultLocalizationService (Fulcrum Localization 1.0.8-SNAPSHOT API)</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="DefaultLocalizationService (Fulcrum Localization 1.0.8-SNAPSHOT API)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../org/apache/fulcrum/localization/package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/DefaultLocalizationService.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../../org/apache/fulcrum/localization/LocaleTokenizer.html" title="class in org.apache.fulcrum.localization"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/fulcrum/localization/DefaultLocalizationService.html" target="_top">Frames</a></li>
<li><a href="DefaultLocalizationService.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.fulcrum.localization</div>
<h2 title="Class DefaultLocalizationService" class="title">Class DefaultLocalizationService</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.avalon.framework.logger.AbstractLogEnabled</li>
<li>
<ul class="inheritance">
<li><a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationServiceImpl.html" title="class in org.apache.fulcrum.localization">org.apache.fulcrum.localization.SimpleLocalizationServiceImpl</a></li>
<li>
<ul class="inheritance">
<li>org.apache.fulcrum.localization.DefaultLocalizationService</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>org.apache.avalon.framework.activity.Initializable, org.apache.avalon.framework.configuration.Configurable, org.apache.avalon.framework.logger.LogEnabled, <a href="../../../../org/apache/fulcrum/localization/LocalizationService.html" title="interface in org.apache.fulcrum.localization">LocalizationService</a>, <a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationService.html" title="interface in org.apache.fulcrum.localization">SimpleLocalizationService</a></dd>
</dl>
<hr>
<br>
<pre>public class <a href="../../../../src-html/org/apache/fulcrum/localization/DefaultLocalizationService.html#line.69">DefaultLocalizationService</a>
extends <a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationServiceImpl.html" title="class in org.apache.fulcrum.localization">SimpleLocalizationServiceImpl</a>
implements <a href="../../../../org/apache/fulcrum/localization/LocalizationService.html" title="interface in org.apache.fulcrum.localization">LocalizationService</a></pre>
<div class="block"><p>
 This class is the single point of access to all localization
 resources.  It caches different ResourceBundles for different
 Locales.
 </p>

 <p>Usage example:</p>

 <pre>
 <code>
 LocalizationService ls = (LocalizationService) TurbineServices
     .getInstance().getService(LocalizationService.SERVICE_NAME);
 </code>
 </pre>

 <p>
 Then call <a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationServiceImpl.html#getString-java.lang.String-java.util.Locale-java.lang.String-"><code>SimpleLocalizationServiceImpl.getString(String, Locale, String)</code></a>, or one of
 four methods to retrieve a ResourceBundle:
 </p>

 <ul>
 <li>getBundle("MyBundleName")</li>
 <li>getBundle("MyBundleName", httpAcceptLanguageHeader)</li>
 <li>etBundle("MyBundleName", HttpServletRequest)</li>
 <li>getBundle("MyBundleName", Locale)</li>
 <li>etc.</li>
 </ul></div>
<dl>
<dt><span class="simpleTagLabel">Version:</span></dt>
<dd>$Id$
 avalon.component name="localization" lifestyle="singleton"
 avalon.service type="org.apache.fulcrum.localization.LocalizationService"</dd>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd><a href="mailto:jm@mediaphil.de">Jonas Maurus</a>, <a href="mailto:jon@latchkey.com">Jon S. Stevens</a>, <a href="mailto:novalidemail@foo.com">Frank Y. Kim</a>, <a href="mailto:dlr@finemaltcoding.com">Daniel Rall</a>, <a href="mailto:leonardr@collab.net">Leonard Richardson</a>, <a href="mailto:mcconnell@apache.org">Stephen McConnell</a>, <a href="mailto:tv@apache.org">Thomas Vandahl</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.fulcrum.localization.LocalizationService">
<!--   -->
</a>
<h3>Fields inherited from interface&nbsp;org.apache.fulcrum.localization.<a href="../../../../org/apache/fulcrum/localization/LocalizationService.html" title="interface in org.apache.fulcrum.localization">LocalizationService</a></h3>
<code><a href="../../../../org/apache/fulcrum/localization/LocalizationService.html#ACCEPT_LANGUAGE">ACCEPT_LANGUAGE</a>, <a href="../../../../org/apache/fulcrum/localization/LocalizationService.html#ROLE">ROLE</a>, <a href="../../../../org/apache/fulcrum/localization/LocalizationService.html#SERVICE_NAME">SERVICE_NAME</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/fulcrum/localization/DefaultLocalizationService.html#DefaultLocalizationService--">DefaultLocalizationService</a></span>()</code>
<div class="block">Creates a new instance.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ResourceBundle.html?is-external=true" title="class or interface in java.util">ResourceBundle</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/fulcrum/localization/DefaultLocalizationService.html#getBundle-javax.servlet.http.HttpServletRequest-">getBundle</a></span>(<a href="https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletRequest.html?is-external=true" title="class or interface in javax.servlet.http">HttpServletRequest</a>&nbsp;req)</code>
<div class="block">This method returns a ResourceBundle given the Locale
 information supplied in the HTTP "Accept-Language" header which
 is stored in HttpServletRequest.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ResourceBundle.html?is-external=true" title="class or interface in java.util">ResourceBundle</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/fulcrum/localization/DefaultLocalizationService.html#getBundle-java.lang.String-javax.servlet.http.HttpServletRequest-">getBundle</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;bundleName,
         <a href="https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletRequest.html?is-external=true" title="class or interface in javax.servlet.http">HttpServletRequest</a>&nbsp;req)</code>
<div class="block">Convenience method to get a <code>ResourceBundle</code> based
 on name and HTTP <code>Accept-Language</code> header from a
 <code>HttpServletRequest</code>.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/ResourceBundle.html?is-external=true" title="class or interface in java.util">ResourceBundle</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/fulcrum/localization/DefaultLocalizationService.html#getBundle-java.lang.String-java.lang.String-">getBundle</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;bundleName,
         <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;languageHeader)</code>
<div class="block">This method returns a ResourceBundle given the bundle name and
 the Locale information supplied in the HTTP "Accept-Language"
 header.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util">Locale</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/fulcrum/localization/DefaultLocalizationService.html#getLocale-javax.servlet.http.HttpServletRequest-">getLocale</a></span>(<a href="https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletRequest.html?is-external=true" title="class or interface in javax.servlet.http">HttpServletRequest</a>&nbsp;req)</code>
<div class="block">Attempts to pull the <code>Accept-Language</code> header out of
 the <code>HttpServletRequest</code> object and then parse it.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util">Locale</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/fulcrum/localization/DefaultLocalizationService.html#getLocale-java.lang.String-">getLocale</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;header)</code>
<div class="block">Parses the <code>Accept-Language</code> header and attempts to
 create a <code>Locale</code> from it.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.fulcrum.localization.SimpleLocalizationServiceImpl">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.fulcrum.localization.<a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationServiceImpl.html" title="class in org.apache.fulcrum.localization">SimpleLocalizationServiceImpl</a></h3>
<code><a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationServiceImpl.html#configure-org.apache.avalon.framework.configuration.Configuration-">configure</a>, <a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationServiceImpl.html#format-java.lang.String-java.util.Locale-java.lang.String-java.lang.Object-">format</a>, <a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationServiceImpl.html#format-java.lang.String-java.util.Locale-java.lang.String-java.lang.Object:A-">format</a>, <a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationServiceImpl.html#format-java.lang.String-java.util.Locale-java.lang.String-java.lang.Object-java.lang.Object-">format</a>, <a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationServiceImpl.html#getBundle--">getBundle</a>, <a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationServiceImpl.html#getBundle-java.lang.String-">getBundle</a>, <a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationServiceImpl.html#getBundle-java.lang.String-java.util.Locale-">getBundle</a>, <a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationServiceImpl.html#getBundleNames--">getBundleNames</a>, <a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationServiceImpl.html#getDefaultBundleName--">getDefaultBundleName</a>, <a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationServiceImpl.html#getDefaultCountry--">getDefaultCountry</a>, <a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationServiceImpl.html#getDefaultLanguage--">getDefaultLanguage</a>, <a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationServiceImpl.html#getDefaultLocale--">getDefaultLocale</a>, <a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationServiceImpl.html#getString-java.lang.String-">getString</a>, <a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationServiceImpl.html#getString-java.lang.String-java.util.Locale-java.lang.String-">getString</a>, <a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationServiceImpl.html#getStringOrNull-java.util.ResourceBundle-java.lang.String-">getStringOrNull</a>, <a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationServiceImpl.html#initBundleNames-java.lang.String:A-">initBundleNames</a>, <a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationServiceImpl.html#initialize--">initialize</a>, <a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationServiceImpl.html#setBundle-java.lang.String-">setBundle</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.avalon.framework.logger.AbstractLogEnabled">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.avalon.framework.logger.AbstractLogEnabled</h3>
<code>enableLogging, getLogger, setupLogger, setupLogger, setupLogger</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.fulcrum.localization.SimpleLocalizationService">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.fulcrum.localization.<a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationService.html" title="interface in org.apache.fulcrum.localization">SimpleLocalizationService</a></h3>
<code><a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationService.html#format-java.lang.String-java.util.Locale-java.lang.String-java.lang.Object-">format</a>, <a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationService.html#format-java.lang.String-java.util.Locale-java.lang.String-java.lang.Object:A-">format</a>, <a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationService.html#format-java.lang.String-java.util.Locale-java.lang.String-java.lang.Object-java.lang.Object-">format</a>, <a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationService.html#getBundle--">getBundle</a>, <a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationService.html#getBundle-java.lang.String-">getBundle</a>, <a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationService.html#getBundle-java.lang.String-java.util.Locale-">getBundle</a>, <a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationService.html#getBundleNames--">getBundleNames</a>, <a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationService.html#getDefaultBundleName--">getDefaultBundleName</a>, <a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationService.html#getDefaultCountry--">getDefaultCountry</a>, <a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationService.html#getDefaultLanguage--">getDefaultLanguage</a>, <a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationService.html#getDefaultLocale--">getDefaultLocale</a>, <a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationService.html#getString-java.lang.String-">getString</a>, <a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationService.html#getString-java.lang.String-java.util.Locale-java.lang.String-">getString</a>, <a href="../../../../org/apache/fulcrum/localization/SimpleLocalizationService.html#setBundle-java.lang.String-">setBundle</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="DefaultLocalizationService--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DefaultLocalizationService</h4>
<pre>public&nbsp;<a href="../../../../src-html/org/apache/fulcrum/localization/DefaultLocalizationService.html#line.76">DefaultLocalizationService</a>()</pre>
<div class="block">Creates a new instance.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getBundle-java.lang.String-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBundle</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ResourceBundle.html?is-external=true" title="class or interface in java.util">ResourceBundle</a>&nbsp;<a href="../../../../src-html/org/apache/fulcrum/localization/DefaultLocalizationService.html#line.92">getBundle</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;bundleName,
                                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;languageHeader)</pre>
<div class="block">This method returns a ResourceBundle given the bundle name and
 the Locale information supplied in the HTTP "Accept-Language"
 header.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/fulcrum/localization/LocalizationService.html#getBundle-java.lang.String-java.lang.String-">getBundle</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/fulcrum/localization/LocalizationService.html" title="interface in org.apache.fulcrum.localization">LocalizationService</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>bundleName</code> - Name of bundle.</dd>
<dd><code>languageHeader</code> - A String with the language header.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A localized ResourceBundle.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/fulcrum/localization/LocalizationService.html#getBundle-java.lang.String-java.lang.String-"><code>LocalizationService.getBundle(java.lang.String, java.lang.String)</code></a></dd>
</dl>
</li>
</ul>
<a name="getBundle-javax.servlet.http.HttpServletRequest-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBundle</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ResourceBundle.html?is-external=true" title="class or interface in java.util">ResourceBundle</a>&nbsp;<a href="../../../../src-html/org/apache/fulcrum/localization/DefaultLocalizationService.html#line.105">getBundle</a>(<a href="https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletRequest.html?is-external=true" title="class or interface in javax.servlet.http">HttpServletRequest</a>&nbsp;req)</pre>
<div class="block">This method returns a ResourceBundle given the Locale
 information supplied in the HTTP "Accept-Language" header which
 is stored in HttpServletRequest.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/fulcrum/localization/LocalizationService.html#getBundle-javax.servlet.http.HttpServletRequest-">getBundle</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/fulcrum/localization/LocalizationService.html" title="interface in org.apache.fulcrum.localization">LocalizationService</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>req</code> - HttpServletRequest.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A localized ResourceBundle.</dd>
</dl>
</li>
</ul>
<a name="getBundle-java.lang.String-javax.servlet.http.HttpServletRequest-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBundle</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/ResourceBundle.html?is-external=true" title="class or interface in java.util">ResourceBundle</a>&nbsp;<a href="../../../../src-html/org/apache/fulcrum/localization/DefaultLocalizationService.html#line.122">getBundle</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;bundleName,
                                <a href="https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletRequest.html?is-external=true" title="class or interface in javax.servlet.http">HttpServletRequest</a>&nbsp;req)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/fulcrum/localization/LocalizationService.html#getBundle-java.lang.String-javax.servlet.http.HttpServletRequest-">LocalizationService</a></code></span></div>
<div class="block">Convenience method to get a <code>ResourceBundle</code> based
 on name and HTTP <code>Accept-Language</code> header from a
 <code>HttpServletRequest</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/fulcrum/localization/LocalizationService.html#getBundle-java.lang.String-javax.servlet.http.HttpServletRequest-">getBundle</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/fulcrum/localization/LocalizationService.html" title="interface in org.apache.fulcrum.localization">LocalizationService</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>bundleName</code> - Name of the bundle to use if the request's
 locale cannot be resolved.</dd>
<dd><code>req</code> - HttpServletRequest.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A localized ResourceBundle.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/fulcrum/localization/LocalizationService.html#getBundle-java.lang.String-javax.servlet.http.HttpServletRequest-"><code>This method returns a ResourceBundle given the bundle name and
 the Locale information supplied in the HTTP "Accept-Language"
 header which is stored in HttpServletRequest.</code></a></dd>
</dl>
</li>
</ul>
<a name="getLocale-javax.servlet.http.HttpServletRequest-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLocale</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util">Locale</a>&nbsp;<a href="../../../../src-html/org/apache/fulcrum/localization/DefaultLocalizationService.html#line.130">getLocale</a>(<a href="https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletRequest.html?is-external=true" title="class or interface in javax.servlet.http">HttpServletRequest</a>&nbsp;req)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/fulcrum/localization/LocalizationService.html#getLocale-javax.servlet.http.HttpServletRequest-">LocalizationService</a></code></span></div>
<div class="block">Attempts to pull the <code>Accept-Language</code> header out of
 the <code>HttpServletRequest</code> object and then parse it.
 If the header is not present, it will return a
 <code>null</code> <code>Locale</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/fulcrum/localization/LocalizationService.html#getLocale-javax.servlet.http.HttpServletRequest-">getLocale</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/fulcrum/localization/LocalizationService.html" title="interface in org.apache.fulcrum.localization">LocalizationService</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>req</code> - The HTTP request to parse the
 <code>Accept-Language</code> of.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The parsed locale.</dd>
</dl>
</li>
</ul>
<a name="getLocale-java.lang.String-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getLocale</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util">Locale</a>&nbsp;<a href="../../../../src-html/org/apache/fulcrum/localization/DefaultLocalizationService.html#line.142">getLocale</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;header)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/fulcrum/localization/LocalizationService.html#getLocale-java.lang.String-">LocalizationService</a></code></span></div>
<div class="block">Parses the <code>Accept-Language</code> header and attempts to
 create a <code>Locale</code> from it.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/fulcrum/localization/LocalizationService.html#getLocale-java.lang.String-">getLocale</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/fulcrum/localization/LocalizationService.html" title="interface in org.apache.fulcrum.localization">LocalizationService</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>header</code> - The language header (i.e. <code>en, es;q=0.8,
 zh-TW;q=0.1</code>), or <code>null</code> for the locale
 corresponding to the default language and country.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The parsed locale, or a locale corresponding to the
 language and country defaults.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../org/apache/fulcrum/localization/package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/DefaultLocalizationService.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../../org/apache/fulcrum/localization/LocaleTokenizer.html" title="class in org.apache.fulcrum.localization"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/fulcrum/localization/DefaultLocalizationService.html" target="_top">Frames</a></li>
<li><a href="DefaultLocalizationService.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2005&#x2013;1970 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
