Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Object
javax.management.ObjectName
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.
Field Summary | |
static ObjectName |
|
Constructor Summary | |
| |
| |
|
Method Summary | |
boolean |
|
boolean | |
String |
|
String |
|
String |
|
static ObjectName |
|
static ObjectName |
|
static ObjectName |
|
static ObjectName |
|
String |
|
Hashtable |
|
String |
|
int |
|
boolean |
|
boolean |
|
boolean |
|
boolean |
|
boolean |
|
boolean |
|
static String | |
void |
|
String |
|
static String |
Methods inherited from class java.lang.Object | |
clone , equals , extends Object> getClass , finalize , hashCode , notify , notifyAll , toString , wait , wait , wait |
public ObjectName(String name) throws MalformedObjectNameException
Constructs anObjectName
instance from the given string, which should be of the form <domain>:<properties><wild>. <domain> represents the domain section of the name. <properties> represents the key-value pairs, as returned bygetKeyPropertyListString()
. <wild> is the optional asterisk present in the property list. If the string doesn't represent a property pattern, it will be empty. If it does, it will be either ',*' or '*', depending on whether other properties are present or not, respectively.
- Parameters:
name
- the string to use to construct this instance.
- Throws:
MalformedObjectNameException
- if the string is of the wrong format.NullPointerException
- ifname
isnull
.
public ObjectName(String domain, Hashtableproperties) throws MalformedObjectNameException
Constructs anObjectName
instance using the given domain and properties.
- 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 isnull
.
public ObjectName(String domain, String key, String value) throws MalformedObjectNameException
Constructs anObjectName
instance using the given domain and the one specified property.
- 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 isnull
.
public boolean apply(ObjectName name)
Attempts to find a match between this name and the one supplied. The following criteria are used:
- If the supplied name is a pattern,
false
is returned.- If this name is a pattern, this method returns
true
if the supplied name matches the pattern.- If this name is not a pattern, the result of
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
equals(Object)
- Throws:
NullPointerException
- ifname
isnull
.
public boolean equals(Object obj)
Compares the specified object with this one. The two are judged to be equivalent if the given object is an instance ofObjectName
and has an equal canonical form (as returned bygetCanonicalName()
).
- Parameters:
obj
- the object to compare with this.
- Returns:
- true if the object is also an
ObjectName
with an equivalent canonical form.
public String getCanonicalKeyPropertyListString()
Returns the property list in canonical form. The keys are ordered using the lexicographic ordering used byjava.lang.String.compareTo(java.lang.Object)
.
- Returns:
- the property list, with the keys in lexicographic order.
public String getCanonicalName()
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 bygetCanonicalKeyPropertyListString()
. <wild> is:
- an empty string, if the object name is not a property pattern.
- '*' if <properties> is empty.
- ',*' if there is at least one key-value pair.
- Returns:
- the canonical string form of the object name, as specified above.
public static ObjectName getInstance(String name) throws MalformedObjectNameException
Returns anObjectName
instance for the specified name, represented as aString
. The instance returned may be a subclass ofObjectName
and may or may not be equivalent to earlier instances returned by this method for the same string.
- Parameters:
name
- theObjectName
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
- ifname
isnull
.
public static ObjectName getInstance(String domain, Hashtableproperties) throws MalformedObjectNameException
Returns anObjectName
instance for the specified name, represented as a domainString
and a table of properties. The instance returned may be a subclass ofObjectName
and may or may not be equivalent to earlier instances returned by this method for the same string.
- 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
- ifname
isnull
.
public static ObjectName getInstance(String domain, String key, String value) throws MalformedObjectNameException
Returns anObjectName
instance for the specified name, represented as a series ofString
objects for the domain and a single property, as a key-value pair. The instance returned may be a subclass ofObjectName
and may or may not be equivalent to earlier instances returned by this method for the same parameters.
- 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
- ifname
isnull
.
public static ObjectName getInstance(ObjectName name)
Returns anObjectName
instance that is substitutable for the one given. The instance returned may be a subclass ofObjectName
, but is not guaranteed to be of the same type as the given name, if that should also turn out to be a subclass. The returned instance may or may not be equivalent to the one given. The purpose of this method is to provide an instance ofObjectName
with a well-defined semantics, such as may be used in cases where the given name is not trustworthy.
- Parameters:
name
- theObjectName
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
- ifname
isnull
.
public String getKeyProperty(String key)
Returns the property value corresponding to the given key.
- Parameters:
key
- the key of the property to be obtained.
- Returns:
- the value of the specified property.
- Throws:
NullPointerException
- ifkey
isnull
.
public HashtablegetKeyPropertyList()
Returns the properties in aHashtable
. The table contains each of the properties as keys mapped to their value. The returned table is not unmodifiable, but changes made to it will not be reflected in the object name.
- Returns:
- a
Hashtable
, containing each of the object name's properties.
public String getKeyPropertyListString()
Returns aString
representation of the property list. If the object name was created usingObjectName(String)
, then this string will contain the properties in the same order they were given in at creation.
- Returns:
- the property list.
public int hashCode()
Returns a hash code for this object name. This is calculated as the summation of the hash codes of the domain and the properties.
- Returns:
- a hash code for this object name.
public boolean isDomainPattern()
Returns true if the domain of this object name is a pattern. This is the case if it contains one or more wildcard characters ('*' or '?').
- Returns:
- true if the domain is a pattern.
public boolean isPattern()
Returns true if this is an object name pattern. An object name pattern has a domain containing a wildcard character ('*' or '?') and/or a '*' in the list of properties. This method will return true if eitherisDomainPattern()
orisPropertyPattern()
does.
- Returns:
- true if this is an object name pattern.
public boolean isPropertyListPattern()
Returns true if this object name is a property list pattern. This is the case if the list of properties contains an '*'.
- Returns:
- true if this is a property list pattern.
- Since:
- 1.6
public boolean isPropertyPattern()
Returns true if this object name is a property list pattern, a property value pattern or both.
- Returns:
- true if the properties of this name contain a pattern.
- See Also:
isPropertyListPattern()
,isPropertyValuePattern
public boolean isPropertyValuePattern()
Returns true if this object name is a property value pattern. This is the case if one of the values contains a wildcard character, '?' or '*'.
- Returns:
- true if this is a property value pattern.
- Since:
- 1.6
public boolean isPropertyValuePattern(String key)
Returns true if the value of the given key is a pattern. This is the case if the value contains a wildcard character, '?' or '*'.
- Parameters:
key
- the key whose value should be checked.
- Returns:
- true if the value of the given key is a pattern.
- Throws:
NullPointerException
- ifkey
isnull
.IllegalArgumentException
- ifkey
is not a valid property.
- Since:
- 1.6
public static String quote(String string)
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:
- The string is prefixed with an opening quote character, '"'.
- For each character, s:
- If s is a quote ('"'), it is replaced by a backslash followed by a quote.
- If s is a star ('*'), it is replaced by a backslash followed by a star.
- If s is a question mark ('?'), it is replaced by a backslash followed by a question mark.
- If s is a backslash ('\'), it is replaced by two backslashes.
- If s is a newline character, it is replaced by a backslash followed by a '\n'.
- Otherwise, s is used verbatim.
The string is terminated with a closing quote character, '"'.
- Parameters:
string
- the string to quote.
- Returns:
- a quoted version of the supplied string.
- Throws:
NullPointerException
- ifstring
isnull
.
public void setMBeanServer(MBeanServer server)
Changes theMBeanServer
on which this query is performed.
- Specified by:
- setMBeanServer in interface QueryExp
- Parameters:
server
- the new server to use.
public String toString()
Returns a textual representation of the object name.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.
public static String unquote(String q)
Unquotes the supplied string. The quotation marks are removed as are the backslashes preceding the escaped characters ('"', '?', '*', '\n', '\\'). A one-to-one mapping exists between quoted and unquoted values. As a result, a strings
should be equal tounquote(quote(s))
.
- Parameters:
q
- the quoted string to unquote.
- Returns:
- the unquoted string.
- Throws:
NullPointerException
- ifq
isnull
.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.