Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

javax.management
Class ObjectName  view ObjectName download ObjectName.java

java.lang.Object
  extended byjavax.management.ObjectName
All Implemented Interfaces:
java.io.Serializable

public class ObjectName
extends java.lang.Object
implements java.io.Serializable

Object name represents the MBean reference.

Version:
$Revision: 1.10.4.2 $

Revisions:

20020521 Adrian Brock:

  • Allow *,* in the hashtable properties to signify a property pattern

20020710 Adrian Brock:

  • Serialization

Field Summary
private  java.lang.String ckProps
           
private  java.lang.String domain
           
private  int hash
           
private  boolean hasPattern
           
private  boolean hasPropertyPattern
           
private  java.lang.String kProps
           
private  java.util.Hashtable propertiesHash
           
private static java.io.ObjectStreamField[] serialPersistentFields
           
private static long serialVersionUID
           
 
Constructor Summary
ObjectName(java.lang.String name)
           
ObjectName(java.lang.String domain, java.util.Hashtable table)
           
ObjectName(java.lang.String domain, java.lang.String key, java.lang.String value)
           
 
Method Summary
 boolean equals(java.lang.Object object)
          Determine whether this Object is semantically equal to another Object.
 java.lang.String getCanonicalKeyPropertyListString()
           
 java.lang.String getCanonicalName()
           
 java.lang.String getDomain()
           
 java.lang.String getKeyProperty(java.lang.String property)
           
 java.util.Hashtable getKeyPropertyList()
           
 java.lang.String getKeyPropertyListString()
           
 int hashCode()
          Get a value that represents this Object, as uniquely as possible within the confines of an int.
private  void init(java.lang.String name)
          constructs an object name from a string
private  void initDomain(java.lang.String dstring)
          checks for domain patterns and illegal characters
private  void initProperties(java.util.Hashtable properties)
          validates incoming properties hashtable builds canonical string precomputes the hashcode
private  void initProperties(java.lang.String properties)
          takes the properties string and breaks it up into key/value pairs for insertion into a newly created hashtable.
private  boolean isIllegalDomain(java.lang.String dom)
          returns true if the domain contains illegal characters
private  boolean isIllegalKeyOrValue(java.lang.String keyOrValue)
          returns true if the key or value string is zero length or contains illegal characters
 boolean isPattern()
           
 boolean isPropertyPattern()
           
private  void readObject(java.io.ObjectInputStream ois)
           
 java.lang.String toString()
          Convert this Object to a human-readable String.
private  void writeObject(java.io.ObjectOutputStream oos)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

hasPattern

private transient boolean hasPattern

hasPropertyPattern

private transient boolean hasPropertyPattern

propertiesHash

private transient java.util.Hashtable propertiesHash

domain

private transient java.lang.String domain

kProps

private transient java.lang.String kProps

ckProps

private transient java.lang.String ckProps

hash

private transient int hash

serialVersionUID

private static final long serialVersionUID

serialPersistentFields

private static final java.io.ObjectStreamField[] serialPersistentFields
Constructor Detail

ObjectName

public ObjectName(java.lang.String name)
           throws MalformedObjectNameException

ObjectName

public ObjectName(java.lang.String domain,
                  java.lang.String key,
                  java.lang.String value)
           throws MalformedObjectNameException

ObjectName

public ObjectName(java.lang.String domain,
                  java.util.Hashtable table)
           throws MalformedObjectNameException
Method Detail

equals

public boolean equals(java.lang.Object object)
Description copied from class: java.lang.Object
Determine whether this Object is semantically equal to another Object.

There are some fairly strict requirements on this method which subclasses must follow:

  • It must be transitive. If a.equals(b) and b.equals(c), then a.equals(c) must be true as well.
  • It must be symmetric. a.equals(b) and b.equals(a) must have the same value.
  • It must be reflexive. a.equals(a) must always be true.
  • It must be consistent. Whichever value a.equals(b) returns on the first invocation must be the value returned on all later invocations.
  • a.equals(null) must be false.
  • It must be consistent with hashCode(). That is, a.equals(b) must imply a.hashCode() == b.hashCode(). The reverse is not true; two objects that are not equal may have the same hashcode, but that has the potential to harm hashing performance.

