replacing Closeable to AutoCloseable
This commit is contained in:
parent
018c3a9380
commit
9b75364617
|
|
@ -1,9 +1,9 @@
|
|||
package me.legrange.mikrotik;
|
||||
|
||||
import java.io.Closeable;
|
||||
import me.legrange.mikrotik.impl.ApiConnectionImpl;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import me.legrange.mikrotik.impl.ApiConnectionImpl;
|
||||
|
||||
/**
|
||||
* The Mikrotik API connection. This is the class used to connect to a remote
|
||||
|
|
@ -12,19 +12,28 @@ import me.legrange.mikrotik.impl.ApiConnectionImpl;
|
|||
* @author GideonLeGrange
|
||||
* @author clairtonluz
|
||||
*/
|
||||
public abstract class ApiConnection implements Closeable {
|
||||
public abstract class ApiConnection implements AutoCloseable {
|
||||
|
||||
/** default TCP port used by Mikrotik API */
|
||||
/**
|
||||
* default TCP port used by Mikrotik API
|
||||
*/
|
||||
public static final int DEFAULT_PORT = 8728;
|
||||
/** default TCP TLS port used by Mikrotik API */
|
||||
/**
|
||||
* default TCP TLS port used by Mikrotik API
|
||||
*/
|
||||
public static final int DEFAULT_TLS_PORT = 8729;
|
||||
/** default connection timeout to use when opening the connection */
|
||||
/**
|
||||
* default connection timeout to use when opening the connection
|
||||
*/
|
||||
public static final int DEFAULT_CONNECTION_TIMEOUT = 60000;
|
||||
/** default command timeout used for synchronous commands */
|
||||
/**
|
||||
* default command timeout used for synchronous commands
|
||||
*/
|
||||
public static final int DEFAULT_COMMAND_TIMEOUT = 60000;
|
||||
|
||||
/**
|
||||
* Create a new API connection to the give device on the supplied port, using anonymous TLS for encryption.
|
||||
*
|
||||
* @param host The host to which to connect.
|
||||
* @param port The TCP port to use.
|
||||
* @param timeout The connection timeout to use when opening the connection.
|
||||
|
|
@ -38,6 +47,7 @@ public abstract class ApiConnection implements Closeable {
|
|||
|
||||
/**
|
||||
* Create a new API connection to the give device on the supplied port, using anonymous TLS for encryption.
|
||||
*
|
||||
* @param host The host to which to connect.
|
||||
* @param port The TCP port to use.
|
||||
* @return The ApiConnection
|
||||
|
|
@ -50,6 +60,7 @@ public abstract class ApiConnection implements Closeable {
|
|||
|
||||
/**
|
||||
* Create a new API connection to the give device on the default API port, using anonymous TLS for encryption.
|
||||
*
|
||||
* @param host The host to which to connect.
|
||||
* @return The ApiConnection
|
||||
* @throws me.legrange.mikrotik.MikrotikApiException Thrown if there is a problem connecting
|
||||
|
|
@ -60,6 +71,7 @@ public abstract class ApiConnection implements Closeable {
|
|||
|
||||
/**
|
||||
* Create a new API connection to the give device on the supplied port
|
||||
*
|
||||
* @param host The host to which to connect.
|
||||
* @param port The TCP port to use.
|
||||
* @param timeout The connection timeout to use when opening the connection.
|
||||
|
|
@ -72,6 +84,7 @@ public abstract class ApiConnection implements Closeable {
|
|||
|
||||
/**
|
||||
* Create a new API connection to the give device on the supplied port
|
||||
*
|
||||
* @param host The host to which to connect.
|
||||
* @param port The TCP port to use.
|
||||
* @return The ApiConnection
|
||||
|
|
@ -83,6 +96,7 @@ public abstract class ApiConnection implements Closeable {
|
|||
|
||||
/**
|
||||
* Create a new API connection to the give device on the default API port.
|
||||
*
|
||||
* @param host The host to which to connect.
|
||||
* @return The ApiConnection
|
||||
* @throws me.legrange.mikrotik.MikrotikApiException Thrown if there is a problem connecting
|
||||
|
|
@ -100,6 +114,7 @@ public abstract class ApiConnection implements Closeable {
|
|||
|
||||
/**
|
||||
* Disconnect from the remote API
|
||||
*
|
||||
* @throws me.legrange.mikrotik.MikrotikApiException Thrown if there is a problem disconnecting
|
||||
*/
|
||||
public abstract void disconnect() throws MikrotikApiException;
|
||||
|
|
@ -114,14 +129,17 @@ public abstract class ApiConnection implements Closeable {
|
|||
*/
|
||||
public abstract void login(String username, String password) throws MikrotikApiException, InterruptedException;
|
||||
|
||||
/** execute a command and return a list of results.
|
||||
/**
|
||||
* execute a command and return a list of results.
|
||||
*
|
||||
* @param cmd Command to execute
|
||||
* @return The list of results
|
||||
* @throws me.legrange.mikrotik.MikrotikApiException
|
||||
*/
|
||||
public abstract List<Map<String, String>> execute(String cmd) throws MikrotikApiException;
|
||||
|
||||
/** execute a command and attach a result listener to receive it's results.
|
||||
/**
|
||||
* execute a command and attach a result listener to receive it's results.
|
||||
*
|
||||
* @param cmd Command to execute
|
||||
* @param lis ResultListener that will receive the results
|
||||
|
|
@ -130,15 +148,19 @@ public abstract class ApiConnection implements Closeable {
|
|||
*/
|
||||
public abstract String execute(String cmd, ResultListener lis) throws MikrotikApiException;
|
||||
|
||||
/** cancel a command
|
||||
/**
|
||||
* cancel a command
|
||||
*
|
||||
* @param tag The tag of the command to cancel
|
||||
* @throws me.legrange.mikrotik.MikrotikApiException Thrown if there is a problem canceling the command */
|
||||
* @throws me.legrange.mikrotik.MikrotikApiException Thrown if there is a problem canceling the command
|
||||
*/
|
||||
public abstract void cancel(String tag) throws MikrotikApiException;
|
||||
|
||||
|
||||
/** set the command timeout. The command timeout is used to time out API
|
||||
/**
|
||||
* set the command timeout. The command timeout is used to time out API
|
||||
* commands after a specific time.
|
||||
*
|
||||
* <p/>
|
||||
* Note: This is not the same as the timeout value passed in the connect() and
|
||||
* connectTLS() methods. This timeout is specific to synchronous commands, that
|
||||
* timeout is applied to opening the API socket.
|
||||
|
|
|
|||
|
|
@ -201,12 +201,8 @@ public final class ApiConnectionImpl extends ApiConnection {
|
|||
private int timeout = ApiConnection.DEFAULT_COMMAND_TIMEOUT;
|
||||
|
||||
@Override
|
||||
public void close() throws IOException {
|
||||
try {
|
||||
public void close() throws ApiConnectionException {
|
||||
disconnect();
|
||||
} catch (ApiConnectionException e) {
|
||||
throw new IOException(e.getMessage(), e.getCause());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in New Issue