void beforeMutableOperationInner() { if (parent != null) { parent.beforeMutableOperationInner(); } else { beforeMutableOperation(); } }
/** {@inheritDoc} */ @Override public String toString() { return "Name= " + getName() + ", Description =" + getDescription(); }
/** {@inheritDoc} */ public void remove() { mainLock.lock(); try { beforeMutableOperationInner(); if (parent != null) { parent.childGroups.remove(getName()); parent = null; } } finally { mainLock.unlock(); } }
/** {@inheritDoc} */ public void register(MBeanServer server, ObjectName objectName) throws JMException { if (server == null) { throw new NullPointerException("server is null"); } else if (objectName == null) { throw new NullPointerException("objectName is null"); } mainLock.lock(); try { beforeMutableOperationInner(); if (this.objectName != null) { throw new IllegalStateException("This group has already been registered [MBeanServer = " + this.server + ", ObjectName= " + this.objectName + "]"); } server.registerMBean(getRegistrant(), objectName); // might fail this.server = server; this.objectName = objectName; } finally { mainLock.unlock(); } }
/** {@inheritDoc} */ public void unregister() throws JMException { mainLock.lock(); try { if (objectName != null) { beforeMutableOperationInner(); server.unregisterMBean(objectName); objectName = null; server = null; } } finally { mainLock.unlock(); } } }