mx4j.tools.i18n
public class I18NStandardMBean extends StandardMBean
The I18N information is taken from a property bundle named MyImplMBeanResources where "MyImpl" is the fully qualified class implementing the MBean.
These bundles are nested following the class hierachy of the implementation class. This means that a superclass of the real implementing class can define the resource bundle for the common attributes and operations.
The resource bundle naming rules defined by java.util.ResourceBundle are used; in particular :descr=The MBean Description
attr.Counter=The counter
cons.N=desciption of constructor N cons.N.param.1=Description of first parameter of constructor N cons.N.paramName.1=paramName1 cons.N.param.2=Description of first parameter of constructor N cons.N.paramName.2=paramName2Where N is a sequential number starting at one.
cons.N.sig=int,java.lang.Object cons.N.param.1=The int parameter cons.N.param.2=The Object parameter
op.operationName=The description op.operationName.param.1=The first parameter op.operationName.paramName.1=param1
op.operationName.1=The first version of operationName op.operationName.1.param.1=parameter for first version op.operationName.1.paramName.1=param1 op.operationName.2=The second version of operationName op.operationName.2.paramName.1=param1 op.operationName.2.param.1=first parameter for second version op.operationName.2.param.2=second parameter for second version op.operationName.2.paramName.2=param2
op.operationName.1.sig=int op.operationName.1=The first version of operationName (takes int) op.operationName.1.param.1=parameter for first version op.operationName.1.paramName.1=param1 op.operationName.2.sig=java.lang.Object op.operationName.2=The second version of operationName (take Object) op.operationName.2.paramName.1=param1 op.operationName.2.param.1=first parameter for second version
If the resouce bundle is found but the bean description, constructor description or parameter name is missing the String "??(key)" will be returned instead (eg "??(op.myOperation)".
If a paramName key is missing (for constructor or operation) the version normally given by StandardMBean is used (generally "pN").
If a non ambiguous description cannot be determined the fixed (non translatable) descriptions "ambiguous constructor", "parameter for ambiguous constructor", "ambiguous operation", "parameter for ambiguous operation" are returned.
Constructor Summary | |
---|---|
I18NStandardMBean(Object implementation, Class mbeanInterface)
Makes an I18NStandardMBean for the default locale with a separate implementation class.
| |
I18NStandardMBean(Object implementation, Class mbeanInterface, Locale locale)
Makes an I18NStandardMBean for the given locale with a separate implementation class.
| |
protected | I18NStandardMBean(Class mbeanInterface)
Makes a I18NStandardMBean for the default locale implemented by a subclass.
|
protected | I18NStandardMBean(Class mbeanInterface, Locale locale)
Makes a I18NStandardMBean for the given locale implemented by a subclass.
|
Method Summary | |
---|---|
protected void | cacheMBeanInfo(MBeanInfo info)
Once the MBeanInfo has been obtained discard our caches.
|
protected MBeanInfo | getCachedMBeanInfo()
Initialise internal data structures. |
protected MBeanConstructorInfo[] | getConstructors(MBeanConstructorInfo[] cstrs, Object impl) |
protected String | getDescription(MBeanInfo info)
Obtain global description for MBean. |
protected String | getDescription(MBeanConstructorInfo cstr)
Obtain the constructor description. |
protected String | getDescription(MBeanConstructorInfo cstr, MBeanParameterInfo param, int seq)
Obtain the constructor parameter description. |
protected String | getDescription(MBeanAttributeInfo attr)
Obtain the attribute description. |
protected String | getDescription(MBeanOperationInfo op)
Obtain the operation description. |
protected String | getDescription(MBeanOperationInfo op, MBeanParameterInfo param, int seq)
Obtain the operation parameter description. |
protected String | getParameterName(MBeanConstructorInfo cstr, MBeanParameterInfo param, int seq)
Obtain constructor parameter name. |
protected String | getParameterName(MBeanOperationInfo op, MBeanParameterInfo param, int seq)
Obtain operation parameter name. |
static void | setDefaultLocale(Locale locale)
Set the locale which will be used for future I18NStandardMBeans. |
See Also: javax.management.StandardMBean#StandardMBean(java.lang.Object, java.lang.Class)
See Also: javax.management.StandardMBean#StandardMBean(java.lang.Object, java.lang.Class)
See Also: javax.management.StandardMBean#StandardMBean(java.lang.Class)
See Also: javax.management.StandardMBean#StandardMBean(java.lang.Class)
See Also: javax.management.StandardMBean#cacheMBeanInfo(javax.management.MBeanInfo)
This method is always called first during getMBeanInfo processing. We use this to avoid keeping all our internal Maps in memory too long.
See Also: javax.management.StandardMBean#getCachedMBeanInfo
Taken from "descr" key in resource bundle.
Also performs internal initialisations requiring the MBeanInfo obtained by introspection. Therefore the superclass must call this method BEFORE the other hooks.
See Also: javax.management.StandardMBean#getDescription(javax.management.MBeanInfo)
Taken from "cons.N" key in resource bundle.
Maybe "ambiguous constructor" if correct index cannot be determined by an explicit signature or parameter counts.
See Also: javax.management.StandardMBean#getDescription(javax.management.MBeanConstructorInfo)
Taken from "cons.N.param.seq" key in resource bundle.
Maybe "parameter for ambiguous constructor" if correct index cannot be determined by an explicit signature or parameter counts.
See Also: javax.management.StandardMBean#getDescription(javax.management.MBeanConstructorInfo, javax.management.MBeanParameterInfo, int)
Taken from the "attr.attributeName" key in resource bundle.
See Also: javax.management.StandardMBean#getDescription(javax.management.MBeanAttributeInfo)
Taken from the "op.operationName.N" or the "op.operationName" key in the resource bundle.
May be "ambiguous operation" if the correct key cannot be determined by signature or parameter counts.
See Also: javax.management.StandardMBean#getDescription(javax.management.MBeanOperationInfo)
Taken from the "op.operationName.N.param.M" or the "op.operationName.param" key in the resource bundle.
May be "parameter for ambiguous operation" if the correct key cannot be determined by signature or parameter counts.
See Also: javax.management.StandardMBean#getDescription(javax.management.MBeanOperationInfo, javax.management.MBeanParameterInfo, int)
Taken from "cons.N.paramName.seq" key in resource bundle.
If this key does not exist or if the correct index N cannot be determined by an explicit signature or parameter counts the superclass method is called.
See Also: javax.management.StandardMBean#getParameterName(javax.management.MBeanConstructorInfo, javax.management.MBeanParameterInfo, int)
Taken from the "op.operationName.N.paramName.M" or the "op.operationName.paramName.M" key in the resource bundle.
If this key does not exist or if the correct index N cannot be determined by an explicit signature or parameter counts the superclass method is called.
See Also: javax.management.StandardMBean#getParameterName(javax.management.MBeanOperationInfo, javax.management.MBeanParameterInfo, int)
The locale specified can be overridden on a per class basis via the constructors but overrides other means of setting the Locale (system properties).
Changing the locale has no effect on already constructed MBeans.
Parameters: locale the Locale for future MBeans