public class ResourceDefinition extends Object
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.
Modifier and Type | Field and Description |
---|---|
String |
baseMessage |
String |
key |
static int |
TYPE_DATE |
static int |
TYPE_NUMBER |
static int |
TYPE_STRING |
static int |
TYPE_TIME |
static int |
TYPE_UNKNOWN |
Constructor and Description |
---|
ResourceDefinition(String key,
String baseMessage)
Creates a resource definition with no properties.
|
ResourceDefinition(String key,
String baseMessage,
String[] props)
Creates a resource definition.
|
Modifier and Type | Method and Description |
---|---|
protected static int |
getArgType(int i,
String message)
Returns the type of the
i th argument inside a message,
or TYPE_UNKNOWN if not found. |
String[] |
getArgTypes()
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) |
String |
getBaseMessage()
Returns this resource definition's message in the base locale.
|
String |
getKey()
Returns this resource definition's key.
|
Properties |
getProperties()
Returns the properties of this resource definition.
|
ResourceInstance |
instantiate(ResourceBundle bundle,
Object[] args)
Creates an instance of this definition with a set of parameters.
|
public final String baseMessage
public static final int TYPE_UNKNOWN
public static final int TYPE_STRING
public static final int TYPE_NUMBER
public static final int TYPE_DATE
public static final int TYPE_TIME
public ResourceDefinition(String key, String baseMessage)
key
- Unique name for this resource definition.baseMessage
- Message for this resource definition in the base
locale.public ResourceDefinition(String key, String baseMessage, String[] props)
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.public String getBaseMessage()
public Properties getProperties()
public String[] getArgTypes()
public ResourceInstance instantiate(ResourceBundle bundle, Object[] args)
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
of getArgTypes()
.protected static String[] getArgTypes(String message, String[] typeNames)
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.
message
- Message to be parsed.typeNames
- Strings to return for types.protected static String[] getArgTypesByHand(String message, String[] typeNames)
protected static int getArgType(int i, String message)
i
th argument inside a message,
or TYPE_UNKNOWN
if not found.i
- Ordinal of argumentmessage
- Message to parseTYPE_STRING
etc.)