This is typically overridden to throw a java.lang.ClassCastException if the argument is not comparable to the class performing the comparison, but that is not a requirement. It is legal for a.equals(b) to be true even though a.getClass() != b.getClass(). Also, it is typical to never cause a java.lang.NullPointerException.

In general, the Collections API (java.util) use the equals method rather than the == operator to compare objects. However, java.util.IdentityHashMap is an exception to this rule, for its own good reasons.

The default implementation returns this == o.


hashCode

public int hashCode()
Description copied from class: java.lang.Object
Get a value that represents this Object, as uniquely as possible within the confines of an int.

There are some requirements on this method which subclasses must follow:

  • Semantic equality implies identical hashcodes. In other words, if a.equals(b) is true, then a.hashCode() == b.hashCode() must be as well. However, the reverse is not necessarily true, and two objects may have the same hashcode without being equal.
  • It must be consistent. Whichever value o.hashCode() returns on the first invocation must be the value returned on all later invocations as long as the object exists. Notice, however, that the result of hashCode may change between separate executions of a Virtual Machine, because it is not invoked on the same object.

Notice that since hashCode is used in java.util.Hashtable and other hashing classes, a poor implementation will degrade the performance of hashing (so don't blindly implement it as returning a constant!). Also, if calculating the hash is time-consuming, a class may consider caching the results.

The default implementation returns System.identityHashCode(this)


toString

public java.lang.String toString()
Description copied from class: java.lang.Object
Convert this Object to a human-readable String. There are no limits placed on how long this String should be or what it should contain. We suggest you make it as intuitive as possible to be able to place it into System.out.println() 55 and such.

It is typical, but not required, to ensure that this method never completes abruptly with a java.lang.RuntimeException.

This method will be called when performing string concatenation with this object. If the result is null, string concatenation will instead use "null".

The default implementation returns getClass().getName() + "@" + Integer.toHexString(hashCode()).


isPattern

public boolean isPattern()

getCanonicalName

public java.lang.String getCanonicalName()

getDomain

public java.lang.String getDomain()

getKeyProperty

public java.lang.String getKeyProperty(java.lang.String property)

getKeyPropertyList

public java.util.Hashtable getKeyPropertyList()

getKeyPropertyListString

public java.lang.String getKeyPropertyListString()

getCanonicalKeyPropertyListString

public java.lang.String getCanonicalKeyPropertyListString()

isPropertyPattern

public boolean isPropertyPattern()

init

private void init(java.lang.String name)
           throws MalformedObjectNameException
constructs an object name from a string


initDomain

private void initDomain(java.lang.String dstring)
                 throws MalformedObjectNameException
checks for domain patterns and illegal characters


initProperties

private void initProperties(java.lang.String properties)
                     throws MalformedObjectNameException
takes the properties string and breaks it up into key/value pairs for insertion into a newly created hashtable. minimal validation is performed so that it doesn't blow up when constructing the kvp strings. checks for duplicate keys detects property patterns


initProperties

private void initProperties(java.util.Hashtable properties)
                     throws MalformedObjectNameException
validates incoming properties hashtable builds canonical string precomputes the hashcode


isIllegalKeyOrValue

private boolean isIllegalKeyOrValue(java.lang.String keyOrValue)
returns true if the key or value string is zero length or contains illegal characters


isIllegalDomain

private boolean isIllegalDomain(java.lang.String dom)
returns true if the domain contains illegal characters


readObject

private void readObject(java.io.ObjectInputStream ois)
                 throws java.io.IOException,
                        java.lang.ClassNotFoundException

writeObject

private void writeObject(java.io.ObjectOutputStream oos)
                  throws java.io.IOException