*/
package org.opendaylight.controller.config.manager.impl.jmx;
+import com.google.common.base.Preconditions;
import java.io.Closeable;
import java.util.Set;
-
import javax.management.InstanceAlreadyExistsException;
import javax.management.ObjectName;
import javax.management.QueryExp;
-
import org.opendaylight.controller.config.api.jmx.ObjectNameUtil;
-import org.opendaylight.controller.config.manager.impl.jmx.InternalJMXRegistrator.InternalJMXRegistration;
/**
* Contains constraints on passed {@link ObjectName} parameters. Only allow (un)
private final InternalJMXRegistrator childJMXRegistrator;
private final String transactionName;
- TransactionJMXRegistrator(InternalJMXRegistrator internalJMXRegistrator,
- String transactionName) {
- this.childJMXRegistrator = internalJMXRegistrator.createChild();
+ TransactionJMXRegistrator(final InternalJMXRegistrator internalJMXRegistrator,
+ final String transactionName) {
+ this.childJMXRegistrator = Preconditions.checkNotNull(internalJMXRegistrator);
this.transactionName = transactionName;
}
public static class TransactionJMXRegistration implements AutoCloseable {
private final InternalJMXRegistration registration;
- TransactionJMXRegistration(InternalJMXRegistration registration) {
+ TransactionJMXRegistration(final InternalJMXRegistration registration) {
this.registration = registration;
}
}
}
- public TransactionJMXRegistration registerMBean(Object object, ObjectName on)
+ public TransactionJMXRegistration registerMBean(final Object object, final ObjectName on)
throws InstanceAlreadyExistsException {
- if (!transactionName.equals(ObjectNameUtil.getTransactionName(on)))
+ if (!transactionName.equals(ObjectNameUtil.getTransactionName(on))) {
throw new IllegalArgumentException(
"Transaction name mismatch between expected "
+ transactionName + " " + "and " + on);
+ }
ObjectNameUtil.checkType(on, ObjectNameUtil.TYPE_CONFIG_TRANSACTION);
return new TransactionJMXRegistration(
childJMXRegistrator.registerMBean(object, on));
}
- public Set<ObjectName> queryNames(ObjectName name, QueryExp query) {
+ public Set<ObjectName> queryNames(final ObjectName name, final QueryExp query) {
return childJMXRegistrator.queryNames(name, query);
}
}
@Override
- public void close() { // closes also all child TransactionModuleJMXRegistrator instances
+ public void close() {
+ // closes also all child TransactionModuleJMXRegistrator instances
childJMXRegistrator.close();
}
}