This way it follows AutoCloseable#close() contract, e.g. allows multiple
invocations.
Change-Id: Ied93bbdd388189a928cf06cbbc913fe124a284dd
Signed-off-by: Robert Varga <rovarga@cisco.com>
import com.google.common.base.Preconditions;
import javax.management.ObjectName;
import com.google.common.base.Preconditions;
import javax.management.ObjectName;
+import org.opendaylight.yangtools.concepts.AbstractObjectRegistration;
-final class InternalJMXRegistration implements AutoCloseable {
+final class InternalJMXRegistration extends AbstractObjectRegistration<ObjectName> {
private final InternalJMXRegistrator internalJMXRegistrator;
private final InternalJMXRegistrator internalJMXRegistrator;
- private final ObjectName on;
InternalJMXRegistration(final InternalJMXRegistrator internalJMXRegistrator, final ObjectName on) {
InternalJMXRegistration(final InternalJMXRegistrator internalJMXRegistrator, final ObjectName on) {
this.internalJMXRegistrator = Preconditions.checkNotNull(internalJMXRegistrator);
this.internalJMXRegistrator = Preconditions.checkNotNull(internalJMXRegistrator);
- public void close() {
- internalJMXRegistrator.unregisterMBean(on);
+ protected void removeRegistration() {
+ internalJMXRegistrator.unregisterMBean(getInstance());