Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
XWork is an command-pattern framework that is used to power WebWork
as well as other applications. XWork provides an Inversion of Control
container, a powerful expression language, data type conversion,
validation, and pluggable configuration.
/*
* Copyright (c) 2002-2006 by OpenSymphony
* All rights reserved.
*/
package com.opensymphony.xwork2;
import com.opensymphony.xwork2.util.LocalizedTextUtil;
import com.opensymphony.xwork2.util.ValueStack;
import java.util.*;
/**
* Default TextProvider implementation.
*
* @author Jason Carreira
* @author Rainer Hermanns
*/
public class TextProviderSupport implements ResourceBundleTextProvider {
private Class clazz;
private LocaleProvider localeProvider;
private ResourceBundle bundle;
/**
* Default constructor
*/
public TextProviderSupport() {
}
/**
* Constructor.
*
* @param clazz a clazz to use for reading the resource bundle.
* @param provider a locale provider.
*/
public TextProviderSupport(Class clazz, LocaleProvider provider) {
this.clazz = clazz;
this.localeProvider = provider;
}
/**
* Constructor.
*
* @param bundle the resource bundle.
* @param provider a locale provider.
*/
public TextProviderSupport(ResourceBundle bundle, LocaleProvider provider) {
this.bundle = bundle;
this.localeProvider = provider;
}
/**
* @param bundle the resource bundle.
*/
public void setBundle(ResourceBundle bundle) {
this.bundle = bundle;
}
/**
* @param clazz a clazz to use for reading the resource bundle.
*/
public void setClazz(Class clazz) {
this.clazz = clazz;
}
/**
* @param localeProvider a locale provider.
*/
public void setLocaleProvider(LocaleProvider localeProvider) {
this.localeProvider = localeProvider;
}
/**
* Checks if a key is available in the resource bundles associated with this action.
* The resource bundles are searched, starting with the one associated
* with this particular action, and testing all its superclasses' bundles.
* It will stop once a bundle is found that contains the given text. This gives
* a cascading style that allow global texts to be defined for an application base
* class.
*/
public boolean hasKey(String key) {
String message;
if (clazz != null) {
message = LocalizedTextUtil.findText(clazz, key, getLocale(), null, new Object[0] );
} else {
message = LocalizedTextUtil.findText(bundle, key, getLocale(), null, new Object[0]);
}
return message != null;
}
/**
* Get a text from the resource bundles associated with this action.
* The resource bundles are searched, starting with the one associated
* with this particular action, and testing all its superclasses' bundles.
* It will stop once a bundle is found that contains the given text. This gives
* a cascading style that allow global texts to be defined for an application base
* class.
*
* @param key name of text to be found
* @return value of named text
*/
public String getText(String key) {
return getText(key, key, Collections.emptyList());
}
/**
* Get a text from the resource bundles associated with this action.
* The resource bundles are searched, starting with the one associated
* with this particular action, and testing all its superclasses' bundles.
* It will stop once a bundle is found that contains the given text. This gives
* a cascading style that allow global texts to be defined for an application base
* class. If no text is found for this text name, the default value is returned.
*
* @param key name of text to be found
* @param defaultValue the default value which will be returned if no text is found
* @return value of named text
*/
public String getText(String key, String defaultValue) {
return getText(key, defaultValue, Collections.emptyList());
}
/**
* Get a text from the resource bundles associated with this action.
* The resource bundles are searched, starting with the one associated
* with this particular action, and testing all its superclasses' bundles.
* It will stop once a bundle is found that contains the given text. This gives
* a cascading style that allow global texts to be defined for an application base
* class. If no text is found for this text name, the default value is returned.
*
* @param key name of text to be found
* @param defaultValue the default value which will be returned if no text is found
* @return value of named text
*/
public String getText(String key, String defaultValue, String arg) {
List