📄 messageresources.html
字号:
<a name="430" href="#430">430</a>
<a name="431" href="#431">431</a> }
<a name="432" href="#432">432</a>
<a name="433" href="#433">433</a> <em>/**</em>
<a name="434" href="#434">434</a> <em> * Return <code>true</code> if there is a defined message for the specified</em>
<a name="435" href="#435">435</a> <em> * key in the specified Locale.</em>
<a name="436" href="#436">436</a> <em> *</em>
<a name="437" href="#437">437</a> <em> * @param locale The requested message Locale, or <code>null</code></em>
<a name="438" href="#438">438</a> <em> * for the system default Locale</em>
<a name="439" href="#439">439</a> <em> * @param key The message key to look up</em>
<a name="440" href="#440">440</a> <em> */</em>
<a name="441" href="#441">441</a> <strong>public</strong> <strong>boolean</strong> isPresent(Locale locale, String key) {
<a name="442" href="#442">442</a>
<a name="443" href="#443">443</a> String message = getMessage(locale, key);
<a name="444" href="#444">444</a>
<a name="445" href="#445">445</a> <strong>if</strong> (message == <strong>null</strong>) {
<a name="446" href="#446">446</a> <strong>return</strong> false;
<a name="447" href="#447">447</a>
<a name="448" href="#448">448</a> } <strong>else</strong> <strong>if</strong> (message.startsWith(<span class="string">"???"</span>) && message.endsWith(<span class="string">"???"</span>)) {
<a name="449" href="#449">449</a> <strong>return</strong> false; <em class="comment">// FIXME - Only valid for default implementation</em>
<a name="450" href="#450">450</a>
<a name="451" href="#451">451</a> } <strong>else</strong> {
<a name="452" href="#452">452</a> <strong>return</strong> <strong>true</strong>;
<a name="453" href="#453">453</a> }
<a name="454" href="#454">454</a>
<a name="455" href="#455">455</a> }
<a name="456" href="#456">456</a>
<a name="457" href="#457">457</a> <em class="comment">// ------------------------------------------------------ Protected Methods</em>
<a name="458" href="#458">458</a>
<a name="459" href="#459">459</a> <em>/**</em>
<a name="460" href="#460">460</a> <em> * Escape any single quote characters that are included in the specified</em>
<a name="461" href="#461">461</a> <em> * message string.</em>
<a name="462" href="#462">462</a> <em> *</em>
<a name="463" href="#463">463</a> <em> * @param string The string to be escaped</em>
<a name="464" href="#464">464</a> <em> */</em>
<a name="465" href="#465">465</a> <strong>protected</strong> String escape(String string) {
<a name="466" href="#466">466</a>
<a name="467" href="#467">467</a> <strong>if</strong> ((string == <strong>null</strong>) || (string.indexOf('\'') < 0)) {
<a name="468" href="#468">468</a> <strong>return</strong> string;
<a name="469" href="#469">469</a> }
<a name="470" href="#470">470</a>
<a name="471" href="#471">471</a> <strong>int</strong> n = string.length();
<a name="472" href="#472">472</a> StringBuffer sb = <strong>new</strong> StringBuffer(n);
<a name="473" href="#473">473</a>
<a name="474" href="#474">474</a> <strong>for</strong> (<strong>int</strong> i = 0; i < n; i++) {
<a name="475" href="#475">475</a> <strong>char</strong> ch = string.<strong>char</strong>At(i);
<a name="476" href="#476">476</a>
<a name="477" href="#477">477</a> <strong>if</strong> (ch == '\'') {
<a name="478" href="#478">478</a> sb.append('\'');
<a name="479" href="#479">479</a> }
<a name="480" href="#480">480</a>
<a name="481" href="#481">481</a> sb.append(ch);
<a name="482" href="#482">482</a> }
<a name="483" href="#483">483</a>
<a name="484" href="#484">484</a> <strong>return</strong> sb.toString();
<a name="485" href="#485">485</a>
<a name="486" href="#486">486</a> }
<a name="487" href="#487">487</a>
<a name="488" href="#488">488</a> <em>/**</em>
<a name="489" href="#489">489</a> <em> * Compute and return a key to be used in caching information by a Locale.</em>
<a name="490" href="#490">490</a> <em> * <strong>NOTE</strong> - The locale key for the default Locale in our</em>
<a name="491" href="#491">491</a> <em> * environment is a zero length String.</em>
<a name="492" href="#492">492</a> <em> *</em>
<a name="493" href="#493">493</a> <em> * @param locale The locale for which a key is desired</em>
<a name="494" href="#494">494</a> <em> */</em>
<a name="495" href="#495">495</a> <strong>protected</strong> String localeKey(Locale locale) {
<a name="496" href="#496">496</a> <strong>return</strong> (locale == <strong>null</strong>) ? <span class="string">""</span> : locale.toString();
<a name="497" href="#497">497</a> }
<a name="498" href="#498">498</a>
<a name="499" href="#499">499</a> <em>/**</em>
<a name="500" href="#500">500</a> <em> * Compute and return a key to be used in caching information</em>
<a name="501" href="#501">501</a> <em> * by Locale and message key.</em>
<a name="502" href="#502">502</a> <em> *</em>
<a name="503" href="#503">503</a> <em> * @param locale The Locale for which this format key is calculated</em>
<a name="504" href="#504">504</a> <em> * @param key The message key for which this format key is calculated</em>
<a name="505" href="#505">505</a> <em> */</em>
<a name="506" href="#506">506</a> <strong>protected</strong> String messageKey(Locale locale, String key) {
<a name="507" href="#507">507</a>
<a name="508" href="#508">508</a> <strong>return</strong> (localeKey(locale) + <span class="string">"."</span> + key);
<a name="509" href="#509">509</a>
<a name="510" href="#510">510</a> }
<a name="511" href="#511">511</a>
<a name="512" href="#512">512</a> <em>/**</em>
<a name="513" href="#513">513</a> <em> * Compute and return a key to be used in caching information</em>
<a name="514" href="#514">514</a> <em> * by locale key and message key.</em>
<a name="515" href="#515">515</a> <em> *</em>
<a name="516" href="#516">516</a> <em> * @param localeKey The locale key for which this cache key is calculated</em>
<a name="517" href="#517">517</a> <em> * @param key The message key for which this cache key is calculated</em>
<a name="518" href="#518">518</a> <em> */</em>
<a name="519" href="#519">519</a> <strong>protected</strong> String messageKey(String localeKey, String key) {
<a name="520" href="#520">520</a>
<a name="521" href="#521">521</a> <strong>return</strong> (localeKey + <span class="string">"."</span> + key);
<a name="522" href="#522">522</a>
<a name="523" href="#523">523</a> }
<a name="524" href="#524">524</a>
<a name="525" href="#525">525</a> <em class="comment">// --------------------------------------------------------- Static Methods</em>
<a name="526" href="#526">526</a>
<a name="527" href="#527">527</a> <em>/**</em>
<a name="528" href="#528">528</a> <em> * The default MessageResourcesFactory used to create MessageResources</em>
<a name="529" href="#529">529</a> <em> * instances.</em>
<a name="530" href="#530">530</a> <em> */</em>
<a name="531" href="#531">531</a> <strong>protected</strong> <strong>static</strong> <a href="../../../../net/sf/navigator/util/MessageResourcesFactory.html">MessageResourcesFactory</a> defaultFactory = <strong>null</strong>;
<a name="532" href="#532">532</a>
<a name="533" href="#533">533</a> <em>/**</em>
<a name="534" href="#534">534</a> <em> * Create and return an instance of <code>MessageResources</code> for the</em>
<a name="535" href="#535">535</a> <em> * created by the default <code>MessageResourcesFactory</code>.</em>
<a name="536" href="#536">536</a> <em> *</em>
<a name="537" href="#537">537</a> <em> * @param config Configuration parameter for this message bundle.</em>
<a name="538" href="#538">538</a> <em> */</em>
<a name="539" href="#539">539</a> <strong>public</strong> <strong>synchronized</strong> <strong>static</strong> <a href="../../../../net/sf/navigator/util/MessageResources.html">MessageResources</a> getMessageResources(String config) {
<a name="540" href="#540">540</a>
<a name="541" href="#541">541</a> <strong>if</strong> (defaultFactory == <strong>null</strong>) {
<a name="542" href="#542">542</a> defaultFactory = MessageResourcesFactory.createFactory();
<a name="543" href="#543">543</a> }
<a name="544" href="#544">544</a>
<a name="545" href="#545">545</a> <strong>return</strong> defaultFactory.createResources(config);
<a name="546" href="#546">546</a> }
<a name="547" href="#547">547</a>
<a name="548" href="#548">548</a> <em>/**</em>
<a name="549" href="#549">549</a> <em> * Log a message to the Writer that has been configured for our use.</em>
<a name="550" href="#550">550</a> <em> *</em>
<a name="551" href="#551">551</a> <em> * @param message The message to be logged</em>
<a name="552" href="#552">552</a> <em> */</em>
<a name="553" href="#553">553</a> <strong>public</strong> <strong>void</strong> log(String message) {
<a name="554" href="#554">554</a> log.debug(message);
<a name="555" href="#555">555</a> }
<a name="556" href="#556">556</a>
<a name="557" href="#557">557</a> <em>/**</em>
<a name="558" href="#558">558</a> <em> * Log a message and exception to the Writer that has been configured</em>
<a name="559" href="#559">559</a> <em> * for our use.</em>
<a name="560" href="#560">560</a> <em> *</em>
<a name="561" href="#561">561</a> <em> * @param message The message to be logged</em>
<a name="562" href="#562">562</a> <em> * @param throwable The exception to be logged</em>
<a name="563" href="#563">563</a> <em> */</em>
<a name="564" href="#564">564</a> <strong>public</strong> <strong>void</strong> log(String message, Throwable throwable) {
<a name="565" href="#565">565</a> log.debug(message, throwable);
<a name="566" href="#566">566</a> }
<a name="567" href="#567">567</a>
<a name="568" href="#568">568</a> }
</pre><hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -