All Downloads are FREE. Search and download functionalities are using the official Maven repository.

javax.slee.ServiceID Maven / Gradle / Ivy

package javax.slee;

/**
 * The ServiceID class encapsulates Service component identity.
 * A ServiceID object is also known as a Service identifier.
 */
public final class ServiceID extends ComponentID {
    /**
     * Create a new service component identifier.
     * @param name the name of the service component.
     * @param vendor the vendor of the service component.
     * @param version the version of the service component.
     * @throws NullPointerException if any argument is null.
     */
    public ServiceID(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 service component identifier.
     * @return a copy of this service component identifier.
     * @see Object#clone()
     */
    public Object clone() {
        return new ServiceID(getName(), getVendor(), getVersion());
    }

    // protected

    protected String getClassName() {
        return TYPE;
    }


    // constant to avoid expensive getClass() invocations at runtime
    private static final String TYPE = ServiceID.class.getName();
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy