ConnectionImpl.java
package org.cyclopsgroup.jmxterm.cc;
import java.io.IOException;
import javax.management.MBeanServerConnection;
import javax.management.remote.JMXConnector;
import javax.management.remote.JMXServiceURL;
import org.apache.commons.lang3.Validate;
import org.cyclopsgroup.jmxterm.Connection;
/**
* Identifies a JMX connection
*
* @author <a href="mailto:jiaqi.guo@gmail.com">Jiaqi Guo</a>
*/
class ConnectionImpl implements Connection {
private final JMXConnector connector;
private final JMXServiceURL url;
/**
* @param connector JMX connector
* @param url JMX service URL object
*/
ConnectionImpl(JMXConnector connector, JMXServiceURL url) {
Validate.notNull(connector, "JMX connector can't be NULL");
Validate.notNull(url, "JMX service URL can't be NULL");
this.connector = connector;
this.url = url;
}
/**
* Close current connection
*
* @throws IOException Communication error
*/
void close() throws IOException {
connector.close();
}
/**
* @return JMX connector
*/
public final JMXConnector getConnector() {
return connector;
}
@Override
public String getConnectorId() throws IOException {
return connector.getConnectionId();
}
@Override
public MBeanServerConnection getServerConnection() throws IOException {
return connector.getMBeanServerConnection();
}
@Override
public final JMXServiceURL getUrl() {
return url;
}
}