javax.management
public class ObjectName extends Object implements Serializable, QueryExp
An 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 ObjectName instance
into a
A
A value may be
Both quoted and unquoted values may contain the wildcard characters
'?' and '*'. A name with at least one value containing a wildcard
character is known as a
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
Field Summary | |
---|---|
static ObjectName | WILDCARD
The wildcard ObjectName {@code "*:*"}
|
Constructor Summary | |
---|---|
ObjectName(String name)
Constructs an ObjectName instance from the given string,
which should be of the form
<domain>:<properties><wild>. | |
ObjectName(String domain, String key, String value)
Constructs an ObjectName instance using the given
domain and the one specified property.
| |
ObjectName(String domain, Hashtable<String,String> properties)
Constructs an 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 ObjectName instance that is substitutable for the
one given. |
static ObjectName | getInstance(String name)
Returns an ObjectName instance for the specified name, represented
as a java.lang.String. |
static ObjectName | getInstance(String domain, String key, String value)
Returns an ObjectName instance for the specified name, represented
as a series of 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 ObjectName instance for the specified name, represented
as a domain 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 java.util.Hashtable. |
String | getKeyPropertyListString()
Returns a 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 | isPropertyListPattern()
Returns true if this object name is a property list pattern. |
boolean | isPropertyPattern()
Returns true if this object name is a property list
pattern, a property value pattern or both.
|
boolean | isPropertyValuePattern()
Returns true if this object name is a property value pattern. |
boolean | isPropertyValuePattern(String key)
Returns true if the value of the given key is a pattern. |
static String | quote(String string) Returns a quoted version of the supplied string. |
void | setMBeanServer(MBeanServer server)
Changes the 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. |
Since: 1.6
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 ObjectName
Throws: NullPointerException if name
is null
.
Parameters: obj the object to compare with this.
Returns: true if the object is also an 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 getCanonicalKeyPropertyListString. <wild> is:
Returns: the canonical string form of the object name, as specified above.
Returns: the domain.
Parameters: name the ObjectName to provide a substitute for.
Returns: a substitute for the given name, which may or may not be a subclass of ObjectName. In either case, the returned object is guaranteed to have the semantics defined here.
Throws: NullPointerException if name
is null
.
Parameters: name the ObjectName to provide an instance of.
Returns: a instance for the given name, which may or may not be a subclass of 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 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 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 java.util.Hashtable, containing each of the object name's properties.
(String)
, then this string will contain the properties
in the same order they were given in at creation.
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 list pattern.
Since: 1.6
Returns: true if the properties of this name contain a pattern.
See Also: ObjectName ObjectName
Returns: true if this is a property value pattern.
Since: 1.6
Parameters: key the key whose value should be checked.
Returns: true if the value of the given key is a pattern.
Throws: NullPointerException if {@code key} is {@code null}. IllegalArgumentException if {@code key} is not a valid property.
Since: 1.6
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.