api/jar/src/main/java/javax/slee/management/SbbNotification.java
public static String getUsageMBeanProperties(ServiceID service, SbbID sbb) {
        if (service == null) throw new NullPointerException("service is null");
        if (sbb == null) throw new NullPointerException("sbb is null");
        StringBuffer buf = new StringBuffer();
        buf.append(SERVICE_NAME_KEY).append('=').append(ObjectName.quote(service.getName())).append(',');
        buf.append(SERVICE_VENDOR_KEY).append('=').append(ObjectName.quote(service.getVendor())).append(',');
        buf.append(SERVICE_VERSION_KEY).append('=').append(ObjectName.quote(service.getVersion())).append(',');
        buf.append(SBB_NAME_KEY).append('=').append(ObjectName.quote(sbb.getName())).append(',');
        buf.append(SBB_VENDOR_KEY).append('=').append(ObjectName.quote(sbb.getVendor())).append(',');
        buf.append(SBB_VERSION_KEY).append('=').append(ObjectName.quote(sbb.getVersion()));
        return buf.toString();
    }
public static String getUsageMBeanProperties(ServiceID service, SbbID sbb) {
        if (service == null) throw new NullPointerException("service is null");
        if (sbb == null) throw new NullPointerException("sbb is null");
        StringBuffer buf = new StringBuffer();
        buf.append(SERVICE_NAME_KEY).append('=').append(ObjectName.quote(service.getName())).append(',');
        buf.append(SERVICE_VENDOR_KEY).append('=').append(ObjectName.quote(service.getVendor())).append(',');
        buf.append(SERVICE_VERSION_KEY).append('=').append(ObjectName.quote(service.getVersion())).append(',');
        buf.append(SBB_NAME_KEY).append('=').append(ObjectName.quote(sbb.getName())).append(',');
        buf.append(SBB_VENDOR_KEY).append('=').append(ObjectName.quote(sbb.getVendor())).append(',');
        buf.append(SBB_VERSION_KEY).append('=').append(ObjectName.quote(sbb.getVersion()));
        return buf.toString();
    }
Get a JMX Object Name property string that uniquely identifies the specified
service and SBB, suitable for inclusion in the Object Name of a Usage MBean.
This method makes use of the {@link ObjectName#quote}</code> method to ensure
that the component identifier attributes are valid for inclusion as property
values in an Object Name.
<p>
This method can be used as follows to manually construct a complete Object Name
for a Usage MBean:
<br><ul><code>
ObjectName name = new ObjectName(<br>
&nbsp;&nbsp;&nbsp;&nbsp;{@link javax.slee.usage.UsageMBean#BASE_OBJECT_NAME} + "," +<br>
&nbsp;&nbsp;&nbsp;&nbsp;{@link javax.slee.usage.UsageMBean#USAGE_PARAMETER_SET_NAME_KEY} + "=" + ObjectName.quote(paramSetName) + "," &nbsp; // optional<br>
&nbsp;&nbsp;&nbsp;&nbsp;{@link javax.slee.usage.UsageMBean#NOTIFICATION_SOURCE_KEY} + "=" + {@link #USAGE_NOTIFICATION_TYPE SbbNotification.USAGE_NOTIFICATION_TYPE} + "," +<br>
&nbsp;&nbsp;&nbsp;&nbsp;{@link #getUsageMBeanProperties(ServiceID, SbbID) SbbNotification.getUsageMBeanProperties(service, sbb)}<br>
);
</code></ul>
@param service the component identifier of the service.
@param sbb the component identifier of the SBB.
@return an Object Name property string that uniquely identifies the specified
service and SBB components.
@throws NullPointerException if either argument is <code>null</code>.