javax.management
public class ObjectName extends Object implements Serializable, QueryExp
An {@link ObjectName} instance represents the name of a management bean, or a pattern which may match the name of one or more management beans. Patterns are distinguished from names by the presence of the '?' and '*' characters (which match a single character and a series of zero or more characters, respectively).
Each name begins with a domain element, which is terminated by a ':' character. The domain may be empty. If so, it will be replaced by the default domain of the bean server in certain contexts. The domain is a pattern, if it contains either '?' or '*'. To avoid collisions, it is usual to use reverse DNS names for the domain, as in Java package and property names.
Following the ':' character is a series of properties. The list
is separated by commas, and largely consists of unordered key-value
pairs, separated by an equals sign ('='). At most one element may
be an asterisk ('*'), which turns the {@link ObjectName} instance
into a
A
A value may be
Spaces are maintained within the different parts of the name. Thus,
'domain: key1 = value1
' has a key ' key1 ' with value
' value1 '. Newlines are disallowed, except where escaped in quoted
values.
Since: 1.5
Constructor Summary | |
---|---|
ObjectName(String name)
Constructs an {@link ObjectName} instance from the given string,
which should be of the form
<domain>:<properties><wild>. | |
ObjectName(String domain, String key, String value)
Constructs an {@link ObjectName} instance using the given
domain and the one specified property.
| |
ObjectName(String domain, Hashtable<String,String> properties)
Constructs an {@link ObjectName} instance using the given
domain and properties.
|
Method Summary | |
---|---|
boolean | apply(ObjectName name) Attempts to find a match between this name and the one supplied. |
boolean | equals(Object obj)
Compares the specified object with this one. |
String | getCanonicalKeyPropertyListString()
Returns the property list in canonical form. |
String | getCanonicalName() Returns the name as a string in canonical form. |
String | getDomain()
Returns the domain part of the object name.
|
static ObjectName | getInstance(ObjectName name)
Returns an {@link ObjectName} instance that is substitutable for the
one given. |
static ObjectName | getInstance(String name)
Returns an {@link ObjectName} instance for the specified name, represented
as a {@link java.lang.String}. |
static ObjectName | getInstance(String domain, String key, String value)
Returns an {@link ObjectName} instance for the specified name, represented
as a series of {@link java.lang.String} objects for the domain and a single
property, as a key-value pair. |
static ObjectName | getInstance(String domain, Hashtable<String,String> properties)
Returns an {@link ObjectName} instance for the specified name, represented
as a domain {@link java.lang.String} and a table of properties. |
String | getKeyProperty(String key)
Returns the property value corresponding to the given key.
|
Hashtable<String,String> | getKeyPropertyList()
Returns the properties in a {@link java.util.Hashtable}. |
String | getKeyPropertyListString()
Returns a {@link java.lang.String} representation of the property
list. |
int | hashCode()
Returns a hash code for this object name. |
boolean | isDomainPattern()
Returns true if the domain of this object name is a pattern.
|
boolean | isPattern()
Returns true if this is an object name pattern. |
boolean | isPropertyPattern()
Returns true if this object name is a property pattern. |
static String | quote(String string) Returns a quoted version of the supplied string. |
void | setMBeanServer(MBeanServer server)
Changes the {@link MBeanServer} on which this query is performed.
|
String | toString()
Returns a textual representation of the object name.
|
static String | unquote(String q)
Unquotes the supplied string. |
Parameters: name the string to use to construct this instance.
Throws: MalformedObjectNameException if the string is of the
wrong format. NullPointerException if name
is
null
.
Parameters: domain the domain part of the object name. key the key of the property. value the value of the property.
Throws: MalformedObjectNameException the domain, key or value
contains an illegal
character or the value
does not follow the quoting
specifications. NullPointerException if one of the parameters is
null
.
Parameters: domain the domain part of the object name. properties the key-value property pairs.
Throws: MalformedObjectNameException the domain, a key or a value
contains an illegal
character or a value
does not follow the quoting
specifications. NullPointerException if one of the parameters is
null
.
Attempts to find a match between this name and the one supplied. The following criteria are used:
false
is
returned.true
if the supplied name matches the pattern.equals(name)
is returned.
Parameters: name the name to find a match with.
Returns: true if the name either matches this pattern or is equivalent to this name under the criteria of {@link #equals(java.lang.Object)}
Throws: NullPointerException if name
is null
.
Parameters: obj the object to compare with this.
Returns: true if the object is also an {@link ObjectName} with an equivalent canonical form.
Returns: the property list, with the keys in lexicographic order.
Returns the name as a string in canonical form. More precisely, this returns a string of the format <domain>:<properties><wild>. <properties> is the same value as returned by {@link #getCanonicalKeyPropertyListString()}. <wild> is:
Returns: the canonical string form of the object name, as specified above.
Returns: the domain.
Parameters: name the {@link ObjectName} to provide a substitute for.
Returns: a substitute for the given name, which may or may not be a subclass of {@link ObjectName}. In either case, the returned object is guaranteed to have the semantics defined here.
Throws: NullPointerException if name
is null
.
Parameters: name the {@link ObjectName} to provide an instance of.
Returns: a instance for the given name, which may or may not be a subclass of {@link ObjectName}.
Throws: MalformedObjectNameException the domain, a key or a value
contains an illegal
character or a value
does not follow the quoting
specifications. NullPointerException if name
is null
.
Parameters: domain the domain part of the object name. key the key of the property. value the value of the property.
Returns: a instance for the given name, which may or may not be a subclass of {@link ObjectName}.
Throws: MalformedObjectNameException the domain, a key or a value
contains an illegal
character or a value
does not follow the quoting
specifications. NullPointerException if name
is null
.
Parameters: domain the domain part of the object name. properties the key-value property pairs.
Returns: a instance for the given name, which may or may not be a subclass of {@link ObjectName}.
Throws: MalformedObjectNameException the domain, a key or a value
contains an illegal
character or a value
does not follow the quoting
specifications. NullPointerException if name
is null
.
Parameters: key the key of the property to be obtained.
Returns: the value of the specified property.
Throws: NullPointerException if key
is null
.
Returns: a {@link java.util.Hashtable}, containing each of the object name's properties.
Returns: the property list.
Returns: a hash code for this object name.
Returns: true if the domain is a pattern.
Returns: true if this is an object name pattern.
Returns: true if this is a property pattern.
Returns a quoted version of the supplied string. The string may contain any character. The resulting quoted version is guaranteed to be usable as the value of a property, so this method provides a good way of ensuring that a value is legal.
The string is transformed as follows:
Parameters: string the string to quote.
Returns: a quoted version of the supplied string.
Throws: NullPointerException if string
is null
.
Parameters: server the new server to use.
The format is unspecified beyond that equivalent object names will return the same string from this method, but note that Tomcat depends on the string returned by this method being a valid textual representation of the object name and will fail to start if it is not.
Returns: a textual representation of the object name.
s
should be
equal to unquote(quote(s))
.
Parameters: q the quoted string to unquote.
Returns: the unquoted string.
Throws: NullPointerException if q
is null
. IllegalArgumentException if the string is not a valid
quoted string i.e. it is not
surrounded by quotation marks
and/or characters are not properly
escaped.