package javax.slee.profile; import javax.slee.ComponentID; /** * The <code>ProfileSpecificationID</code> class encapsulates profile specification * component identity. A <code>ProfileSpecificationID</code> object is also known * as a profile specification identifier. */ public final class ProfileSpecificationID extends ComponentID { /** * Create a new profile specification component identifier. * @param name the name of the profile specification component. * @param vendor the vendor of the profile specification component. * @param version the version of the profile specification component. * @throws NullPointerException if any argument is <code>null</code>. */ public ProfileSpecificationID(String name, String vendor, String version) { super(name, vendor, version); } public final int compareTo(Object obj) { if (obj == this) return 0; if (!(obj instanceof ComponentID)) throw new ClassCastException("Not a javax.slee.ComponentID: " + obj); return super.compareTo(TYPE, (ComponentID)obj); } /** * Create a copy of this profile specification component identifier. * @return a copy of this profile specification component identifier. * @see Object#clone() */ public Object clone() { return new ProfileSpecificationID(getName(), getVendor(), getVersion()); } // protected protected String getClassName() { return TYPE; } // constant to avoid expensive getClass() invocations at runtime private static final String TYPE = ProfileSpecificationID.class.getName(); }