Package org.eigenbase.resgen
Class ResourceDefinition
java.lang.Object
org.eigenbase.resgen.ResourceDefinition
Definition of a resource such as a parameterized message or exception.
A resource is identified within a ResourceBundle
by 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 -
Constructor Summary
ConstructorsConstructorDescriptionResourceDefinition
(String key, String baseMessage) Creates a resource definition with no properties.ResourceDefinition
(String key, String baseMessage, String[] props) Creates a resource definition. -
Method Summary
Modifier and TypeMethodDescriptionprotected static int
getArgType
(int i, String message) Returns the type of thei
th argument inside a message, orTYPE_UNKNOWN
if not found.String[]
Returns the types of arguments.protected static String[]
getArgTypes
(String message, String[] typeNames) Parses a message for the arguments inside it, and returns an array with the types of those arguments.protected static String[]
getArgTypesByHand
(String message, String[] typeNames) Returns this resource definition's message in the base locale.getKey()
Returns this resource definition's key.Returns the properties of this resource definition.instantiate
(ResourceBundle bundle, Object[] args) Creates an instance of this definition with a set of parameters.
-
Field Details
-
key
-
baseMessage
-
TYPE_UNKNOWN
public static final int TYPE_UNKNOWN- See Also:
-
TYPE_STRING
public static final int TYPE_STRING- See Also:
-
TYPE_NUMBER
public static final int TYPE_NUMBER- See Also:
-
TYPE_DATE
public static final int TYPE_DATE- See Also:
-
TYPE_TIME
public static final int TYPE_TIME- See Also:
-
-
Constructor Details
-
ResourceDefinition
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
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.null
means the same as an empty array.
-
-
Method Details
-
getKey
Returns this resource definition's key. -
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
Returns the properties of this resource definition. -
getArgTypes
Returns the types of arguments. -
instantiate
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
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
-
getArgType
Returns the type of thei
th argument inside a message, orTYPE_UNKNOWN
if not found.- Parameters:
i
- Ordinal of argumentmessage
- Message to parse- Returns:
- Type code (
TYPE_STRING
etc.)
-