Package org.eigenbase.resgen
Class ResourceDefinition
- java.lang.Object
-
- org.eigenbase.resgen.ResourceDefinition
-
public class ResourceDefinition extends java.lang.ObjectDefinition of a resource such as a parameterized message or exception.A resource is identified within a
ResourceBundleby a text key, and has a message in its base locale (which is usually US-English (en_US)). It may also have a set of properties, which are represented as name-value pairs.A resource definition is immutable.
- Since:
- 19 September, 2005
- Version:
- $Id: //open/util/resgen/src/org/eigenbase/resgen/ResourceDefinition.java#4 $
- Author:
- jhyde
-
-
Field Summary
Fields Modifier and Type Field Description java.lang.StringbaseMessagejava.lang.Stringkeystatic intTYPE_DATEstatic intTYPE_NUMBERstatic intTYPE_STRINGstatic intTYPE_TIMEstatic intTYPE_UNKNOWN
-
Constructor Summary
Constructors Constructor Description ResourceDefinition(java.lang.String key, java.lang.String baseMessage)Creates a resource definition with no properties.ResourceDefinition(java.lang.String key, java.lang.String baseMessage, java.lang.String[] props)Creates a resource definition.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected static intgetArgType(int i, java.lang.String message)Returns the type of theith argument inside a message, orTYPE_UNKNOWNif not found.java.lang.String[]getArgTypes()Returns the types of arguments.protected static java.lang.String[]getArgTypes(java.lang.String message, java.lang.String[] typeNames)Parses a message for the arguments inside it, and returns an array with the types of those arguments.protected static java.lang.String[]getArgTypesByHand(java.lang.String message, java.lang.String[] typeNames)java.lang.StringgetBaseMessage()Returns this resource definition's message in the base locale.java.lang.StringgetKey()Returns this resource definition's key.java.util.PropertiesgetProperties()Returns the properties of this resource definition.ResourceInstanceinstantiate(java.util.ResourceBundle bundle, java.lang.Object[] args)Creates an instance of this definition with a set of parameters.
-
-
-
Field Detail
-
key
public final java.lang.String key
-
baseMessage
public final java.lang.String baseMessage
-
TYPE_UNKNOWN
public static final int TYPE_UNKNOWN
- See Also:
- Constant Field Values
-
TYPE_STRING
public static final int TYPE_STRING
- See Also:
- Constant Field Values
-
TYPE_NUMBER
public static final int TYPE_NUMBER
- See Also:
- Constant Field Values
-
TYPE_DATE
public static final int TYPE_DATE
- See Also:
- Constant Field Values
-
TYPE_TIME
public static final int TYPE_TIME
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ResourceDefinition
public ResourceDefinition(java.lang.String key, java.lang.String baseMessage)Creates a resource definition with no properties.- Parameters:
key- Unique name for this resource definition.baseMessage- Message for this resource definition in the base locale.
-
ResourceDefinition
public ResourceDefinition(java.lang.String key, java.lang.String baseMessage, java.lang.String[] props)Creates a resource definition.- Parameters:
key- Unique name for this resource definition.baseMessage- Message for this resource definition in the base locale.props- Array of property name/value pairs.nullmeans the same as an empty array.
-
-
Method Detail
-
getKey
public java.lang.String getKey()
Returns this resource definition's key.
-
getBaseMessage
public java.lang.String getBaseMessage()
Returns this resource definition's message in the base locale. (To find the message in another locale, you will need to load a resource bundle for that locale.)
-
getProperties
public java.util.Properties getProperties()
Returns the properties of this resource definition.
-
getArgTypes
public java.lang.String[] getArgTypes()
Returns the types of arguments.
-
instantiate
public ResourceInstance instantiate(java.util.ResourceBundle bundle, java.lang.Object[] args)
Creates an instance of this definition with a set of parameters. This is a factory method, which may be overridden by a derived class.- Parameters:
bundle- Resource bundle the resource instance will belong to (This contains the locale, among other things.)args- Arguments to populate the message's parameters. The arguments must be consistent in number and type with the results ofgetArgTypes().
-
getArgTypes
protected static java.lang.String[] getArgTypes(java.lang.String message, java.lang.String[] typeNames)Parses a message for the arguments inside it, and returns an array with the types of those arguments.For example,
getArgTypes("I bought {0,number} {2}s", new String[] {"string", "number", "date", "time"})yields {"number", null, "string"}. Note the null corresponding to missing message #1.- Parameters:
message- Message to be parsed.typeNames- Strings to return for types.- Returns:
- Array of type names
-
getArgTypesByHand
protected static java.lang.String[] getArgTypesByHand(java.lang.String message, java.lang.String[] typeNames)
-
getArgType
protected static int getArgType(int i, java.lang.String message)Returns the type of theith argument inside a message, orTYPE_UNKNOWNif not found.- Parameters:
i- Ordinal of argumentmessage- Message to parse- Returns:
- Type code (
TYPE_STRINGetc.)
-
-